Gpio esp8266: eadf/esp8266_easygpio: An easy way of setting up esp8266 GPIO pins
WiFi-IoT Firmware Builder :: GPIO
ESP8266 имеет 15 полноценных GPIO выходов, 6 из которых заняты микросхемой flash памяти.
При этом GPIO 0,1,2,3,15 имеют системные функции и имеют ограничения при использовании — не рекомендуется их использовать для сухого контакта, кнопок, прерываний (хотя в некоторых случаях работать будет).
Для штатной работы модуля ESP8266 GPIO 0 и 2 не должны быть подтянуты к минусу, а 1 к плюсу при старте модуля.
GPIO 15 для старта должен быть подтянут к минусу через резистор 10 кОм. GPIO 1 — TX. GPIO 3 — RXD.
GPIO16 используется только для режима OUTPUT (выход). Подключение датчиков и других устройств к этому выводу невозможно!!!
Карта GPIO модуля
GPIO | Описание |
0-5,12-16 | GPIO самого модуля |
6 | GPIO занят под flash память, но используется как установочный |
7-11 | GPIO заняты под flash память |
20-119 | VGPIO удаленных модулях (только управление) |
120, 121 | GPIO SONOFF DUAL |
120-135 | Управление силовыми модулями NooLite |
140-149 | Remap gpio RCswitch 433/315 |
150-160 | Управление интернет радио (только для ESP32) |
161-169 | Отправка sms/email шаблонов |
180-187 | MPR121 |
188 | Вывод на матрицы первой строки конструктора строк. |
189 | Событие исходящего звонка у GSM модуля |
190-193 | Произношение фраз и времени через MP3 UART |
194-197 | Управление Stepper |
198 | Вызывает событие старта бегущей строки LED дисплеев |
199 | Управление подсветкой дисплеев LCD и OLED |
200-215 | Ремап MCP23017 |
219 | on/off Nextion |
220-227 | Ремап PCF8574 |
230-245 | Ремап 74HC595 |
Настройка встроенных GPIO
На вкладке GPIO можно установить назначение выводов: Можно выбрать как INPUT (для сухого контакта) так и OUTPUT, INVERT OUTPUT (для реле, управляемые по минусу). Состояние INPUT у GPIO можно отследить на страничке http://[ip адрес]/gpioprintinput , в MQTT, а так же на серверах narodmon, flymon.net, MajorDoMo. Аналогично можно посмотреть состояние GPIO и для режима OUTPUT на вкладке http://[ip адрес]/gpioprint .
Управлять состоянием gpio можно командой вида ip адрес/gpio?st=1&pin=12 — этим Вы установите на GPIO12 логическую 1. При установке &st=2 будет происходить инвертирование GPIO. Если дописать к команде &flash=1 ,то настройка запишется в энергонезависимую память. &click=10 — инвертирует состояние через 2 секунды. Например ip адрес/gpio?st=1&pin=5&click=10 включит GPIO5 на 10 секунд. &mclick — аналогично в миллисекундах.
GET запросы на данные адреса модуля требует ввод логина/пароля, если включена опция «Full Security«.
При подключении устройств, датчиков на данной вкладке настройка этих GPIO не требуется.
Обратите внимание, что на некоторых китайских модулях GPIO4 и 5 могут быть перепутаны.
Сохранение состояния GPIO в энергонезависимую память
Кроме опции &flash=1 в GET запросе доступно сохранение состояния GPIO на постоянной основе из всех функций модуля через настройку на вкладке GPIO. Для этого необходимо выбрать соответствующий GPIO, указать его режим и установить опцию flash, рядом в списке с GPIO появится метка F.
Крайне не рекомендуется включать режим flash для GPIO используемых для активных изменений состояния например в термостате или опции logic во избежания быстрого износа flash памяти модуля.
Настройка VGPIO
При установке данного модуля на вкладке VGPIO можно настроить назначение GPIO, расположенных на других ESP8266 находящихся в данной локальной сети. Необходимо указать последнюю цифру IP адреса. Например локальный номер GPIO 21 будет соотвествовать удаленному GPIO 1 находящийся на модуле с IP адресом 192.168.1.154 на (см.скриншот).
Управление данными VGPIO поддерживается из модуля планировщика заданий, термостата, логического модуля, IR управления, а так же у функции KEY(прерывания). Назначить VGPIO для подключения датчиков и устройств невозможно.
В данный момент для работы VGPIO на удаленных модулях функция Full Security должна быть отключена (но в планах добавить её поддержку)
Remap (переназначение GPIO) c MCP23017, PCF8574 и 74HC595.
Для удобства управления из функций прошивки было добавлено переназначение (ремап) GPIO находящихся на микросхемах-расширителях портов MCP23017, PCF8574 и 74HC595. Возможности и ограничения аналогичны VGPIO.
Использование расширителей портов
Прошивка поддерживает микросхемы PCF8574 (8 GPIO) , MCP23017 (16 GPIO) и 74HC595 (до 16 GPIO).
Микросхема PCF8574 по умолчанию должна иметь i2c адрес 0x20 (возможно изменение адреса в конструкторе в дополнительных настройках). Чип не имеет настроек в веб интерфейсе модуля. Возможно управление/чтение через MQTT.
Микросхема MCP23017 по умолчанию должна иметь i2c адрес 0x20 (A0,A1,A2 на GND). Настройка режима input/output настраивается на соответствующей веб вкладке. Возможно управление/чтение через MQTT.
Микросхема 74HC595 — сдвиговый регистр на 8 дополнительных выходов. Занимает 3 выхода ESP8266: GPIO 14 -pin 14 (DS) у 75HC595, GPIO 12 -pin 12 (ST_CP) у 75HC595, GPIO 13 — pin 11 (SH_CP) у 75HC595, MR (10) на +V, OE (13) на GND. Микросхемы возможно подключить каскадом две штуки , получив 16 выводов. Возможно управление/чтение через MQTT.
Управление микросхемами осуществляется через remap внутри модуля — смотрите таблицу выше.
В данный момент сохранение состояния GPIO во flash не реализовано, но это в планах.
Установочный GPIO
GPIO 6 реализован как установочный , его состояние можно установить стандартно GET командой, из планировщика заданий, логики, конструктора кода.
Читать этот GPIO можно из Logic и из конструктора кода.
Суть опции — обмен состояния между модулями прошивки.
WiFi модуль ESP8266 ESP07 для домашней автоматизации
Миниатюрные WiFi модули ESP8266 довольно привлекательны для систем умного дома и домашней автоматизации. Их еще называют «убийцами NRF24L01». Здесь уже был обзор этого модуля
Я себе заказал более поздние модификации ESP07 и ESP12, которые отличаются меньшими размерами и большим числом выведенных GPIO, что не требует «хаков» для использования в них дополнительных портов ввода/вывода.
Данный модули разработаны китайской компанией Espressif System
Технические характеристики:
- WI-FI: 802.11 b/g/n с WEP, WPA, WPA2.
- Режимы работы: Клиент (STA), Точка доступа (AP), Клиент+Точка доступа (STA+AP).
- Напряжение питания 1.7..3.6 В.
- Потребляемый ток: до 215мА в зависимости от режима работы.
- Количество GPIO: 16.
- Flash память размером 512кб.
- RAM данных 80 кб
- RAM инструкций — 32 кб.
Про модификации модулей ESP8266 можно прочитать здесь
Заказывал я модули в январе.
Цена ESP-07 — $3.78, ESP-12 — $4.24. Покупал на премию за обзор статьи. Приехали за 31 день в запаянных пакетиках
ESP8266 ESP-07
ESP8266 ESP-12
Оживление модуля заняло довольно много времени
Для этого нужно подать на него 3.3В. Причем стабилизаторы у преобразователей USB/UART не тянут данный модуль по току, поэтому питание нужно внешнее.
Далее нужно посадить GPIO15 на землю, а CH_PD и GPIO0 подтянуть к VCC через резистор. В некоторых источниках еще указывается, что нужно подтянуть к VCC и GPIO2, но у меня все заработало и без этого.
RXD, TXD и GND подсоединяются через переходник USB/UART к компьютеру.
В результате собрал на макетке такую схему
Здесь сразу столкнулся со следующей сложностью — шаг дырочек у ESP07 — 2мм, а не 2.5 как у штырьковых разъемов, применяемых в Ардуино и прочих местах.
Пришлось к макетке паять на проволочках
Сразу вывел кнопку RESET и перемычку GPIO0 на землю, переводящую модуль в режим загрузки прошивки. А питание на модуль завел через линейный стабилизатор LM1117-N-3.3
После этого запустил программу CollTerm и на скорости 9600 получил приглашение модуля.
Команда AT+GMR выдала 0020000904 (Версия SDK — 0020, в версия AT — 0904)
Далее побаловавшись с AT командами запустил модуль как точку доступа и подключился к своей.
Для тех, кому лень, как мне, разбираться с АТ командами, есть программа ESP8266_config, позволяющая все это настроить.
Далее интересно было попробовать модуль в режиме самостоятельного контроля. Для этого решил прошить его NodeMCU со встроенным интерпретатором LUA.
Я загрузил ModeMCU сGITHUB вместе с примерами и модулями на LUA
Прошивку делал утилитой XTCOM_UTIL. Так как данная программа работает только с COM1-COM6, пришлось в диспетчере устройств изменить свой COM33 от USB/UART конвертера на COM6.
Далее прошивка не представляет труда: открываем порт и коннектимся. Скорость выбирается автоматически. Главное, не забыть посадить GPIO0 на землю (у меня для этого есть специальная перемычка). Скорость выбирается автоматически. Иногда коннект не устанавливался. Помогало нажатие кнопки RESET во время коннекта.
Далее выбираем файл с прошивкой
nodemcu-firmware-master\pre_build\latest\nodemcu_latest.bin
Теперь можно подключиться к модулю при помощи ESPlorer
В данной программе можно загружать в ESP файлы для интерпретатора LUA, выполнять как одиночные команды так и скрипты этого интерпретатора.
У меня получилось запустить модуль давления/температуры BMP180, подключенный к GPIO2 и GPIO0
Для этого я загрузил файл bmp180.lua из готовых модулей, идущих вместе с прошивкой с GITHUB
И затем файл init.lau, выполняемый при загрузке ESP8266
tmr.alarm(1, 5000, 1, function()
print('ip: ',wifi.sta.getip())
bmp180 = require("bmp180")
bmp180.init(4, 3)
tmr.stop(1) -- alarm stop
end)
Запуск программы без задержки таймера приводил к неизменной ошибке.
После рестарата, код
bmp180.read(OSS)
t = bmp180.getTemperature()
p = bmp180.getPressure()
-- temperature in degrees Celsius and Farenheit
print("Temperature: "..(t/10).." C")
-- pressure in differents units
print("Pressure: "..(p * 75 / 10000).." mmHg")
Выдавал в консоль текущее давление и температуру.
А вот запустить выдачу данных параметров в режиме веб-сервера мне не удалось. Все дело в нехватки памяти. Отдельно веб сервер и BMP180 работали, а вместе вываливались в
PANIC: unprotected error in call to Lua API (error loading module 'bmp180' from file 'bmp180.lua': not enough memory)
Или просто на консоль валились обрывки кода LUA.
Модернизировать свою домашнюю метеостанцию с ходу не получилось.
Дальнейший мой путь был, собирать свою прошивку на фирменном SDK, как написано в этой статье . Но это уже другая история. Скажу только, что прошивки собираются без проблем, а вот запустить злополучный BMP180 так и не удалось.
Выводы
- Модули ESP8266 — это очень дешевое решения для построение сети умного дома и прочей домашней автоматизации с использованием WiFi
- Данные модули вполне годятся для замены NRF24L01+ в связке с Arduino и прочими «народными» контроллерами.
- Для работы в качестве самостоятельного контроллера ESP8266 имеет маловато ресурсов и довольно сырые прошивки
- Программирование ESP-модулей довольно трудоемкий процесс, который может отпугнуть новичков
- В целом ESP8266 имеют большие перспективы. Буду ждать развитие прошивок и средств разработки, а пока, буду применять их в связке с другими контроллерами (кроме проектов с WiFi розетками и выключателями )))
Полезные ссылки и литература
Дальнейшее развитие событий по моему использованию ESP8266 буду публиковать в своем блоге
Кот попался, пока возился с макрофотографиями
Оказался довольно пыльным )))
ESP8266 и Arduino, подключение, распиновка / Хабр
Привет geektimes. Тема ESP8266, как и IoT(интернет вещей), всё больше набирает популярности, и уже Arduino подхватывает инициативу — добавляя эти Wi-Fi модули в список поддерживаемых плат.
Но как же его подключить к ардуино? И возможно как-то обойтись вообще без ардуино? Сегодня именно об этом и пойдёт речь в этой статье.
Забегая наперёд, скажу, что будет вторая статья, уже более практическая, по теме прошивки и программирования модуля ESP8266 в среде разработки Arduino IDE. Но, обо всём по порядку.
Этот видеоролик, полностью дублирует материал, представленный в статье.
На данный момент, существует много разновидностей этого модуля, вот некоторые из них:
А вот распиновка ESP01, ESP03, ESP12:
* Данную картинку можно посмотреть в хорошем качестве на офф. сайте pighixxx.com.
Лично мне, больше всего нравится версия ESP07. Как минимум за то, что тут есть металлический экран (он защищает микросхемы от внешних наводок, тем самым обеспечивает более стабильную работу), своя керамическая антенна, разъём для внешней антенны. Получается, подключив к нему внешнюю антенну, например типа биквадрат, то можно добиться неплохой дальности. К тому же, тут есть немало портов ввода вывода, так называемых GPIO(General Purpose Input Output — порты ввода-вывода общего назначения), по аналогии с ардуино — пинов.
Давайте вернёмся к нашим баранам Wi-Fi модулям и Arduino. В этой статье, я буду рассматривать подключение ESP8266(модели ESP01) к Arduino Nano V3.
Но, данная информация будет актуальна для большинства модулей ESP8266 и так же разных Arduino плат, например самой популярной Arduino UNO.
Пару слов по ножкам ESP01:
Vcc и GND(на картинке выше это 8 и 1) — питание, на ножку Vcc можно подавать, судя по документации, от 3 до 3.6 В, а GND — земля (минус питания). Я видел, как один человек подключал этот модуль к двум AA аккумуляторам (напряжение питания в этом случае было примерно 2.7 В) и модуль был работоспособным. Но всё же разработчики указали диапазон напряжений, в котором модуль должен гарантированно работать, если вы используете другой — ваши проблемы.
Внимание! Этот модуль основан на 3.3 В логике, а Arduino в основном — 5 В логика. 5 В запросто могут вывести из строя ESP8266, потому на него нужно отдельно от ардуино подавать питание.
— На моей ардуинке есть ножка, где написано 3.3 В, почему бы не использовать её?
Наверное подумаете вы. Дело в том, что ESP8266 довольно таки прожорливый модуль, и в пиках может потреблять токи до 200 мА, и почти никакая ардуинка по умолчанию не способна выдать такой ток, разве что исключением является Arduino Due, у которой ток по линии 3.3 В может достигать 800 мА, чего с запасом хватит, в других же случаях советую использовать дополнительный стабилизатор на 3.3 В, например AMS1117 3.3 В. Таких валом как в Китае, так и у нас.
Ножка RST 6 — предназначена «железной» для перезагрузки модуля, кратковременно подав на неё низкий логический уровень, модуль перезагрузиться. Хоть и на видео я этим пренебрёг, но всё же вам советую «прижимать» данную ногу резистором на 10 кОм к плюсу питания, дабы добиться лучшей стабильности в работе модуля, а то у меня перезагружался от малейших наводок.
Ножка CP_PD 4(или по-другому EN) — служит, опять же, для «железного» перевода модуля в энергосберегающий режим, в котором он потребляет очень маленький ток. Ну и снова — не будет лишним «прижать» эту ногу резистором на 10 кОм к плюсу питалова. На видео я тупо закоротил эту ногу на Vcc, потому как под рукой не оказалось такого резистора.
Ноги RXD0 7 TXD0 2 — аппаратный UART, который используется для перепрошивки, но ведь никто не запрещает использовать эти порты как GPIO(GPIO3 и GPIO1 соотвественно). GPIO3 на картинке почему-то не размечен, но в даташите он есть:
К стати, к ножке TXD0 2 подключен светодиод «Connect», и горит он при низком логическом уровне на GPIO1, ну или когда модуль отправляет что-то по UART.
GPIO0 5 — может быть не только портом ввода/вывода, но и переводить модуль в режим программирования. Делается это подключив этот порт к низкому логическому уровню(«прижав» к GND) и подав питание на модуль. На видео я делаю это обычной кнопкой. После перепрошивки — не забудьте вытащить перемычку/отжать кнопку(кнопку во время перепрошивки держать не обязательно, модуль при включении переходит в режим программирования, и остаётся в нём до перезагрузки).
GPIO2 3 — порт ввода/вывода.
И ещё один немаловажный момент, каждый GPIO Wi-Fi модуля может безопасно выдавать ток до 6 мА, чтобы его не спалить, обязательно ставьте резисторы последовательно портам ввода/вывода на… Вспоминаем закон Ома R = U/I = 3.3В / 0.006 А = 550 Ом, то есть, на 560 Ом. Или же пренебрегайте этим, и потом удивляйтесь почему оно не работает.
В ESP01 все GPIO поддерживают ШИМ, так что к нашим четырём GPIO, то есть GPIO0-3 можно подключить драйвер двигателя, аля L293 / L298 и рулить двумя двигателями, например катера, или же сделать RGB Wi-Fi приблуду. Да, да, данный модуль имеет на борту много чего, и для простеньких проектов скрипач Arduino не нужен, только для перепрошивки. А если использовать ESP07 то там вообще портов почти как у Uno, что даёт возможность уже уверенно обходиться без ардуино. Правда есть один неприятный момент, аналоговых портов у ESP01 вообще нет, а у ESP07 только один, ADC зовётся. Это конечно усугубляет работу с аналоговыми датчиками. В таком случае ардуино аналоговый мультиплексор в помощь.
Всё вроде как по распиновке пояснил, и вот схема подключения ESP8266 к Arduino Nano:
Видите на Arduino Nano перемычка на ножках RST и GND? Это нужно для того, чтобы ардуинка не мешала прошивке модуля, в случае подключения ESP8266 при помощи Arduino — обязательное условие.
Так же если подключаете к Arduino — RX модуля должен идти к RX ардуинки, TX — TX. Это потому, что микросхема преобразователь уже подключена к ножкам ардуино в перекрестном порядке.
Так же немаловажен резистивный делитель, состоящий из резисторов на 1 кОм и 2 кОм (можно сделать из двух резисторов на 1 кОм последовательно соединив их) по линии RX модуля. Потому как ардуино это 5 В логика а модуль 3.3. Получается примитивный преобразователь уровней. Он обязательно должен быть, потому что ноги RXD TXD модуля не толерантные к 5 В.
Ну и можно вообще обойтись без ардуино, подключив ESP8266 через обычный USB-UART преобразователь. В случае подключения к ардуино, мы, по сути, используем штатный конвертер интерфейсов usb и uart, минуя мозги. Так зачем тратиться лишний раз, если можно обойтись и без ардуино вообще? Только в этом случае, мы подключаем RXD модуля к TXD конвертора, TXD — RXD.
Если вам лениво заморачиваться с подключением, возится с резисторами и стабилизаторами — есть готовые решения NodeMcu:
Тут всё значительно проще, воткнул кабель в компьютер, установил драйвера и программируй, только не забывай задействовать перемычку/кнопку на GPIO0 для перевода модуля в режим прошивки.
Ну вот, с теорией наверное всё, статья получилась пожалуй довольно таки большая, и практическую часть, аля прошивка и программирование модуля, я опубликую немного позже.
Я, у себя на ютуб канале, открыл целый плейлист посвящённый моим видео по теме этого Wi-Fi модуля. В планах построили машинку, или лодку, на Wi-Fi управлении, где вместо пульта ДУ будет обычный смарт. Но пока что я к этому ещё не пришёл, так что это всего лишь планы на будущее.
Продолжение этой статьи.
Даташиты на:
ASM1117 3.3 B;
ESP8266EX(микроконтроллер, что стоит в модуле);
Ещё ссылки:
Русскоязычное сообщество по ESP8266;
Схемы рисовал в программе Fritzing;
Почему многие не любят Arduino;
Все мои публикации на geektimes.
By Сергей ПоделкинЦ ака MrПоделкинЦ.
Беспроводное остроумие. Обзор модуля ESP-8266 Witty / Хабр
За время своего еще недолгого существования 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-разъем, микросхема ch440 — конвертер 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
Страница не найдена · GitHub Pages
Страница не найдена · GitHub Pages
Файл не найден
Сайт, настроенный по этому адресу, не
содержать запрошенный файл.
Если это ваш сайт, убедитесь, что регистр имени файла соответствует URL-адресу.
Для корневых URL (например, http://example.com/
) вы должны предоставить
index.html
файл.
Прочтите полную документацию
для получения дополнительной информации об использовании GitHub Pages .
.
esp8266 |
WiFi 13 GPIO SDIO, SPI, I2C, UART, PWM,. 1 (,, 22) 60. nodelua,,.
. — Espressif SDK«,. « (I2S«). ,,,. .
Espressif — ESP32« HT40 (40, 144), Bluetooth 4.2 (BLE), 400« I2C, I2S, UART, SPI, SDIO, PWM, AES SSL,.GPIO 35, 16,,,,. Espressif ESP32 (ESP31B) Технические характеристики.
, г. ESP8266,,,, -, -. , -. ESP32, 200,.
, — (ESP_Module_Testboard),,. ,. .
ESP32 Сброс, включение. Включить , , . ,. (3,3 3V3, GND) EN VCC., -,, WiFi ESP32_AP_94000000. (
:
: Tensilica L108 160 МГц.
WI-FI: 802.11 б / г / н.
: WEP, WPA, WPA2.
: (STA), (AP), + (STA + AP).
Bluetooth с низким энергопотреблением и классический.
3,3 (?)
: ??
GPIO: 33 (?)
Flash 512.
RAM 144, RAM -128.
: 16 АЦП, 2 ЦАП, I2C. UART, SPI, SDIO, I2S, RMII, PWM.
AES SSL.
.
Набор инструментов SDK Linux https://github.com/espressif/ESP32_RTOS_SDK
esptool32.py.
GPIO 2 0 GND. GPIO 5 + VDD ()
:
ets 5 июля 2015 г., первая причина: 1, режим загрузки: (33)
_stack_sentry: 0x3fffe1d0, __stack: 0x40000000,
_bss_start: 0x3ffbx3000d: 9fffcd48, _data_start: 0x3fffc000, _data_end: 0x3fffc864
загрузка 0x40040000, len 2912, комната 16
хвост 0
chksum 0x6e
00 chksum 0x6e
8
00 8242
8
00 нагрузка 0x3142
chksum 0x1a
load 0x3ffd8590, len 568, room 0
tail 8
chksum 0xf3
csum 0xf3 ****
900* **********************
* привет эспрессиф ESP32! *
* Вторая загрузка процессора pro работает! *
*******************************
Вторая версия загрузки: 1.0
Скорость SPI: 40 МГц
Режим SPI: DIO
Размер флэш-памяти SPI: 1 МБ
перейти к запуску addr @ 0x40000
rc_cal: rc = 44, wifi: 73, 73, 28, 28, bt: 98, 98
txcap: 15, 5, 3, 15, 6, 3, 15, 5, 3, 15, 5, 3,
vdd33 = 2328, — 13; temp_code = 120
0x5f, 0x120, 58
0x1f, 0x120, 1
tx_pwctrl: 6, 11, 16, 22, 26, 37, -1, 12, 17, 23, 30, 40, -10, 13, 17, 27, 31, 40, -16, 5, 10, 18, 24, 34,
tx_backoff: 1, 5, 10, 10,
txiq: 0, 36, 4, 0, -3
txiq: 1, 36, 4, 0, -1
txiq: 2, 4, 4, 0, -2
tx_gain: pa = 0x1f, bbc = 0x20, bbf = 0x4
bt: pa = 0x10, bb = 0,40
11606945, rxiq: amp = 6, pha = 4
12032391, rxiq: amp = 4, pha = 5
11197885, rxiq: amp = 4, pha = 7
16308699, rxiq: amp = 8, pha = 3
14541077, rxiq: amp = 6, pha = 2
13258235, rxiq: amp = 5, pha = 3
phy, 20151218, 722
ht20, 2412
pp_task_hdl : 3ffe4af4, приоритет: 23, стек: 512
tcpip_task_hdl: 3ffe54e4, приоритет: 20, стек: 512
frc2_timer_task_hdl: 3ffe8f2c, приоритет: 22, стек: 512 9000 SD: 512
ESP.0.0 (0394de4) скомпилировано @ 20 ноября 2015 г. 18:57:56
Версия SDK 2015121218: 1.0.0 (0394de4)
[esp32_packet_softap_ssid, 43] Режим Wi-Fi: 60 01 94 00 00 00
[ esp32_packet_softap_ssid, 47] пакет ssid [ESP32_AP_94000000]
[esp32_udata_init, 66] нормально для запуска режима AP + STA
********************* ********
Запустить приложение ОК!
****************************
режим: sta (60: 01: 94: 00: 00 : 00) + softAP (62: 01: 94: 00: 00: 00)
добавить if0
dhcp server start: (ip: 192.168.4.1, маска: 255.255.255.0, gw: 192.168.4.1)
добавить if1
ht20, 2412
bcn 100
[smple_socket_demo_thread, 42] ****** ***
[smple_socket_demo_thread, 42] *********
,.
.