В своей статье я обещал показать вам наше светлое будущее в техногенном окружении, цитата: «В общем, будет интересно, как говорится, оставайтесь с нами». Выполняю своё обещание и представляю беспрецедентное решение для рынка IoT за $2 на ESP8266.
Почему беспрецедентное?
Потому, что по своим ТТХ и совокупности уникальных свойств это решение не имеет аналогов. Сочетание двух интересных самих по себе технологий — Arduino Mega Server и ESP8266 даёт синергетический и кумулятивный эффект. Но не буду вас томить и сразу перейду к перечислению свойств системы. Обращаю ваше внимание на то, что речь идёт о решении за 1,7 $ в ближайшем китайском магазине.
TTX
- Модуль ESP8266, цена в Китае меньше 2-х долларов
- Микроминиатюрные размеры
- Для работы требуется только питание 3,3 В, 300 мА
- Беспроводное соединение по Wi-Fi
Сервер
- На борту полноценный Arduino Mega Server
- Модуль может содержать десятки полноценных сайтов
- Работает на стандартных веб-технологиях
- Модуль поддерживает честную интерактивную 3D графику
- Защита входа в систему парой логин/пароль
Система
- Система программируется и обновляется «по воздуху»
- Файлы сервера интерактивно редактируются и обновляются
- Есть FTP сервер для доступа к файлам
- Лёгкое подключение датчиков при помощи Arduino библиотек
Технологии
- Модули могут создавать умную сеть на nRF24
- Поддерживается стороннее оборудование типа nooLite, Laurent и т. п.
- Может служить гейтом между любыми интерфейсами
Экосистема
- Экосистема Arduino Mega Server (Arduino Mega, Due, 101 и т. д.)
- Освоив работу с AMS, вы можете работать ним на любой платформе
- Работа на D1, D1 mini, NodeMCU и чуть позже на ESP32
- Элемент стандарта OHAS (Open Home Automation Standard)
Образовательная платформа
- Система доступна в изучении, т. к. это Arduino
- Является образовательной платформой для обучения IT технологиям
- Основа для образовательных курсов для школ и обучающих центров
Коммерция
- Основа для обучающих и игровых наборов
- Платформа для DIY
- Модуль для умного дома
- Решение для рынка IoT
Свободная система
- Открытая система со свободной лицензией
- Есть сообщество энтузиастов и поддержка разработчиков
В принципе, на этом статью можно было бы заканчивать (чтобы не отнимать у вас время на покупку модулей и закачку дистрибутива), но я чуть подробнее поясню некоторые моменты.
Шедевр
Модуль ESP8266 это настоящий технологический шедевр, я много работал с Arduino Mega, Due, Genuino 101 и могу сказать, что ESP8266 очень выгодно смотрится на их фоне. Он значительно меньше по размеру, имеет большое количество оперативной памяти, а Flash память можно выбирать буквально сколько хочешь.
Если на других платах размер Flash памяти жёстко ограничен, то на ESP8266 можно заказать хоть 3 мегабайта под скетч. Весь Arduino Mega Server со всеми своими сервисами занимает меньше 300 килобайт. Представьте, какую систему можно создать, имея 3 мегабайта памяти.
Мощный процессор, обилие необходимых функций, прекрасные библиотеки — работать на этой платформе одно удовольствие. После выхода ESP32 тему выбора платформы можно будет закрыть окончательно. Характеристики этого модуля, доступные в сети, просто поражают воображение.
Недостатки
Из недостатков можно назвать только один — это небольшое число цифровых пинов и всего один аналоговый вход (привет, Малина!). Это несколько сужает сферу применения этих модулей, но для большинства случаев имеющихся выводов достаточно. В тех же случаях, когда их всё же мало, можно использовать тандем из ESP8266 и Arduino Pro Mini. На размер и цену это не сильно повлияет, но зато полностью снимет вопрос с недостатком цифровых и аналоговых пинов.
Arduino Mega Server
Сами по себе модули очень хороши, но в том виде, в котором они существуют сегодня это не очень интересный вариант (есть, конечно, исключения). Это либо AT модемы для других контроллеров, либо закрытые прошивки, либо системы с примитивным интерфейсом и несколькими веб-страницами.
На этом фоне то, что позволяет делать Arduino Mega Server, смотрится как летающая тарелка по сравнению с фанерным кукурузником.
Вы не ограничены ни чем. Дистрибутив содержит семь сайтов, вы можете добавить к ним ещё десяток или столько, сколько вам нужно. Сайты могут служить интерфейсами к системе, представлять какие либо объекты (метеостанция, охранная система, ваш любимый кактус и т. п.), содержать (интерактивную) документацию и т. д. и т. п.
3D миры на ESP8266
Особо хотелось бы отметить 3D технологии на ESP8266. Иначе, как революцией это не назовёшь. Модуль размером с почтовую марку позволяет создавать огромное количество страниц, содержащих 3D графику. Это могут быть интерактивные иллюстрации, примеры опытов и занятий для школьников и даже 3D миры.
Причём, в отличие от абстрактных игр, эта система работает с 3D объектами, привязанными к реальному миру и вид этих объектов и их поведение может определяться параметрами и событиями в реальном мире.
Например, опыты для детей по подключению датчиков из рутинных можно превратить в занимательную игру, когда 3D объекты будут менять свой размер и цвет в зависимости от температуры или расстояния до реального объекта и т. п. Ваш модуль может содержать тысячи интерактивных опытов и занятий.
Кроме того, все модули связаны в сеть и могут обмениваться данными и командами и отображать состояние сети целиком или отдельных её частей в 3D пространстве и т. д. и т. п. В общем, это не что иное, как новый тип интерфейса, который… в демо режиме уже присутствует в дистрибутиве AMS.
Пару слов скажу об интересном психологическом эффекте, с которым я столкнулся. 3D графика в Arduino Mega Server существует уже некоторое время и появилась уже некоторая статистика о том, как на неё реагируют люди. Обычно это происходит так: человек, который увидел 3D демо в интерфейсе Arduino Mega Server в первый раз, впадает в ступор, некоторое время «зависает», пытаясь собрать обратно порванный шаблон восприятия и через некоторое время восклицает: «Но ведь крутится она не в контроллере!».
Конечно не в контроллере! Но «фишка» не в том, где она крутится, а в том, что она вообще крутится и в том, что ваш микромодуль ESP8266 (который раньше только, образно говоря, «мигал светодиодами») может содержать тысячи интерактивных 3D примеров и заданий для игр и обучения (и прочих нужд).
Работа с системой
Больше всего меня поразило в работе с системой, что один раз залив в неё прошивку, её можно… буквально замуровать в стену (не забыв только подвести питание). Весь процесс не только работы, но и собственно разработки происходит «по воздуху», без физического доступа к модулю. Через неделю я вообще забыл, где он находится. Никаких «притяните вывод к земле» и т. п. глупостей. Всё делается кликами мышки на компьютере, чинно и благородно.
Экосистема
Проект растёт и на данный момент Arduino Mega Server работает уже на Arduino Mega, Arduino Due, Genuino 101, плата Arduino Pro Mini используется в качестве основы nRF24 умных датчиков, теперь AMS работает на ESP8266 и WeMos D1 mini в ближайшее время будет портирован на D1, NodeMCU и, чуть позже, на ESP32.
Также в стек технологий Arduino Mega Server входит стандарт OHAS и умные сети на nRF24, поддержка которых уже есть в дистрибутивах 0.15 версии для Arduino Mega и Arduino Due. Следующим шагом в этом направлении будет реализация концепции AMS Organism, но об этом я расскажу вам как-нибудь в другой раз.
Дистрибутив
Несмотря на то, что дистрибутив представляет собой первую тестовую сборку для платформы ESP8266, он прекрасно работает, нет никаких зависаний или перезагрузок, интерфейс откликается быстро и вообще система оставляет очень приятное впечатление.
Есть, конечно, некоторые детские болезни, но для первой сборки это вполне нормально.
Заключение
В этой статье я перечислил только малую толику возможностей, которые предоставляет дистрибутив AMS для ESP8266 и стек технологий Arduino Mega Server в целом, но вы можете легко восполнить этот пробел просто скачав дистрибутив и купив модуль ESP8266 за 1,7 $ в Китае или за 400 рублей в России, в ближайшем DIY магазине.
И открыть для себя новый и удивительный мир технологий Arduino Mega Server. И, как обычно, оставайтесь с нами будет (очень) интересно.
Демонстрационное видео, иллюстрирующее реальную работу интерфейса и 3D графику на ESP8266.
Update
Развитие проекта идёт очень быстро и за два дня после выхода статьи произошло два знаменательных события:
1. Выложена документация по работе AMS на платформе ESP8266 — подключение, установка, запуск, приёмы работы и т. д.
hi-lab.ru/arduino-mega-server/documentation/esp8266
2. Сформирована версия AMS для работы на модулях ESP-01 со всего одним мегабайтом памяти. Это значит, что вы можете достать свои пылящиеся и (почти) бесполезные модули ESP-01 и сделать из них беспроводные супер-станции.
Дистрибутив Arduino Mega Server для ESP-01 в ближайшие дни появится на официальном сайте в разделе «Загрузка».
hi-lab.ru/arduino-mega-server/details/download