За время своего еще недолгого существования ESP8266 успел мутировать во множество модификаций различных размеров и форм, обладающих разными возможностями.
Вот и сейчас из Поднебесной мне приехала платка на её основе, которую раньше не приходилось держать в руках. В чем-то интересная, в чем-то забавная. Давайте разбираться.
Эта плата имеет имя собственное: Witty. Да уж, остроумия создателям, китайской компании Gizwits, точно не занимать.
Вообще, Gizwits позиционирует себя как провайдер решений для умного дома, что бы это не означало.
Кроме всего прочего, у этой компании есть свое облако для интернета вещей, которое предполагает в том числе и удаленное управление. Соответственно, есть и поддержка некоторого количества беспроводных устройств. В том числе и ESP 8266 в таком нестандартном исполнении.
Для тех, кому лень читать, видеоверсия этого материала:
Модуль
Самое интересное в конструкции этого модуля то, что он состоит из двух отдельных плат: собственно самой платы-контроллера и вспомогательной, служащей для прошивки и общения с компьютером.
Рассмотрим их отдельно.
Сразу видно, что собран модуль на основе ESP-12. В описании указано, что используется последняя на момент выхода этого материала модель ESP-12F. Так ли это, я сказать не могу, так как визуально различить ESP-12E и ESP-12F затруднительно.
Разведены все выводы у ESP-12, причем разведены c шагом в одну десятую дюйма, что позволит без проблем монтировать его на распространённые макетки. Также на модуле установлены:
— датчик освещенности. Простой фоторезистор, подключенный к аналоговому входу через делитель;
— RGB светодиод формата SMD5050;
— кнопка, судя по всему подключенная к GPIO4.
Неочевидный момент
На ноге Vcc нашего модуля находится не 3.3В, как можно было бы предположить, а 5В. Причем идут они непосредственно от LM1117, что позволяет питать от ноги Vcc существенные нагрузки. Если же нужен 3.3В, взять их можно с ноги CH_PD.
На Нижней стороне платы мы видим:
— microUSB-разъем, использующийся для питания;
— преобразователь 1117, понижающий приходящие с microUSB 5В до рабочих 3.3В;
— обвеску для светодиодов, и датчик освещенности.
Вторая плата
Похоже, она планировалась как Shield для прошивки. На ней виден еще один microUSB-разъем, микросхема ch340 — конвертер USB-UART и кнопки, подписанные как RESET и FLASH.
Таким образом, можно предположить, что по задумке производителя вся проводная коммуникация с этим модулем должна проходить через этот Shield. Странно тогда, почему этот Shield сделан не сквозным, чтобы дать возможность посадить его непосредственно на макетку. Получается, для каждого обновления прошивки модуль придется вынимать со схемы, что не особо удобно.
Еще один сюрприз ждет нас при попытке установить данный модуль в макетку.
Модуль занимает всю ширину бредборда. Соответственно, коммутировать что-то проводами с dupont-разъемами становится затруднительно. А точнее, и вовсе невозможно. Единственное решение, которое приходит мне в голову, это соединить несколько макеток параллельно и подключать модуль сразу к обоим.
Первый запуск
С конструкцией разобрались, теперь подадим на модуль питание через microUSB платы и посмотрим, что произойдет.
Загорелся светодиод — значит, модуль работает. Удобно, не нужны никакие дополнительные блоки питания, ведь 500 миллиампер, которые выдает usb-порт, модулю должно хватить.
После запуска модуля я рассчитывал увидеть новую сеть, которую по умолчанию создают все 8266 на стандартной прошивке, но этого не произошло, новых сетей в радиусе видимости не обнаружено. Странно…
Подключившись к модулю по проводу с помощью утилиты ESPlorer (я по привычке использую его для общения с платой), получил в консоль что-то невразумительное.
Похоже — прошивка нестандартная.
Ну что ж, подключаться к китайскому облаку я не собираюсь, поэтому прошью модуль чем-то более подходящим. Например, NodeMCU.
Для этого снова собираем бутерброд из двух плат и подключаем его уже через microUSB-порт нижнего модуля.
Порадовало, что прошивка прошла успешно, без каких-либо проблем. Главное — вовремя нажать кнопку FLASH.
Помогите объяснить
Во время первых запусков(примерно 2-3 часа экспериментов) модуль существенно грелся. Экран чипа через минуту после старта был по ощущениям примерно 39-40 градусов и температура продолжала расти(через 20 мнут непрерывной работы дохолида до уровня «едва могу прикоснуться»). Стало интеесно, что будет, поэтому я оставил модуль поджариваться и занялся другими делами. Через некоторое время я потрогал модуль — он был комнатной температуры(что типично доя ESP-12) и с тех пор не греется.
У кого есть идеи, с чем это может быть связано — напишите, пожалуйста в комментариях.
Работа
Итак, модуль реагирует на команды, подключился к моему wi-fi — вроде бы все в порядке.
Что делают в первую очередь с любимым новым модулем или контроллером? Правильно! Мигают светодиодом! Не будем же и мы отступать от традиции. Разглядывая дорожки на плате и экспериментируя я установил, что для управления свечением светодиода используются следующие выходы:
GPIO12 — зеленый
GPIO13 — синий
GPIO15 — красный
Причем производитель не удосужился поставить ограничивающие резисторы различного номинала для каждого из цветов, поэтому на полной яркости красный намного тусклее остальных. Впрочем, данные выходы поддерживают ШИМ. И если это кому-то критично, он может подстроить яркость свечения самостоятельно.
Теперь черед датчика освещенности.
Как и следовало ожидать, этот датчик подключен к единственному аналоговому входу ESP-8266 — adc pin. Показания меняются в соответствии с изменениями освещенности. Вот только светочувствительный резистор, который используется в этом модуле, меняет свои параметры в весьма широком диапазоне. Поэтому при подключении его к ESP-8266 через простейший делитель, как сделано в этом модуле, датчик будет показывать освещенность лишь в узком диапазоне. Чуть темнее — 0, чуть ярче — максимум.
Выводы.
Достоинства Witty:
1. Модуль собран и готов к работе. Не нужно шаманить с подключением, гадать, хватит ли питания. Просто подключили по MicroUSB и вперед!
2. Прошивальщик в комплекте. Не нужно подключать сторонний USB-UART, выводить только лишь для прошивки специальную кнопку.
3. Встроенный датчик освещенности.
4. Размер. Более компактна, чем NodeMCU board. Хотя и занимает всю ширину макетки.
Недостатки:
1. Размер. Все-таки, хотелось бы иметь хоть один ряд отверстий в breadboard свободным.
2. Требуется демонтаж с макетки для каждой прошивки(или подключение по Tx, Rx, что убивает идею удобного подключения)
3. Светодиод запараллелен с тремя GPIO Выходами. Либо не использовать их, либо светомузыка.
Для кого она:
Я бы рекомендовал эту плату тем, кто только планирует знакомство с ESP-8266, хочет вообще понять, нужен ли ему этот контроллер. Таким образом, порог вхождения становится минимальным. Никаких шаманств с подключением, питанием и прочими капризами ESP-8266, которые у многих отбивают охоту продолжать знакомство с контроллером.
Также она будет полезна как часть набора для быстрого прототипирования(зачем, собственно, брал её я) или для устройств разового применения(сделал-поработал-разобрал)
Ссылка на магазин, где я его брал (не реклама):
ru.aliexpress.com/item/Free-Shipping-SMD-Resistor-0805-51R-5-resistor-smd-resistor-51R-5000pcs-reel-in-stock-if/1882818309.html
Автор: Celtis