Источник

Добрый день.

Я уже очень давно не рассказывал о своем проекте FLProg. Последний пост был ещё на Geektimes.
Пора исправить это безобразие. С этого поста я начинаю серию уроков по использованию новых возможностей программы.

Если Вы не знакомы с проектом, можно посмотреть его историю в блоге.

Сейчас на сайте программы ведётся тестирование предрелизовой версии с номером 3.1.4. Начиная с версии 3.1, в программе появилась поддержка контроллеров ESP8266 как полноценного контроллера.

Для тех, кто не знаком с этими контроллерами небольшое описание
ESP8266 создан для использования в умных розетках, mesh-сетях, IP-камерах, беспроводных сенсорах, носимой электронике и так далее. Одним словом, 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

Энергопотребление — одна из самых важных характеристик решения, претендующего стать мозгом миллиардов устройств Интернета вещей. С чем связана популярность BLE и различных собственных реализаций радио интерфейсов? Ведь, в конечном счете, все устройства на базе этих реализаций все равно стремятся попасть в обычный Wi-Fi с помощью специальных устройств-мостов.

Секрет прост — сложно создать устройство, подключенное к 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, и на сегодняшний день там около сотни видео уроков по программе.

Вот последнее видео, как раз о создании часов с синхронизацией через интернет.

Комментарии (6)


  1. seri0shka
    02.09.2018 00:27

    Давно хотел попробовать ESP8266 именно в качестве контроллера, но пока не нашёл ему достойной задачи. Понял, что не то купил, когда начал сравнивать характеристики купленного мной ESP8266 версия ESP-01 с остальными из серии. Ну поигрался, конечно.
    Всеми своими достижениями в покорении Arduino и контроллеров обязан именно FLProg. Спасибо!


  1. mihnik
    02.09.2018 05:33

    MQTT не планируете прикрутить? Без него в домашней автоматизации грустно...


    1. totuin Автор
      02.09.2018 05:35

      Да планирую. Потихоньку изучаю, но вообще ребята на форуме уже давно написали пользовательские блоки, и прекрасно работают с MQTT из среды FLProg


  1. FGV
    02.09.2018 19:37

    Да, но стоит вчитаться в даташит и начинаешь понимать перспективы решения. ESP8266 потребляет около 60uA в режиме глубокого сна (с работающими часами реального времени)…

    у 8266 есть часы реального времени? по даташиту в режиме глубокого сна 10мкА кушает сама есп, откуда 60мкА вобще взялось?


  1. sav1812
    03.09.2018 00:13

    у 8266 есть часы реального времени?

    Из datasheet на ESP8266EX:
    3.4. Radio
    ESP8266EX radio consists of the following blocks.
    • 2.4 GHz receiver
    • 2.4 GHz transmitter
    • High speed clock generators and crystal oscillator
    • Real time clock
    • Bias and regulators
    • Power management

    Н оя не берусь утверждать, чт оименно этот чип стоит во всех модификациях.
    по даташиту в режиме глубокого сна 10мкА кушает сама есп, откуда 60мкА вобще взялось?

    Возможно, (и скорее всего) это затраты на обработку прерываний от часов.


    1. FGV
      03.09.2018 03:48

      • Real time clock

      это не часы, а отдельный тактовый генератор + счетчик (для побудки проца).