Создаём прошивку для модуля ESP8266.Итак, для создания прошивки нам первым делом необходимо зарегистрироваться в личном кабинете
http://esp8266.homes-smart.ru/.
Перед нами откроется окно с возможностью выбора необходимых функций, подобное этому:
На текущий момент времени (9 июля 2015г.) в конструкторе можно собрать прошивку версии 0.1.1b.
Прошивка каждый день дорабатывается и улучшается, поэтому прошивка данной версии сегодня будет с несколько иным функционалом чем вчера.
Давайте разберем возможности функционала текущей версии прошивки и посмотрим, какие именно функции можно использовать в связке с Системой Бенукс.
Датчики:- Внутренний ADC (АЦП) - Встроенный АЦП. Опорное напряжение 1.024 вольта. АЦП можно применять для любых аналоговых датчиков. АЦП выведен не на всех версиях плат, а только на ESP-7, ESP-12 и еще возможно на некоторых.. Обозначается как ADC.
Может работать в Системе Бенукс как аналоговый датчик;
- LM75 - Датчик температуры, подключаемый по шине I2C.
Может работать в Системе Бенукс как температурный датчик;
- INA219 - Цифровой датчик тока и напряжения, подключаемый по шине I2C.
Может работать в Системе Бенукс как аналоговый датчик;
- DS1621 - Датчик температуры, подключаемый по шине I2C.
Может работать в Системе Бенукс как температурный датчик;
- DHT 11/22 - Датчик температуры и влажности.
Может работать в Системе Бенукс как температурный и аналоговый датчики;
- BMP 085/180 - Датчик давления и температуры.
Может работать в Системе Бенукс как температурный и аналоговый датчики;
- BH1750 - Цифровой датчик освещенности, подключаемый по шине I2C.
Может работать в Системе Бенукс как аналоговый датчик;
- AM2321 - Датчик температуры и влажности, подключаемый по шине I2C.
Может работать в Системе Бенукс как температурный и аналоговый датчики;
- 1-wire DS18B20 - Поддержка шины 1-wire для всех типов датчиков температуры DS18B20, DS1820, DS18S20. К модулю можно подсоединить не более 10 датчиков.
Может работать в Системе Бенукс как температурный датчик.
- BME280 - Три в одном: Датчик давления, влажности, температуры, подключается по I2C. Новейший датчик от фирмы BOSH.
Может работать в Системе Бенукс как 3 аналоговых датчика;
- SHT21/SI7021 - Датчик температуры и влажности, подключаемый по шине I2C.
Может работать в Системе Бенукс как температурный и аналоговый датчики.
Сервисы:Данный функционал конструктора с точки зрения работы модуля ESP8266 только в составе Системы Бенукс не актуален, поэтому подробно рассматривать его не имеет смысла. В этом случае имеет смысл
отключить все галочки данного раздела. Если вы хотите отсылать данные так же на другие сервисы, то поставьте необходимые галочки.
Железо:- Двухцветный дисплей OLED 128x64 - OLED экран SSD1306 128x64. Адрес экрана должен быть 0x3С.
Может работать с Системой Бенукс для вывода информации на экран.
Может работать в двух режимах: 1. Вывод 4-х строк информации по 15-ть символов в строке; 2. Вывод 8-ми строк информации по 21 символу в строке. Бенукс поддерживает вывод информации на латинице, кириллице и транслите, управляет подсветкой дисплея;
- Дисплей LCD 1602/1604/2004 - LED экран 2-х или 4-х строчный.
Может работать с Системой Бенукс для вывода информации на экран. Может выводить в зависимости от модели дисплея 2 строки (LCD 1602) или 4 строки (LCD 1604/2004) текста до 16-ти символов в строке. Бенукс поддерживает вывод информации на латинице и транслите, управляет подсветкой дисплея;
- Внешний АЦП/ЦАП PCF8591 - Микросхема с 4 АЦП и 1 ЦАП.
Может работать в Системе Бенукс с 4-мя каналами АЦП и 1 каналом ЦАП.;
- Внешний GPIO PCF8574 - микросхема с внешними GPIO на 8 портов.
Может работать с Системой Бенукс как 8 каналов управления. К одному модулю ESP8266 можно подключить до 8-ми таких микросхем (при использовании разных аппаратных адресов I2C) и таким образом расширить функционал до 64-х каналов управления ;
- Внешний GPIO MCP23017 - микросхема с внешними GPIO на 16 портов. Может использоваться как для подключения сенсоров так и в качестве устройства управления.
Может работать с Системой Бенукс как для подключения сенсоров так и в качестве устройства управления. Ввод/вывод можно настроить в любом количестве но не больше 16-ти.
- RCswitch передатчик 433/315 - Поддержка управления устройствами по радиоканалу 433/315 MHz. При работе с Системой Бенукс на данный момент времени не актуально.
Отключите данную функцию;
- IR передатчик - Поддержка управления устройствами через ИК порт. При работе с Системой Бенукс на данный момент не актуально.
Отключите данную функцию;
- FM радио TEA5767 - Поддержка управление радиоприемником TEA5767. При работе с Системой Бенукс на данный момент не актуально.
Отключите данную функцию;
- Часы DS1307 - Внешние часы DS1307. При работе только с Системой Бенукс не актуально.
Отключите данную функцию;
- Часы DS3231 - Внешние часы DS3231. При работе только с Системой Бенукс не актуально.
Отключите данную функцию;
- Livolo - Управление выключателями фирмы Livolo. При работе с Системой Бенукс не актуально.
Отключите данную функцию;
Системные:- Управление питанием WI-FI - Позволяет управлять режимом питания WI-FI. Без установки этого модуля и по умолчанию включен режим Modem. Доступные режимы: Disable, LIGHT, MODEM. Disable может увеличить пробиваемость расстояния. Желательно
включить данную функцию, выбирите режим Disable;
- Спящий режим - Спящий режим модуля. При работе в составе Системы Бенукс не актуален.
Отключите данную функцию;
- Сбрасываемый счетчик - Сбрасываемый счетчик импульсов. Происходит сброс счетчика после каждой успешной отправки на сервера. При работе в составе Системы Бенукс не актуален.
Отключите данную функцию;
- Работа с прерываниями - Необходим для работы с датчиком движения (функция Active send), счетчиков воды и электроэнергии (функция Counter). Функция Key позволяет управлять включением или выключением отдельного GPIO, указанного в поле GPIO For Key. Если вы хотите использовать счетчик импульсов или включать устройство с кнопки по месту установки при интеграции модуля в Систему Бенукс то включите данную функцию.
Может работать в Системе Бенукс как счетчик импульсов;
- Программный PWM (ШИМ) - Управление тремя каналами PWM (ШИМ).
Может работать в Системе Бенукс как 3 канала управления ШИМ;
- Поддержка flash 1mb - Поддержка flash 1 мегабайт и выше. Только для OTA! В модулях новых моделей ESP-12 (E) позволяет использовать память 1мб. Не рекомендую использовать данную опцию и нагружать ESP8266 лишней нагрузкой.
Используйте данную функцию только
в крайних случаях!;
- Обновление через интернет (OTA) - Возможность обновлять прошивку через интернет.
Можно включить данную функцию для обеспечения возможности обновления прошивки через интернет (если ваш модуль ESP8266 подключен к сети интернет). При выборе данной функции возможность увеличения функционала прошивки резко ограничивается! Используйте данную функцию с осторожностью!;
- Время и NTP - Сервис, при наличии подключения к сети интернет обновляет текущее время в модуле ESP8266. При работе только с Системой Бенукс не актуально.
Можете отключить данную функцию при желании;
- I2C через GET - управление устройствами по GET-запросам, подключенными к модулю и работающими по I2C протоколу. При работе с Системой Бенукс на данный момент не актуально.
Отключите данную функцию;
- I2C сканер - Служит для отладки и поиска I2C устройств, подключенных к модулю.
Включите эту функцию.
- GPIO - Поддержка GPIO. Чтение GPIO и управление реле.
Может работать в Системе Бенукс как цифровой датчик на управление или чтение состояния входов. Включите эту функцию если хотите управлять устройствами или подключать дискретные датчики к модулю с выводом информации в Систему Бенукс;
- Простой telnet сервер - Простой telnet сервер. Вывод значений датчиков на TCP сервере на порту 23. При работе с Системой Бенукс не актуально.
Можете отключить данную функцию;
- Чтение GET запросом датчиков - Чтение значений датчиков GET-запросом. При работе с Системой Бенукс
обязательно включите данную функцию!;
- Планировщик - Управление по времени GPIO. Включение/выключение GPIO или установка ШИМ на определенное значение. При работе только с Системой Бенукс
не актуально. При работе паралельно с Системой Бенукс
могут возникнуть коллизии, используйте с особой осторожностью!
- Термостат - Управление состоянием GPIO по температуре, влажности, освещенности или уровня АЦП. При работе только с Системой Бенукс
не актуально. При работе паралельно с Системой Бенукс
могут возникнуть коллизии, используйте с особой осторожностью!
- Поддержка календаря - Поддержка дней недели для планировщика заданий. При работе только с Системой Бенукс не актуально.
Выключите данную функцию.;
- Ручная установка времени - Ручная установка времени. Актуально при отсутствии интернета и использовании внешних часов. При работе только с Системой Бенукс не актуально.
Выключите данную функцию.
Бета тест:В этом разделе весь функционал находится в стадии разработки, поэтому без лишней необходимости задействовать его не рекомендуется! Единственное на что нужно обратить внимание это пункт "Русские символы OLED".
Установите его если хотите включить поддержку кириллицы для вывода на OLED дисплей. В противном случае имеет смысл
отключить все галочки данного раздела.
После того, как Вы определитесь с нужным для конкретного модуля функционалом нажмите кнопку "Создать прошивку" и через пару секунд увидите ссылки на скомпилированную конструктором прошивку.Тут возможны два варианта:
Вариант 1. При компиляции прошивки в настройках конструктора стоит галочка "Обновление через интернет (OTA)".
В этом случае размер скомпилированной прошивки не должен превышать 236кБ. Если Вы включили слишком много функционала и размер прошивки превысит 236кБ то Вы увидите сообщение об ошибке. В этом случае нужно убрать лишний функционал либо отключить галочку "Обновление через интернет (OTA).
В итоге у Вас сгенерируются ссылки на 3 файла прошивки:
- 0x00000.bin;
- 0x01000.bin;
- 0x41000.bin
Нам потребуются 2 файла: 0x00000.bin
(boot.bin) и 0x01000.bin
(user1.bin). Их нужно будет "залить" соответственно по адресам 0x00000 и 0x01000.
В случае если по каким-либо причинам после перепрошивки модуль не будет стартовать, то Вам потребуется файл 0x41000.bin
(user2.bin), который необходимо будет прошить по адресу 0x41000
Так же можно скачать файл прошивки одним файлом. Он заменяет все эти 3 файла.
Вариант 2. При компиляции прошивки в настройках конструктора
не стоит галочка "Обновление через интернет (OTA)".
В этом случае скомпилируются два файла прошивки
0x00000.bin и
0x40000.bin.
Так же Вы увидите ссылку для скачивания прошивки одним файлом.
Поздравляю Вас!
Вы создали прошивку и теперь осталось прошить ею Ваш модуль!