Умная электроника

Сайт для гиков! Электроника, программирование и 3D печать

ESP8266 – путь в Интернет вещей. Часть 3

Просмотров: 525Комментарии: 0
IoTЭлектроника
ESP8266 – путь в Интернет вещей. Часть 3

В прошлой статье я описал как управлять модулем при помощи AT команд. Но для такого способа управления необходимо использование дополнительного контроллерного модуля. Благодаря наличию на борту ESP8266 полноценного контроллера, он может работать автономно. Что это дает?

Во-первых, мы можем снизить энергопотребление убрав лишний контроллер и используя режим глубокого сна модуля. Во-вторых, миниатюрное исполнение модуля позволяет изготовить удобный и малогабаритный корпус для своего устройства.

Для автономного использования модуля есть 2 пути. Первый, и наиболее простой для разработчика, - установка альтернативной прошивки, позволяющей исполнять пользовательские скрипты. Данный способ аналогичен экспериментам с различными wi-fi роутерами, перепрошивка которых превращает их в Linux компьютеры. Второй способ более сложный – это корректировка исходников оригинальной прошивки под свои нужды и компиляция (сборка) прошивки.

Недостатки первого способа очевидны: непредсказуемое поведение прошивки, созданной сторонним разработчиком, отсутствие понимания логики работы, различные баги, прекращение обновления и техподдержки в любой момент. Конечно, для устройств серийного производства такой способ не подходит, а для домашнего использования вполне подойдет.

Начнем повествование с первого способа. После длительного серфинга в Интернет мое внимание привлекла прошивка NodeMcu. https://github.com/4refr0nt/luatool Она позволяет заливать пользовательские скрипты на набирающем популярность скриптовом языке Lua. http://habrahabr.ru/post/229269/. Функционал впечатляет: работа как полноценный wifi клиент или как точка доступа, управление GPIO, управление файловой структурой во флеш памяти, управлять пользовательским таймером, управлять режимом глубокого сна, WathDog, АЦП, ШИМ, Web Serwer. Многие из этих функций не поддерживаются в АТ командах.

Полный список команд и функций. https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en

Продолжение следует...