За время своего еще недолгого существования ESP8266 успел мутировать во множество модификаций различных размеров и форм, обладающих разными возможностями.
Вот и сейчас из Поднебесной мне приехала платка на её основе, которую раньше не приходилось держать в руках. В чем-то интересная, в чем-то забавная. Давайте разбираться.

image

Эта плата имеет имя собственное: Witty. Да уж, остроумия создателям, китайской компании Gizwits, точно не занимать.
Вообще, Gizwits позиционирует себя как провайдер решений для умного дома, что бы это не означало.
Кроме всего прочего, у этой компании есть свое облако для интернета вещей, которое предполагает в том числе и удаленное управление. Соответственно, есть и поддержка некоторого количества беспроводных устройств. В том числе и ESP 8266 в таком нестандартном исполнении.


Для тех, кому лень читать, видеоверсия этого материала:


Модуль



image

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

Рассмотрим их отдельно.
image
Сразу видно, что собран модуль на основе ESP-12. В описании указано, что используется последняя на момент выхода этого материала модель ESP-12F. Так ли это, я сказать не могу, так как визуально различить ESP-12E и ESP-12F затруднительно.

Разведены все выводы у ESP-12, причем разведены c шагом в одну десятую дюйма, что позволит без проблем монтировать его на распространённые макетки. Также на модуле установлены:
— датчик освещенности. Простой фоторезистор, подключенный к аналоговому входу через делитель;
— RGB светодиод формата SMD5050;
— кнопка, судя по всему подключенная к GPIO4.

Неочевидный момент
На ноге Vcc нашего модуля находится не 3.3В, как можно было бы предположить, а 5В. Причем идут они непосредственно от LM1117, что позволяет питать от ноги Vcc существенные нагрузки. Если же нужен 3.3В, взять их можно с ноги CH_PD.

image

На Нижней стороне платы мы видим:
— microUSB-разъем, использующийся для питания;
— преобразователь 1117, понижающий приходящие с microUSB 5В до рабочих 3.3В;
— обвеску для светодиодов, и датчик освещенности.

Вторая плата

image

Похоже, она планировалась как 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, чуть ярче — максимум.

image

Выводы.


Достоинства 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

Комментарии (49)


  1. kAIST
    18.03.2016 17:52
    +6

    Вот такой будет поудобней

    Скрытый текст
    image


    1. Celtis
      18.03.2016 18:04

      Хм, попользовавшись обеими не стал бы утверждать, что одна из этих плат удобнее. Скорее они немного для разного применения.
      WeMos поуже, да. На макетке помещается с рядом свободных отверстий. И гребенки к нему дают сквозные, что хорошо.
      Но ни датчика освещенности, ни RGB-светодиода у него нет, равно как и кнопки Flash, весьма полезной при программировании 8266 через Arduino-IDE.


      1. ZigFisher
        18.03.2016 18:11

        Кнопка flash на WeMos не нужна — там всё подтягивается автоматом.


        1. alexpp
          18.03.2016 18:25

          Кстати аналогично она не нужна и на NodeMCU board. Вообще последняя порадовала простотой подключения — не надо шаманить с питанием, подтягиванием пинов и прочим.
          По сравнению с бутербродом из статьи — она одноэтажна, нет надобности перетыкать для прошивки. Для отладки скетчей — ее можно смело рекомендовать. Интересно стало сравнить ее с WeMos — судя по всему они аналогичны по ТТХ?


          1. Celtis
            18.03.2016 18:30
            +1

            Пожалуй, действительно стоит сделать сравнение продвинутых плат.
            Увы, NodeMCU где-то потерялись в дороге. Доедут — сделаю сравнение этой троицы, если интересно.


            1. alexpp
              18.03.2016 18:36

              Спасибо, думаю многие будут благодарны.


          1. Zharv
            19.03.2016 01:34

            Долго лежала без дела, на днях решил использовать в реальной задаче. Прикрутил к датчику цвета TCS230 настроил прирывания и словил ребуты хаотичные и очень частые. Писал через arduino ide, перед этим отлаживал на uno и все было норм. Но с nodemcu не срослось, ребут и все, причем через раз.

            В итоге психанул, достал wifimcu и пробую на ней, пишу правда уже на lua + mqtt, но уверен что там все будет хорошо.


            1. Celtis
              19.03.2016 01:35

              С прерываниями на 8266 нужно работать осторожно. Watchdog иногда более, чем загадочен.


              1. Zharv
                19.03.2016 21:40

                Да, wifimcu ведет себя похожим образом, если прерывания переваливают за 1КГц то ребутит и он. Печалька, учитывая что на уно все было просто замечательно. Ладно, полез доставать нано и паять ему ноги...


      1. kAIST
        18.03.2016 18:22

        Ну наличии фоторезистора и датчика освещенности, к плюсам я бы не относил ) Все же вещь достаточно редко используемая, а вот пины занимают. А вот кнопка Flash в принципе полезно, кстати, как она себя ведет? При подаче питания нужно все время удерживать, либо достаточно секунды-две, чтоб модуль перешел в режим прошивки?


        1. Celtis
          18.03.2016 18:27

          Достаточно нажать при подаче питания.


        1. Celtis
          18.03.2016 20:37

          На счет фоторезистора. Witty подкупила именно его наличием.

          Уже в планах на эту плату:

          • контроллер света с включением дежурного освещения с наступлением сумерек.
          • метеостанция с определением солнечно/пасмурно.
          • контроллер ролет(по соотношению температуры/яркости)
          • контроллер насосной системы(вкупе с еще одним 8266) — тут нужен светодиод для индикации состояния.

          Разумеется, все это можно сделать и на чистом ESP-07(12), но привык я сначала месяц-два обкатывать идею на прототипе, а лишь потом все запаивать в продакшн-виде. А так прототип аккуратнее выходит.


          1. kAIST
            18.03.2016 20:43

            Вот только весь модуль надо ставить там, где должен стоять этот фоторезистор, а это накладывает ограничения ) и делать еще соответствующий корпус.


    1. av0000
      18.03.2016 23:42

      Искать модель 12E/F и смотреть отзывы, я брал тут. Нормальные 4М и QIO распаяно. Синий диод (единственный) сидит на какой-то ноге GPIO (GPIO2 кажется, не помню) — может "сюрприз" выйти )) Ну или брать 07Е и почти наверняка перепаивать флеша, это если нужен SMA разъем...

      По традиции, одну "вскрыл" и понял, что "это вам не 07Е" — крышка напаяна на переходные отверстия и снять её, не оторовав дорожки, почти не реально (ну или перегреть всю плату феном, что тоже её убьёт)

      ЗЫ: про питание — чипу надо 3.0?3.6В, причём, народ жалуется, что на 3.0В может работать нестабильно. Иногда помогает тот самый конденсатор по питанию — дабы не просадить источник бросками тока.


    1. sav13
      19.03.2016 20:50

      Последнее время все заказанные модули 12F приходили с 4Мбайтами. Брал у разных продавцов.


      1. kAIST
        19.03.2016 23:33

        не путаете с мегабитами? 4 мегабита, это 512 КБ, которые как раз попадаются мне в 12F (


        1. sav13
          20.03.2016 07:50
          +1

          Смотреть нужно не мегабайты, которые прошивка возвращает, а ID чипа флэшки. В ESP они встречаются (старшие байты)
          Winbond W25Q80 512Kbyte — 0x4014
          Winbond W25Q16 2Mbyte — 0x4015
          Winbond W25Q32 4Mbyte — 0x4016
          Во все ESP07 флэш чип W25Q80, в ESP12 — W25Q32
          По крайней мере, что мне попадалось.


  1. ayurtaykin
    18.03.2016 18:03

    Заказал такой 20 часов назад.

    Пока все что напланировалось — подключить к счетчику учета воды, в счетчике как я понимаю герконы.
    Непонятно правда что делать с питанием, как esp можно автономно запитать ?


    1. kAIST
      18.03.2016 18:24

      Думаю, что то типа кроны или 3 батарейки АА + стабилизатор питания на 3.3, типа LM1117 и хватит надолго. Главное, не забыть уводить ESP в глубокий сон, вам же не так часто нужно подключаться к WiFi и выстреливать пакет данных.


      1. Celtis
        18.03.2016 18:25

        У этого уже 1117 на борту.


      1. AlterMax
        18.03.2016 22:27
        +1

        Тоже заморачивался поначалу, а потом просто запитал через конденсатор на 500 mF от двух аккумуляторов AAA Eneloop 1900mAh и получил трое суток непрерывной работы. До конца так и не посадил аккумуляторы, больше мне не надо было. Режим глубокого сна не использовался при этом…


        1. kAIST
          18.03.2016 22:42

          Трое суток маловато для автономной работы. Ну да ладно, задачи разные бывают: у меня, например, задача сейчас сделать бесперебойную работу часов на 12-14.
          Ей 2-2.6 вольт хватает от двух аккумуляторов? А конденсатор зачем?


          1. AlterMax
            19.03.2016 07:21

            Конденсатор — как буферная емкость, для для компенсации просадки напряжения при пиках потребления. Насчет трех суток — мне просто не надо было больше, я ее выключил, это был тест на стабильность. Аккумуляторы еще не разрядились к тому моменту.


    1. Celtis
      18.03.2016 18:25

      Этот — через microUSB, к примеру. От любой зарядки. А вообще, учитывая LM1117 на борту — от любого DC 4.5-15В, подключив его к Vcc, хоть от БП, хоть от батареек удобного формата(хотя это в теории, сам еще не проверял).


      1. Tirarex
        18.03.2016 20:39

        Имею Esp8266-07E, напаян на белую плату (удобна тем что уже есть резисторы и место под стаб). При питании от 12В Стаб сильно греется, но проблема в том что при отправке данных или если модуль работает в роли мини сервера, стаб греется даже от 5В!
        Советую сразу запастись импульсными преобразователями, благо стоят они копейки.

        Ну и пара полезных ссылок, сам по ним брал, проблем нет:
        Есп 07 (с разъемом для антенны) -http://ru.aliexpress.com/item/New-version-1PCS-ESP-07-ESP8266-WiFi-REMOTE-Serial-Transceiver-wireless-Module-ESP-07-UNO-ROBOT/32520995201.html
        Плата для есп -http://ru.aliexpress.com/item/Freeshiping-ESP8266-serial-WIFI-module-adapter-plate-Applies-to-ESP-07-ESP-08-ESP-12/32600308637.html
        Импульсный преобразователь — ru.aliexpress.com/item/Power-Supply-Module-Replace-LM2596s-Mini-3A-DC-DC-Converter-Adjustable-Step-down-Power-Module-Top/32578893936.html


        1. Celtis
          18.03.2016 20:42

          Не очень понял, что у Вас греется. Если 1117, то на брак похоже. У него пятикратный запас по мощности, по сравнению с пиковым потреблением 8266.


          1. av0000
            18.03.2016 23:27

            Греется-греется!

            1117 хоть и "покруче", но — тот же КРЕН — все излишки уходят в тепло… На своей самопальной плате (жду, вот, вторую версию с seeedstudio.com) я поставил мелкий импульсник с 12 на 5В (для 5В датчиков) и после уже 1117 на 3.3.

            Самопальная ЛУТ-ом деланная плата грелась до +70С при питании от 12В, пришлось запитать от USB Mikrotik-а, который её и ресетит заодно при потенциальном зависании (там ESP07 с апрельской версией ардуины, которая весьма глючила из-за SDK)


            1. Celtis
              19.03.2016 00:11

              Не поленился, пошел замерял. На 1117 намерял 40.2, на крышке ESP-07 — 26.4. Питается от 12В.
              Аптайм схемы — месяцы. 8266 постоянно онлайн, слушает и передает MQTT, причем слушает бродкаст.

              Хотя на счет преимуществ импульсников — кто ж спорит. Вот только цена и размеры на стороне 1117.


              1. av0000
                19.03.2016 01:04

                Ну, значит, у меня "неправильные пчелы"…
                В смысле — слишком "левые" 1117 или 07Е (али, вестимо). Хотя мануал нам честно говорит Pd=(Vin-Vout)*I == 1.74Вт при 0.2А потребления. Это уже довольно тепло. Да и много где (и у нас, и у буржуев) встречал рекомендацию "сделать сначала 5В"


              1. av0000
                19.03.2016 01:16

                … по поводу импульсников — мелкий на 2А размером как раз с 1117 + SMD 2512 конденсатор (1.7х1.1см). Вот цена — да, мне 1000шт 1117 обошлись примерно как 5 импульсников, если склероз не подводит...

                ЗЫ: про температуру — +70 было летом в закрытой клеммной коробке 75х75мм, так что "осетра урежу", но таки оно греется ))


          1. vvzvlad
            19.03.2016 02:23

            И? Один хрен греется, особенно если питание 12в. Радиатор ему надо, или полигон под платой


    1. ncix
      19.03.2016 10:58
      +1

      >> Непонятно правда что делать с питанием, как esp можно автономно запитать?
      2 батарейки АА прекрасно справляются. Проводил небольшое тестирование: включаемся, коонектимся к WiFi, передаем данные на сервер, получаем ответ, засыпаем глубоким сном. Двух хороших щелочных батареек хватит примерно на 10 000 таких циклов.


    1. sav13
      20.03.2016 07:57

      Я питал напрямую от лития (старые батареи от телефонов).
      При зарядке лития на ESP получается 4.2В
      При работе — 4.0В — 3.0В (Ниже можно и отключать)
      Правда большой автономности получить не удалось — слишком прожорлива ESP во время работы, слишком большое время уходит на один сеанс WiFi.
      Но автономный прибор, заряжающийся раз в месяц вполне выходит


  1. TFD
    18.03.2016 20:43
    +1

    К плюсам — нижняя часть замечательно стыкуется с так называемыми «белыми платами» и прошивают их. Удобно иметь в хозяйстве один такой модуль и дальше расширять парк модулями ESP-12 на белых переходных платках.
    Только нужно не забыть распаять стабилизатор 3.3В на белой плате.

    Белая плата — это вот это ru.aliexpress.com/item/ESP8266-serial-WIFI-module-adapter-plate-Applies-to-ESP-07-ESP-08-ESP-12/32550830541.html?ws_ab_test=searchweb201556_9,searchweb201602_5_505_506_503_504_10034_10020_502_10001_10002_10017_10005_10010_10006_10011_10003_10021_10004_10022_10009_10007_10008_10018_2020011_10019,searchweb201603_1&btsid=e0e0fdff-7077-4a8d-846b-0b4361455603


    1. Celtis
      18.03.2016 20:43

      А вот это уже идея!


    1. alexpp
      18.03.2016 23:16

      Мне не везет с "белыми". Припаиваю провода отдельно к модулю — все отлично работает. Напаиваю тот же модуль на плату (флюс — паяльная кислота) — перестает работать. Например постоянно начинает гореть синий св-д, либо же он же едва заметно светится при подключенных к земле gpio0/15, но отключенном от земли контакте GND модуля. В чем причина — непонятно, вроде контакты пропаяны надежно.


      1. av0000
        18.03.2016 23:46

        Ну, кислотой такое паять это вообще жестоко ))
        Во-первых, оно даже глицерина не любит неотмытого — если не ЛТИ, то хоть просто канифолью…
        А во-вторых, очень часто эти белые платы криво разведены — мож в этом дело?


        1. alexpp
          19.03.2016 00:35

          А что не так с кислотой?)


          1. av0000
            19.03.2016 01:08

            Помимо того, что она всё разъедает и "результат её действий" проводит ток?

            Ну, как бы, считается, что пайка агрессивным флюсом уместна только там, где есть такая необходимость (железо-нержавейка, что-то, что так просто не лудится) — отмывать и деактивировать потом хлопотно…


            1. PKav
              19.03.2016 04:35

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


  1. undersky
    19.03.2016 00:17

    А вот кто знает, подскажите пожалуйста,
    как сделать, чтобы lua файлы, готовые, заливались за одно действие вместе с заливкой nodeMcu прошивки?


    1. vvzvlad
      19.03.2016 02:24
      +1

      Считать после загрузки файлов прошивку в файл, и дальше прошивать уже ей?


      1. undersky
        19.03.2016 02:26

        Вот тоже пришла такая мысль
        Не подскажете, чем считать прошивку в файл?


        1. vvzvlad
          19.03.2016 02:27

          Ну esptool например.


  1. Nlander
    19.03.2016 03:06

    Тоже увлекся темой ESP, особенно понравилась платформа NodeMcu. Начал понемногу разбираться, и натолкнулся на сложности с обработкой некоторых датчиков. На Arduino с этим все намного проще. И тут недавно поймал новость, о том что Arduino выпускает новый контроллер MKR1000, странно, что на Geektimes еще никто о нем не написал.


    1. sav13
      20.03.2016 07:52

      Ну так бросайте LUA и переходите на Arduino IDE. Многие библиотеки нормально работают с ESP, другие уже портированы под Core ESP for Arduino IDE


  1. ZigFisher
    19.03.2016 11:16
    +1

    На самом деле всяких устройств на ESP уже очень много.
    Я вот по возможности покупаю, каждой версии по паре — на эксперименты — платы и готовые изделия.
    К сожалению, пока руки не доходят дописать комментарии для фото, но для "затравки" думаю будет интересно.


    1. ZigFisher
      19.03.2016 11:20

      Цена на готовые изделия от Itead Studio не намного отличается от платы NodeMCU или WeMos, но мы имеем законченное удобное устройство для различных сфер применения в быту, с блоком питания, в корпусе, с реле и возможностью подключения датчиков. Что еще надо для счастья ?


  1. sav13
    19.03.2016 20:52

    Вроде у этого модуля есть два транзистора на RESET и GPIO0 обеспечивающие прошивку автоматом по DTE сигналу с USB конвертера.
    У меня ни в какую автоматом не прошивается. Только после нажатия на кнопочки (((