Что это?
Отладочная плата ESP8266 Iuppiter обеспечит универсальную среду для программирования и экспериментирования. Это плата с микроконтроллером ESP8266, который имеет на борту WiFi-передатчик. Микроконтроллер может подключаться к WiFi-сетям, соединяться с внешними серверами или другими микроконтроллерами, отправлять на них данные и получать от них команды. ESP8266 имеет внутреннюю память и производительный процессор с частотой 80 МГц.
ESP8266 – это отличный выбор для прототипирования и созданий устройств «интернета вещей» и DIY-автоматизации. Как известно, ESP8266 для DIY проектов изначально поставляется в виде сборок, где на печатной плате расположен контроллер, микросхема памяти и некоторое количество резисторов и конденсаторов. К сожалению, ими нельзя пользоваться без дополнительной обвязки: например, популярная сборка ESP12F требует, как минимум, стабилизатора питания 3.3 В и трех подтягивающих резисторов.
Кроме этого, для удобной разработки и отладки желателен конвертер интерфейсов USB-TTL UART и светодиод для индикации. И конечно внешние разъёмы для подключения внешних блоков и конвертера интерфейсов. Таким образом, купив ESP-12F вы не сможете сразу что-то сделать: вам придется собрать схему на макетке или сделать собственную плату.
Чтобы облегчить жизнь разработчикам и отладить процесс DIY-автоматизации или создания «интернета вещей» и был задуман проект «Iuppiter». Так к вам в руки попадает плата, которая сочетает в себе возможность «быстрого старта», удобна для разработки и отладки и включает в себя все возможности микроконтроллера ESP8266.
Дизайн
Iuppiter –это компактная плата со всей обвязкой и стабилизтором.
На плате есть кнопка для перезагрузки/перепрошивки, трехцветный светодиод для индикации режимов или отладки.
Плата имеет два разъема: для программирования и для подключения периферии. Разъем для программирования поддерживает автоматический сброс при программировании.
Как это работает?
Для работы с платой подключите конвертер USB-UART к компьютеру, установите драйвера, запустите любую из сред разработки на ваш выбор и начните писать программу. Для быстрого старта не надо паять или разбираться с подключением. В комплекте идет макетная плата с USB-разьемом (только для питания) и одним силовым выходом (MOFFET до 4А, защита от обратного тока), который позволяет подключать реле или двигатель.
При написании программ для ESP8266 часть процессорного времени тратится на обслуживание радио-тракта и поддержку соединения WiFi. Поэтому не всегда возможно использовать ESP8266 в задачах критичных к реальному времени или занимающих процессор на длительное время. При программировании на LUA скорость выполнения снижается еще больше, усложняя работу с такими задачами как генерация ШИМ-импульсов или работа с низкоуровневыми протоколами.
К зависаниям ESP8266 могут привести плохое качество питания, ошибки в программе, плохое качество интернета или внешние помехи. Исправить эти проблемы можно, если настроить внешний контроллер перезагружать ESP, если от него нет ответа в течение некоторого времени. Такой тип использования называется сторожевой таймер,или Watchdog («Сторожевая собака») и позволяет проектировать отказоустойчивые устройства.
Внешний микроконтроллер представляет собой Atmega8/168 и программируется из среды Wiring/Arduino, BascomAVR, Atmel Studio или AVR GCC. На сайте проекта доступны исходные коды Watchdog для среды Wiring/Arduino.
Вообще, программирование возможно в любых средах: Lua, Wiring/Arduino, Sming, C, Python. ESP8266 позволяет писать программы на множестве языков: от стандартного С, например, на основе Espressif SDK, Sming, Wiring, до высокоуровневых интерпретируемых языках Lua/Nodemcu, Python, JS, BASIC.
Важной особенностью является то, что вам не придется самостоятельно писать сетевой стек для работы ваших программ – для большинства применений хватит стандартных функций, реализующих TCP, HTTP (включая простую реализацию SSL), MQTT, JSON, SNTP и т.д.
На плате расположены подтягивающие резисторы и малопотребляющий стабилизатор на 3.3 В для питания ESP8266. Плату можно питать диапазоном напряжений от 8 до 2.3 В. Iuppiter может работать от двух батареек 1.5 В без дополнительных стабилизаторов или от любого блока питания 5 В.
Ссылки для программирования на разных языках
Стандартный С на основе:
Espressif SDK, ссылка: https://espressif.com/en/support/download/sdks-demos
Sming, ссылка: https://github.com/SmingHub/Sming
Wiring, ссылка: https://github.com/esp8266/Arduino
Высокоуровневые интерпретируемые языки:
Lua/Nodemcu, ссылка: https://github.com/nodemcu/nodemcu-firmware
Python, ссылка: https://github.com/micropython/micropython/tree/master/esp8266
JS, ссылка: https://mongoose-iot.com
BASIC, ссылка: https://www.esp8266basic.com