Источник
Добрый день.
Я уже очень давно не рассказывал о своем проекте FLProg. Последний пост был ещё на GeekTime.
Пора исправить это безобразие. С этого поста я начинаю серию уроков по использованию новых возможностей программы.
Если Вы не знакомы с проектом, можно посмотреть его историю в блоге.
Сейчас на сайте программы ведётся тестирование предрелизовой версии с номером 3.1.4. Начиная с версии 3.1, в программе появилась поддержка контроллеров ESP8266 как полноценного контроллера.
Предусмотрено два варианта использования чипа:
1) в виде моста UART-WIFI, когда модуль на базе ESP8266 подключается к существующему решению на базе любого другого микроконтроллера и управляется AT-командами, обеспечивая связь решения с инфраструктурой Wi-Fi;
2) реализуя новое решение, использующее сам чип ESP8266 в качестве управляющего микроконтроллера.
Первый сценарий был реализован в проекте FLProg достаточно давно. Реализуется он с помощью любого из недорогих китайских ESP8266-модулей. Хорошо подходит любителям ардуино и тем, у кого уже есть в руках готовая схематика и отлаженная прошивка на базе чего-то своего, горячо любимого.
Второй вариант сценария предусматривает написание индивидуальной прошивки для управления чипом «изнутри». (До выхода FLProg 3.1 прошивка должна быть написана для фирменного компилятора. Начиная с этой версии, появилась возможность писать прошивки на языках FBD и LAD в среде FLProg).
Сценарий использования чипа в качестве управляющего микроконтроллера интересен тем, что позволяет создать устройства, действительно небольшие и реально долго работающие от батарей. Для работы с периферией на борту ESP8266 есть все необходимые возможности.
Ключевые характеристики
Чип ESP8266 является одним из самых высокоинтегрированных решений для работы с WiFi. Внутри чипа уместилась куча всего того, что в конкурирующих решениях часто является частью внешней обвязки:
В итоге типовая обвязка чипа состоит всего из нескольких элементов. Меньше элементов = меньше цена компонентов, меньше стоимость пайки, меньше площадь размещения, меньше стоимость печатной платы. Что прекрасно подтверждается актуальными ценами модулей на базе героя нашего сегодняшнего обзора.
Управляет всем этим интегрированным хозяйством расширенная версия 32-битного процессора Tensilica’s L106 Diamond series. Что же интересного внутри?
• 802.11 b/g/n protocol
• Wi-Fi Direct (P2P), soft-AP
• Integrated TCP/IP protocol stack
• Integrated TR switch, balun, LNA, power amplifier and matching network
• Integrated PLL, regulators, and power management units
• +20.5dBm output power in 802.11b mode
• Supports antenna diversity
• Power down leakage current of < 10uA
• SDIO 2.0, SPI, UART
• STBC, 1x1 MIMO, 2x1 MIMO
• A-MPDU & A-MSDU aggregation & 0.4μs guard interval
• Wake up and transmit packets in < 22ms
• Standby power consumption of < 1.0mW (DTIM3)
Ultra Low Power Technology
Энергопотребление — одна из самых важных характеристик решения, претендующего стать
Секрет прост — сложно создать устройство, подключенное к WiFi, достаточное время, работающее на автономном питании. Потребители не готовы менять батареи в датчиках каждые два-три месяца. Поэтому «выход в сеть» приходилось обеспечивать мостами, подключенным к постоянному электричеству. ESP8266 должен решить эту проблему. Теперь Wi-Fi можно использовать даже в автономных датчиках, работающих на небольших батареях. Благодаря использованию продвинутых механизмов управления энергопотреблением решения.
Если бегло посмотреть на характеристики потребления чипа, можно остаться в неведении. 215mA в режиме передачи — ничего особенного? Да, но стоит вчитаться в даташит и начинаешь понимать перспективы решения. ESP8266 потребляет около 60uA в режиме глубокого сна (с работающими часами реального времени) и меньше 1.0mA (DTIM=3) или меньше 0.5mA (DTIM=10) в режиме поддержания
В программе реализована поддержка большинства из существующих плат на основе контроллера ESP8266
Кроме того при выборе контроллера ESP8266 появляются новые блоки специфичные именно для него.
В виду наличия на борту контроллера WiFi так же изменяется и дерево проекта.
Во первых, как и для всех контроллеров есть ветки управления защитой от зависания, и памятью EEPROM
Далее идут уже более специфические настройки.
Настройка клиента WiFi и точки доступа (возможна их одновременная работа).
Настройка режима беспроводного обновления (пока только Arduino OTA, но в планах реализация и обновления через браузер и автоматическая загрузка прошивок с сервера обновлений)
Реализована возможность создания веб интерфейса настройки контроллера. Можно создать неограниченное количество страниц настроек, с необходимым количеством параметров. В качестве параметров используются как стандартные системные параметры контроллера (см. скриншоты выше), так и любое количество пользовательских, используемых для связи между прошивкой и интерфейсом настройки. Ко всем страницам (кроме главной), а так же отдельным параметрам можно задать доступ только определённым пользователям (количество создаваемых пользователей не ограниченно).
Ну и конечно, как и для ардуино реализована поддержка протоколов обмена Modbus RTU, Modbus TCP и Modbus RTU over TCP.
Так же реализован режим моста между Modbus RTU и Modbus TCP
В общем, я постарался максимально использовать возможности этого замечательного контроллера. Что то удалось.
Данный пост является обзорным, и стартовым в серии, а в следующем мы рассмотрим создание веб интерфейса настроек, и получение времени с серверов точного времени.
Проект FLProg является некоммерческим проектом, и скачать программу Вы можете с сайта проекта как говорится «бесплатно и без СМС». Никаких ограничений в программе нет. Версии представлены для ОС Windows и OC Linux.
P.S.
После многочисленных жалоб на мою дикцию и способ подачи материала, я отказался от идеи записи видео уроков (не даны мне преподавательские и дикторские таланты).
Но на помощь мне пришёл один из пользователей программы.
Хочу представить Вам канал “Arduino Prom” и сайт “Arduino Prom”. Они полностью посвящены проекту FLProg, и на сегодняшний день там около сотни видео уроков по программе.
Вот последнее видео, как раз о создании часов с синхронизацией через интернет.
Автор: totuin