Esp8266 проекты: Проекты на ESP8266 / EPS32

Содержание

Как построить IIoT-архитектуру своими руками. Часть 2: «Вещи»

Иван Сидоров Исполнительный директор

В предыдущей статье мы кратко рассмотрели организацию и процессинг IoT данных с помощью проекта Apache NiFi. Теперь расскажем о других этапах.

Сейчас же начнем с самого первого уровня, непосредственно “вещей”, букве T из аббревиатуры IoT. С самого устройства, организации канала связи и использования протокола MQTT. Тренду IoT уже несколько лет, но по большей части представление о нем, как о лампочке и розетке, включающейся с телефона. Но на производстве, добыче, и в различных других индустриях десятками лет используются самые разнообразные сенсоры, значения с которых собираются в производственные SCADA. Всего-то подключить поток данных к интернету, и мы получаем тот самый IoT, точнее IIoT — индустриальный интернет вещей.

Зачем это все нужно если все эти десятки лет SCADA успешно управляет производственным циклом?

Причин несколько:

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

В итоге, датчики на производстве уже не просто отправляют значения в SCADA. Нужна программная архитектура, которая позволит построить построить цепочку от конечного сенсора на каком-либо станке до вычислительного облака, в котором, исходя из истории работы станка, с помощью обученной модели обслуживающему персоналу прилетит сообщение «37% вероятность выхода из строя механизма, нужно отправить инженера».

Ну а теперь назад, к вещам! Обычно для демонстрации таких систем используются открытые наборы исторических показателей датчиков какой-либо индустрии. Но к сожалению в таком варианте «пощупать» систему не получиться. Нет, на завод мы не заберемся, а вот свою простую «вещь с интернетом» сделаем.

Наша сфера деятельности связана с серверными инфраструктурами, но некоторыми хобби-электронными навыками все же обладаем, так что «вещь» будет самодельная.

Выберем самый простой вариант мониторинга — климатический датчик, будем собирать данные о температуре, влажности и давлении.

 

Компонентная база

В качестве датчика возьмем BMP280.

Очень навороченная вещь, предназначен не только для метеоданных, но и, благодаря чувствительному барометру, для помощи GPS, для навигации в здании (определить этаж), для игр в помощь акселерометру. Мы же будем использовать его только для метеоданных.

Возьмем в качестве модуля такой:

 

В качестве одновременно контроллера и канала связи возьмем, уже наверное культовую, esp8266 (https://en.wikipedia.org/wiki/ESP8266)

В нашем случае, модуль ESP-07:

В качестве питания — 9В батарейка «Крона». Так как все устройства работают от 3.3В — нужен понижающий преобразователь. Рука тянется поставить любимый всеми линейный LD1117:

 

Но все, что понижает линейный преобразователь — он просто рассеивает в тепло. Пиковый ток esp8622 около 0.4A, это значит с линейным преобразователем (9-3.3)*0.4 = 2.28Вт в никуда. Еще и расплавится.

Поэтому собрали импульсный понижающий преобразователь на LM2576:

 

 

3 ампера точно хватит всем (по-настоящему, что из компонентной базы было, то и припаяли).

 

Схема

В качестве CAD использовался Eagle, схема получилась такая:

Для запуска esp8622 нужно притянуть RESET и CH_PD к плюсу(включает модуль), GPIO15 к минусу. Когда GPIO0 притянут к земле — модуль переходит в режим программирования, поэтому там стоит перемычка.

GPIO02 и GPIO15 используются как SDA/SDL линии шины I2C для подключения BMP280, а также любых других устройств на шину(штырьковый разъем JP5), например, дисплея, для отладки прямо на месте.
JP1 используется для подключения по UART (через UART-USB преобразователь) к компьютеру для программирования и отладки модуля.

На резисторах R6 и R5 собран делитель напряжения для АЦП, чтобы можно было следить за зарядом батареи.

 

Плата

Разводка получилась такая:


Скорее всего, в лучших традициях хоббийной схемотехники, нарушает все возможные правила, но главное — работает 🙂

Само устройство получилось такое:

Плата изготовлена по лазерно-утюжной технологии (один из тысяч примеров: http://cxem.net/master/45.php).

 

Программирование устройства

Для быстрого старта для esp8622 взяли прошивку NodeMCU.

NodeMCU представляет из себя интерпретатор Lua для esp8622 и кучу библиотек для различных устройств, датчиков, дисплеев и т.п.

Чтобы прошить устройство, сначала нужно эту прошивку получить. Документация предлагает несколько вариантов, но самый простой из них — сервис nodemcu-build.com, который позволяет, просто выбрав нужные модули, получить готовую прошивку на почту.

 

Для нашего устройства обязательно нужно выбрать MQTT, I2C (т.к. на этой шине расположен датчик), ну и сам датчик BME280 (у нас BMP280, но библиотека универсальная), а также ADC для контроля за батареей. После сборки прошивки — сервис отправит ее на указанную почту.

Дальше нужно замкнуть GPIO0 на землю и перевести модуль в режим программирования (перемычка JP2), подключить USB-UART переходник и передернуть питание.

Загрузка прошивки выполняется с помощью NodeMCU PyFlasher. Нужно выбрать соответствующий последовательный порт, саму прошивку и для модуля ESP-07 — Quad i/O, остальные режимы работать не будут.

 

Немного терпения, пока прошивка завершится, потом снять перемычку JP2, передернуть питание и в итоге наше устройство готово к пользовательскому коду.

 

Код

Настройки UART для подключения — 115200 8N1, подключившись каким-нибудь терминалом для последовательного порта(например, terminalbpp) можно прямо вводить lua команды, этакий REPL.

 

Но нас все же интересует менее эфемерная прошивка, чтобы после перезагрузки оставалась:)
При запуске NodeMCU начинает выполнять с флеш карты файл init.lua (если он есть). Вот его и напишем.

За образец берем пример из документации:

Для загрузки мы использовали простенькую утилитку Asmodat ESP LUA Loader. Она просто пропихивает в терминал file.open и построчно Lua командами его записывает.

Логика следующая:

  1. Инициализируем устройства.
  2. Подключаемся к WiFi.
  3. Читаем показания датчиков.
  4. Подключаемся к MQTT брокеру и отправляем показания в соответствующие топики.
  5. Выключаем WiFi, засыпаем до следующего измерения.

Lua скрипт, схему и разводку платы мы выложили, в принципе там все достаточно прозрачно.

 

Что хотелось бы отметить

Вход ADC esp8266 требует напряжение в диапазоне от 0 до 1В и на выходе дает соответствующее число от 0 до 1024. Для резисторов 39кОм и 470кОм — коэффициент для пересчета получается примерно 13. Т.е. для того чтобы оценить (не очень точно измерить) напряжение на батарее — нужно полученное значение умножить на 13 и поделить на 1024.

Так как сенсор BMP280 универсальный, у него несколько вариантов конфигурации для разных применений. Для NodeMCU инициализация датчика для климатических измерений выглядит так (одни магические числа):


bme280.setup(1, 1, 1, 1, 7, 0) -- weather mode

Подробнее про эти числа в документации. Ну, и в датащите на BMP280, приведенном выше.

Так и не удалось уйти в режим Deep Sleep, по какой-то причине модуль не будится.

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

Но в нашем случае мы просто таймаутом ждем несколько секунд, а потом выключаем WiFi.

Также, поддержка TLS хоть и заявлена, но завести ее так и не удалось, данные отправляются нешифрованные.

 

Отправка данных

Раз в минуту модуль подключается к WiFi и отправляет MQTT брокеру показания с датчиков.
Топики в MQTT следующего формата:


/device_location/device_name/sensor

Это позволяет подписываться на потоки данных с сенсоров как по местоположению так и на конкретные сенсоры, например, температура за окном:


/outdoor/#/temperature

 

MQTT брокер

В качестве MQTT брокера мы используем Eclipse Mosquitto. Чтобы установить, например в Debian нужны два пакета: mosquitto и mosquitto_clients.

В /etc/mosquitto/mosquitto.conf нужно прописать:


require_certificate false # отключаем tls
allow_anonymous true # пускаем всех:)

Дальше запускаем наше устройство, с помощью утилиты mosquitto_sub подписываемся на топики устройств, следим за погодой.


[email protected]:~# mosquitto_sub -v -t "/outdoor/#"         
/outdoor/iottest/temperature 30.07                      
/outdoor/iottest/pressure 713                           
/outdoor/iottest/humidity 38.765                        
/outdoor/iottest/voltage 439                            
/outdoor/iottest/temperature 30.09                      
/outdoor/iottest/pressure 713                           
/outdoor/iottest/humidity 38.445                        
/outdoor/iottest/voltage 451                            
/outdoor/iottest/temperature 29.93                      
/outdoor/iottest/pressure 713                           
/outdoor/iottest/humidity 38.400                        
/outdoor/iottest/voltage 452          

Baikal тут упомянут не просто так. Мы всё же географически расположены рядом с Байкалом, так что для базовой станции под устройства не было других вариантов, кроме как использовать BFK 3.1 на ядре Baikal T-1 🙂

Wi-Fi LED контроллер — Hi-Lab.ru

Задача

Создание контроллера, управляющего индивидуально-адресуемой светодиодной лентой на умных светодиодах WS2812B, известных также как Neopixel. Поддержка множества одиночных и групповых эффектов, управление контроллером как при помощи GET запросов по сети, так и через веб-интерфейс, работа по Wi-Fi. Возможность интеграции с оборудованием умного дома.

Оборудование

  • Модуль ESP8266 (WeMos D1 mini)
  • Arduino Pro Mini 3,3 В
  • Светодиодная лента на светодиодах WS2812B

Светодиодные эффекты

Лента на умных светодиодах WS2812B это не обычная светодиодная лента, которая светится одним цветом или может просто менять цвет своего свечения, это нечто большее. Благодаря индивидуальной адресации каждого светодиода, лена способна создавать удивительно красивые динамические эффекты. Это трудно описать словами — это нужно просто видеть.

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

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

Поддержка библиотек

В данном проекте «из коробки» поддерживаются две библиотеки эффектов — Neopixel и FastLED. Этого уже более чем достаточно — каждая содержит десятки эффектов и возможность модификации их и добавления новых. Опять же, при желании можно подключить и другие библиотеки.

Список эффектов

Здесь приведён список эффектов, поддерживаемых системой. Названия соответствуют стандартным названиям эффектов в используемых библиотеках. Если в названии эффекта присутствует пометка «all», это значит, что это не одиночный эффект, а множество эффектов, объединённых в одну последовательность и плавно перетекающих один в другой.

  1. StrandTest (all)
  2. ColorWipes
  3. TheaterChases
  4. Rainbow
  5. RainbowCycle
  6. theaterChaseRainbow
  7. RGBWstrandTest (all)
  8. RGBWcolorWipes
  9. RGBWwhiteOverRainbow
  10. RGBWpulseWhite
  11. RGBWrainbowFade2White
  12. colorPalette (all)
  13. RainbowColors_p / LINEARBLEND
  14. RainbowStripeColors_p / NOBLEND
  15. RainbowStripeColors_p / LINEARBLEND
  16. SetupPurpleAndGreenPalette
  17. SetupTotallyRandomPalette
  18. SetupBlackAndWhiteStripedPalette
  19. SetupBlackAndWhiteStripedPalette
  20. CloudColors_p / LINEARBLEND
  21. PartyColors_p / LINEARBLEND
  22. myRedWhiteBluePalette_p / NOBLEND
  23. myRedWhiteBluePalette_p / LINEARBLEND
  24. colorTemperature
  25. cylon
  26. demoReel100 (all)
  27. demoReel100 / gPatterns[0]
  28. demoReel100 / gPatterns[1]
  29. demoReel100 / gPatterns[2]
  30. demoReel100 / gPatterns[3]
  31. demoReel100 / gPatterns[4]
  32. demoReel100 / gPatterns[5]
  33. fire2012WithPalette
  34. FirstLight

Конфигурация

В данном проекте применены два контроллера: основной управляющий на ESP8266 (конкретно WeMos D1 mini, но это может быть почти любой другой из семейства ESP8266) и дополнительный на Arduino Pro Mini для управления непосредственно светодиодной лентой. Такое решение применено для разгрузки основного контроллера и обеспечения плавной работы эффектов.

Примечание. Некоторые эффекты требуют постоянной работы контроллера и при малейших задержках эффекты начинают дёргаться и «замораживаться», что совершенно неприемлемо

В тандемном режиме система работает прекрасно — все эффекты идут абсолютно плавно и веб-сервер тоже не отвлекается на стороннюю работу и может спокойно выполнять свои функции.

Управление эффектами

Управлять эффектами можно двумя способами: либо из веб-интерфейса, либо через сеть, посылая GET запросы на AMS сервер. Это позволяет интегрировать контроллер в любую систему домашней или промышленной автоматизации. Любое ваше оборудование может с лёгкостью управлять работой эффектов и по сети и через Wi-Fi.

Управление по сети

Управление контроллером по сети производится при помощи посылки простых GET запросов. Просто указывается номер эффекта и он практически мгновенно включается.


http://IP адрес/?effect=1
http://IP адрес/?effect=2
http://IP адрес/?effect=3

Для остановки работающего эффекта и выключения ленты посылается GET запрос вида:


http://IP адрес/?effect=0

Для того, чтобы узнать какой эффект работает в данный момент, нужно послать запрос вида:


http://IP адрес/?status

и контроллер ответит:


Status:
effect: 1

где «1» — это номер текущего эффекта. При необходимости этот набор команд можно дополнить любыми другими нужными командами.

Управление через веб-интерфейс

Управлять эффектами из веб-интерфейса можно, просто выбирая из выпадающего списка нужный эффект и нажимая кнопку «Включить». Рядом крупно пишется название текущего эффекта.

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

Реализованные функции

  • Управление умными светодиодами WS2812B (Neopixel)
  • Поддержка десятков одиночных и групповых эффектов
  • Поддержка разных библиотек эффектов
  • Управление контроллером по сети
  • Управление контроллером через веб-интерфейс
  • Беспроводная работа через Wi-Fi
  • Выдача статуса устройства по запросу
  • Возможность интеграции с оборудованием умного дома

проект в категории Разработка радиоэлектронных систем, 23.01.2017 в 14:31

Внимание! Просьба отвечать на вакансию, только если у вас уже был опыт разработки устройств на базе ESP8266!

Необходимо разработать автономный Wi-Fi датчик протечки, который по факту обнаружения протечки отправляет запрос в наш облачный сервис через интернет (обычный HTTP POST запрос).

Устройство должно быть размещено в компактном корпусе с высотой не более 25 мм (конкретный корпус и габариты согласовываются отдельно), и должно обеспечивать автономную работу устройства в течение не менее чем 1 года. Основа устройства – модуль микроконтроллера с Wi-Fi трансмиттером ESP8266, можно воспользоваться модификацией esp-01 или esp-07, по вашему усмотрению.

Выбор типа батареечного питания – на ваше усмотрение, выбор схемы энергоэффективности обсуждается отдельно.

Так как даже в спящем режиме модуль ESP8266 не проработает от обычных батареек больше суток, его нужно держать постоянно выключенным, и давать питание на ESP только по факту обнаружения протечки, а также раз в заданный интервал времени (от 1 часа до 1 суток), а затем давать возможность ESP самостоятельно отключить себя от питания тогда, когда программная прошивка решит, что передача данных была полностью завершена. 

Дополнительно, модуль должен содержать кнопку сброса, которая переводит модуль в режим настройки. Эта кнопка должна быть потайной (утопленной, как Reset в роутерах). Схема подключения кнопки сброса – стандартная для всех проектов на микроконтроллере ESP8266. Также устройство должно сдержать один индикаторный светодиод, который будет сообщать текущее состояние устройства, он подключается к одной из ножек ESP по стандартной для таких устройств схеме. Также устройство должно содержать функцию уведомления пользователя через интернет о том, что батарейка близка к разрядке. Для этого допустимо использование дискретной схемы, подключенной к одной из ножек микроконтроллера. Уведомлять о текущем состоянии батарейки нужно при каждом очередном выходе на связь.

Устройство должно содержать простой веб-сервер, предназначенный для настройки подключения к Wi-Fi и к нашему облаку по типовой для ESP схеме (через режим Access Point). Мы предоставляем исходники веб-страниц, которые должен отдавать веб-сервер в режиме настрайки.

Примеры типичных проводные и беспроводные датчиков протечки конкурентов:
neptun-mcs.ru/catalog/par…
sigadoma.ru/umnyj-dom/dat…

Требования к результату:

1) Действующий образец, который удовлетворяет требованиям по функционалу, энергопотреблению (времени автономной работы от батареек) и габаритам

2) Принципиальная электрическая схема, чертежи печатных плат и монтажа компонентов в одном из популярных форматов (предпочитаем sPlan и Sprint Layout, но можно Proteus или любой аналогичный)

3) Умеренно документированный исходный код прошивки, а также собранный бинарник прошивки и описание toolchain для самостоятельной сборки. Исходник должен содержать все нестандартные библиотеки, необходимые для его компиляции. Язык программирования – C++ (не Lua!).

В случае успешного выполнения этого проекта мы готовы обеспечить большой поток заказов на аналогичные проекты.

ESP8266: модуль WIFI для Arduino

Arduino начиналась как простая доска для образования и производителей. кто любит DIY. Бесплатная аппаратная платформа для любителей электроники, которую можно программировать благодаря Arduino IDE и с множеством возможностей. Постепенно она развивалась, появлялись новые версии и выпуски платы, а также комплекты и аксессуары, такие как знаменитые экраны и модули, которые расширяли базовые функции этих плат.

Одним из надстроек, сделавших большой скачок в возможностях, был Модуль WiFi, например ESP8266, поскольку это позволяло подключать проекты, которые до сих пор были изолированными, к сети и, таким образом, иметь возможность контролировать или управлять проектом из Интернета в любой точке планеты. Вот почему мы собираемся посвятить это руководство ESP8266, чтобы вы могли знать все, что вам действительно нужно …

Немного истории

Первая компания, создавшая этот Чип ESP8266 был Espressif, китайская компания, расположенная в Шанхае, хотя в настоящее время ее разрабатывают и производят другие производители. Точная дата его запуска была летом 2014 года, так что он не такой уж и старый. Он начал продаваться по низкой цене, и вместе с его возможностями вскоре стал очень популярным.

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

Но вы должны знать, что, как и в случае с транзисторами, номенклатура или нумерация Это не всегда был ESP8266, но сначала появились некоторые ранние ESP, затем появились версии, такие как ESP8285 от 2016 года, которые включали в себя встроенную память flahsd объемом 1 МБ, а затем появился ESP8266, который мы знаем сегодня, который, похоже, сделал шаг назад. потому что в нем нет этой памяти, но вы можете добавить другие внешние микросхемы для хранения программ.

Что это такое?

El ESP8266 может быть интегрирован в WiFi который обеспечивает недорогой чип с полным стеком TCP / IP и микроконтроллером. Он питается от 3.3 В и имеет процессор Tensilica Xtensa LX106 с тактовой частотой 80 МГц, 64 КБ ОЗУ для инструкций и 96 КБ для данных, 16 контактов GPIO, выделенные контакты UART, а также интерфейсы SPI и I2C.

La Процессор Tensilica это можно сделать быстрее за счет разгона, который позволяют некоторые, но не все модели. Фактически тактовую частоту можно увеличить вдвое. Кстати, 32-битный процессор типа RISC. Также в модуль входит 10-разрядный преобразователь сигналов АЦП.

В качестве дополнения он включает в себя внешнюю микросхему флэш-памяти QSPI от 512 КБ до 4 МБ в зависимости от модуля, иногда может достигать даже 16 МБ. Взяв во внимание Возможности подключения Wi-Fi, он совместим со стандартом IEEE 802.11 b / g / n, а также поддерживает безопасность WEP, WPA и WPA2.

Для чего вы его используете?

Проще говоря, ESP8266 добавляет возможность подключения к Wi-Fi в наши проекты. То есть он позволяет беспроводное подключение к локальной сети или Интернету. Это дает большое количество возможностей, например, возможность подключать или отключать электрические приборы (используя реле) или другие типы механических систем в нашем доме, чтобы домотизировать дом и управлять им через Интернет с нашего смартфона или любого компьютера, подключенного из любого места.

Его также можно использовать для управления системами садоводства и орошения через сеть, для автоматизации промышленных систем, управления Камеры IP-видеонаблюдения, отслеживать данные от сенсорных сетей, распределенных в разных точках, для носимых устройств с возможностью подключения, чтобы IoT проекты (Интернет вещей или Интернет вещей) и все, что вы можете себе представить …

Характеристики модуля ESP8266:

Чтобы вы знали подробнее ESP8266, здесь мы даем вам ряд интересных фактов, которые вам необходимо знать об этом модуле.

ESP8266 Лист данных

В предыдущих разделах мы описали некоторые из основные особенности ESP8266Чтобы получить все технические подробности в полной мере, вы уже знаете, что можете загрузить известные спецификации производителей со своих официальных веб-страниц. Некоторые из дополнительных функций, которые подробно описаны в таблице данных:

  • Процессор Tensilica Xtensa L106 32-битный RISC 80 МГц
  • 10-битный преобразователь АЦП
  • RAM 64 КБ i / 96 КБ d
  • 16-контактный GPIO (не все могут использоваться, также GPIO16 подключен к RTC или часам реального времени)
  • UART
  • SPI
  • I2C
  • Напряжение 3 В и 3.6 В
  • Интенсивность 80 мА
  • Рабочая температура от -40 до 125 ° C
  • WiFi IEEE 802.11 b / g / n с поддержкой IPv4 и протоколов TCP / UDP / HTTP / HTTPS / FTP
  • Потребление от 0.0005 до 170 мА в зависимости от силы сигнала
  • Режимы: активный режим (активный), спящий режим (спящий), глубокий сон (глубокий сон) — влияет на потребление

Для дополнительной информации, скачать техническое описание:

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

Распиновка модуля

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

Интеграция с Arduino и wifi.h

Для программирования в вашем распоряжении библиотека под названием wifi.h специфичен, чтобы вы могли использовать включенные в него функции при создании исходных кодов с помощью Arduino IDE для программирования микроконтроллера. Вы можете увидеть больше информации на этих двух страницах GitHub, где размещены эти проекты: Библиотека Arduino Wifi.h / Библиотека Wifi.h Espressif.

О интеграция с Arduino, это можно сделать, будь то модуль или отдельно микросхема ESP8266. Однако рекомендуется использовать модули. Есть несколько типов, но самые известные из них поставляются известным производителем. AI-Мыслитель:

  • ESP-01: модуль из первых появившихся. Его цена обычно составляет от 2 до 4 евро. Он немного устарел и имеет только два используемых GPIO для управления его датчиками и исполнительными механизмами. Этот модуль имеет встроенную антенну WiFi, светодиоды, микросхему ESP8266 и флеш-память BG25Q80A.
  • ESP-05: его цена аналогична предыдущей, и он довольно простой. Его контакты можно легко использовать для работы в качестве щита WiFi для Arduino или для использования на макете, но у него нет доступного GPIO.
  • ESP-12Хотя он довольно часто используется, он может быть не самым практичным, особенно для начинающих. Его цена составляет около 4 евро, и он имеет 11 доступных соединений GPIO, одно из которых является 10-битным аналоговым (1024 возможных цифровых значения). Но в нем есть большой дефект, который придется паять, потому что в нем нет штырей.
  • ESP-201: цена составляет 6 евро, она предпочтительна для производителей и рекомендуется для большинства пользователей. Он также имеет 11 портов GPIO, хотя не все из нас могут их использовать. В этом случае у него есть контакты, чтобы установить его на макетной плате или с Arduino без пайки.

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

узелMCU

Модуль очень популярным сегодня является так называемый NodeMCU, с ценой, аналогичной ESP-201, то есть примерно 6 евро. Это модуль, который вы можете увидеть на основных изображениях в этой статье, и он чрезвычайно прост в использовании, поскольку все необходимое уже интегрировано. То есть вы можете работать автономно с самого начала, без необходимости добавлять другие дополнения, как в случае с предыдущими модулями.

NodeMCU также включает в себя чип ESP8266, последовательный / USB-адаптер, питание от microUSB, и основан на характеристиках ESP-12. Появилось несколько версий этого NodeMCU, в том числе 1 или 2 обновленных и улучшенных. Но самое интересное — это прошивка, которая в него входит, которая можно загрузить и он позволяет программировать на таких языках, как Python, BASIC, JavaScript и других менее популярных, таких как LUA. Помните, что прошивка — это код, программа очень низкого уровня, которая хранится в памяти …


KaRadio — Wi-Fi web radio на ESP8266 или ESP32. — Portstore

Давно хотел себе недорогое веб радио с дисплеем и энкодером, формата «купи деталей на тысячу». Пару лет назад собирал на ESP-8266 — потерянное время. Тогда же собрал на ESP-32, лучше, но тоже бесполезная поделка. Буфера почти нет, высокий битрейт не воспроизводит.

KaRadio” — проект французского инженера Jean-Pierre Cocatrix. В рамках проекта разработан и поддерживается восхитительный софт для web radio, за который я весьма благодарен. Официальная страница: https://hackaday.io/project/11570-wifi-webradio-on-esp8266-or-esp32.

  • Настройки из браузера (chrome, mozilla, edge и т. д.), с помощью telnet, с внешней аппаратной панелью, или через uart.
  • Управление IR -пультом, из браузера (chrome, mozilla, edge и т. д.), кнопками, энкодером, с помощью telnet, или через uart, есть даже приложение под Android.
  • Воспроизведение потока до 320 кбит/с  mp3, ogg, или wma потоки, списки воспроизведения .pls .m3u, asx и .xspf.
  • Память на 255 станций, станции могут быть загружены и выгружены списком через веб-интерфейс, сортировка станций в списке возможна путем перетаскивания.
  • Энергонезависимая настройка (настройка звука, список станций, wi-fi), OTA обновление (обновление софта через Wi-Fi).
  • Возможность подключения энкодера, ИК-пульта, жк-дисплея.
  • Конфигурация Wi-Fi через веб-интерфейс или telnet.
  • Отображение метаданных (т. e. название песни, если оно указано в потоке), времени, уровня громкости, настраиваемое по времени автоотключение дисплея, 
  • Светодиод-индикатор, указывающий на состояние оборудования
  • Опционально: управляющие переключатели, жк-дисплей, дополнительный RAM для буферизации.

В этой “бочке с медом” есть и ложка дегтя, в основном все плюшки вроде темброблока и потоков ogg и часть потоков aac доступны при установленном модуле VS1053, а он может давать щелчки при включении и всячески иметь мозг.

Важно: если использовать ESP32 без PSRAM не будет нормального буфера и не будут воспроизводиться потоки аас и высокие битрейты.  Список и ттх модулей ESP32 тут.

Smart window ESP8266

WEB server smart window /ESP8266, SD card, Arduino NANO/.
третья редакция

SmartWindow v2.0 — все в одном архиве

    В последней версии:
  • выделены в отдельные файлы CSS стили и скрипты Javascript. Загрузка htm страницы стала более стабильной;
  • есть возможность установки времени в RTC;
  • добавлена опция отображения текущих настроек и настроек по умолчанию измерительного модуля.
  • схемное решение оптимизировано с использованием двунаправленного преобразователя логических уровней.

В рабочем режиме перемычка «boot» разомкнута, а перемычки Jamper TX/RX — замкнуты

В режиме программирования необходимо размкнуть перемычки Jamper TX/RX, а перемычку «boot» замкнуть. Подключить RX1 TX1 от Arduino непосредственно к ОДНОИМЕННЫМ выводам ESP8266. Только после этого необходимо включить питание (подсоединить usb кабель) при нажатой кнопке RESET на Arduino NANO. Не отпуская кнопку Reset можно прошить программу в ESP модуль.

Это третья разработка для управления открытием и закрытием окна, в зависимости от качества атмосферы снаружи помещения и внутри. Предыдущие можно посмотреть здесь, а о причине повышенного интереса к этой теме есть видео первой редакции на другом микроконтроллере .

В систему входят два газовых сенсора MQ-2 и датчик температуры и влажности DHT11..Один их газовых сенсоров объединен в модуль с DHT11 — это уличный модуль, а другой MQ-2 находится внутри помещения.

Покакзания датчиков с указанием времени могут регистрироваться на накопитель (SD карту), для далнейшего анализа. Управление и контроль за системой может осуществляться через последовательное соединение с компьютером (USB) и/или со смартфона через WiFi. Управление с компьютера описано в предыдущих версиях устройства и [ВИДЕО] осталось прежним.

Для автономной работы прибора в системе должны быть часы реального времени и регистратор данных. Можно было бы ограничиться часами браузера, но тогда для регистрации результатов должна быть открыта хотя бы одна страница данного сервера. Такой вариант имеет ограничения и может рассматриваться как запасной или аварийный.

В качестве регистратора используется модуль SD card, который подключен непосредственно к ESP8266, чтобы оптимизироватьработу сервера, организованного на ESP8266.

Железо.

Вся конструкция состоит из 4-х модулей:

  • Измерительный модуль, включающий Arduino UNO и коммутационную надстройку с оптронной развязкой для управления мотором;
  • Сервер, обеспечивающий организацию HTML страницы, WiFi коммутацию, передачу и регистрацию данных на SD с привязкой к часам реального времени;
  • Сенсоры. Газовый сенсор для помещения может быть расположен на измерительном модуле, но желательно его подвесить для лучшей обдуваемости;
  • Исполнительный модуль с мотором (на схеме не показан).

Сервер /ESP8266/.

Организация сервера осуществлена на модуле ESP8266 с подключенным модулем SD card. SD карта используется для хранения всех необходимых файлов HTML страницы. Кроме того на SD карту записываются все данные, поступающие с измерительного модуля.

Типы переменных ESP8266.

На рисунке показаны основные потоки информации в системе ESP8266, Arduino Nano, браузер и компьютер.

— WEB запросы и команды от бруазера [WiFi]

— WEB запросы и сообщения от ESP8266 к браузеру [WiFi]

— запросы настроек для установок границ измерений, периода измерений и др. Запрос настроек (&set_xxx) формируется одной строкой и занимает около 255 байт, что потребовало внести изменение в библиотеку.

Поскольку в библиотеке SoftwareSerial.h буфер расчитан на 64 байта, то необходимо исправить размер буфера на 256 байт. Следует найти этот файл в папке
C:\Program Files\Arduino\hardware\arduino\avr\libraries\SoftwareSerial
и заменить 64 на 256 как здесь:
#define _SS_MAX_RX_BUFF 256 //было 64 — ruben// RX buffer size

Полный список переменных и отдельных запросов помещен в таблице: закладка «Подробнее».

  

браузер ◀ ▶ ESP8266 ◀ ▶ Arduino ◀ ▶ PC описание
        измерения      
set_val0= set_val0= @f##   улица
set_val1= set_val1= @s##   дом
set_t= set_t= @t##   температура
set_h= set_h= @h##   влажность
in_wnd= in_wnd= @w ◀ ▶ %w окно
    -=- @t ▶◀ %t окно-время
        установка      
&set_scala0= о &set_scala0= ◀ ▶  
&set_scala1= д &set_scala1= ◀ ▶  
&set_mode0= н &set_mode0= ◀ ▶  
set_mode1= о set_mode1= ◀ ▶  
&set_gy0= й &set_gy0= [email protected](x,?) ◀ ▶ начало желтой зоны
&set_gy1=   &set_gy1= [email protected](x,?) ◀ ▶ начало желтой зоны
&set_yr0=   &set_yr0= —@a(?,x) ◀ ▶ начало красной зоны
&set_yr1= ◀ ▶ &set_yr1= ◀ ▶ [email protected](?,x) ◀ ▶ начало красной зоны
&set_max0=   &set_max0= ◀ ▶ максимум для 0 шкалы
&set_max1=   &set_max1= ◀ ▶ максимум для 1 шкалы
&set_min0= с &set_min0= ◀ ▶ минимум для 0 шкалы
&set_min1= т &set_min1= ◀ ▶ минимум для 1 шкалы
&set_sens0= р &set_sens0= ◀ ▶ тип сенсора 0 шкалы
&set_sens1= о &set_sens1= ◀ ▶ тип сенсора 1 шкалы
&set_per= к &set_per= @p ▶◀ %p период измерений
&set_wnd= о &set_wnd= ◀ ▶ открыть/закрыть окно
&set_tmax= й &set_tmax= ◀ ▶ время открытия (сек)
        управление      
sc_load ▶◀all read config.ini ▶all @i ▶◀ %i info
sc_default ▶◀all ▶▶▶▶-◀◀◀◀ ▶◀all       прошитые настройки
sc_current ▶◀all ▶▶▶▶-◀◀◀◀ ▶◀all       текущие настройки
cb_sd ◀ ▶ cb_sd = 1          
&set_wnd= i▶▶▶▶▶▶▶▶▶ ◀ ▶ @w ▶◀ %w окно
      -=- @t ▶◀ %t окно-время
        @r ▶◀ %r резерв

  

Органы управления и режим настроек

Над экраном с графиками три элемента управления:

  • установка периода опроса измерительного модуля. С таким интервалом браузер будет посылать Get запросы на сервер, для получения данных с информационного модуля. Например, если установлено 10 сек, то на экране будет отображаться история наблюдения примерно за один час.
  • кнопка «rec» активируется только в режиме настроек нулевой (верхней) шкалы. При нажатии на эту кнопку на светлом поле в нижней части html страницы появится информация для записи текущих настроек верхней шкалы, которые могут быть использованы для глобальных установок селектора датчиков, если их внести в базу программы. База эта прописана в Javascript в файле index.html

      

    var baza = {
    baza0: [1023, 0, 256, 64, 128, 1],
    baza1: [1023, 0, 0, 0, 0, 0]
    baza2: [1023, 43, 255, 140, 200,1],
    baza3: [512, 0, 255, 80, 192,1],
    baza4: [512, 44, 214, 54, 154,1],
    baza5: [1023, 20, 180, 110, 210,1],
    baza6: [1023, 30, 190, 120, 220,1],
    baza7: [1023, 40, 200, 130, 230,1],
    count: 8,
    anotherdata: null
    }
    Для каждого датчика
    прописано шесть параметров:
    — Разрешение шкалы
    — минимальное значение зоны наблюдения
    — максимально значение зоны наблюдения
    — начало желтой зоны
    — начало красной зоны
    — тип шкалы

      

При выборе в селекторе первых двух позиций будет сформирован запрос на получение из измерительного блока прошитых или текущих настроек соответственно.

Под изображением ESP модуля находится рисунок часов, кликнув по которому можно записать текущее время браузера в модуль RTC. Проверить правильность установки времени в RTC можно посоединив Arduino к серийному терминалу через USB, дать разрешение на запросы, и включив запись на SDcard.

В правом верхнем углу счетчик обратного отсчета, показывающий время в секундах до следующего запроса данных. Рядом устанавливается разрешение на все запросы. Если требуется осуществить запрос быстрее, чем осталось времени, то можно сбросить разраешение на запрос и снова установить его. Тогда отсчет начнется с 10 сек. А можно уменшить период опроса.

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

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

Справа у каждой шкалы расположена кнопка переключения в режим настроек, и еще правее цветовая метка графика данной шкалы.

В режиме настроек можно изменять зону наблюдения и зоны граничных значений. Для этого достаточно «ухватить» мышкой либо саму зону либо указатель границ и установить в нужное значени. В смартфоне ухватить мышкой затруднительно и для этого для каждого параметра имеются окна ввода.

После перехода в режим измерений новые установки появятся после поступления первых данных с измерительного модуля.

Для каждой шкалы из выпадающих меню можно выбрать шаблоны настроек для разных датчиков и тип шкалы. Изменения шаблонов возможно только в редакторе html, но после загрузки шаблона можно его скорректировать и записать на SD карту, не прибегая к редакции html файла. Следует помнить, что все сделанные изменения касаются только браузера, а чтобы эти настройки касались измерительного модуля, их надо записать, нажав на кнопку «rec» (см. ниже).

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

Опустимся еще на строку ниже, где расположены две кнопки «load» и «rec», а также выключатель, разрешающий регистрацию данных на SD карту. Кнопка load загружает в браузер и измерительный модуль ранее записанные настройки, хранящиеся в файле config.ini на SD карте.

Есть возможность установить настройки по умолчанию, заложенные в измерительном модуле. Для этого необходимо обнулить модуль (нажать на Arduino UNO сброс или перезапустить питание модуля), а затем в выпадающем меню выбора датчиков любой шкалы выбрать «by default«.

Завершает страничку тонкий бордюр с мелкой надписью «test» — это кнопка для раскрытия тестовых движков для обоих шкал и кнопки ввода данных.

Регистрация данных

Ардуино передает измерения пакетом через определенные интервалы времени. Этот пакет собирается в строку и отправляется в браузер через ESP8266. Если разрешена запись на SD, то они добавляются строкой в файл hh.txt, где hh — текущий час. Файлы находятся в папке «climat/year/mounth/day».
Например: climat/2016/9/24/18.txt это данные от 18:00 до 18:59 от 24 сентября 2016 года. Фрагмент данных представлен на рисунке:

Представить такие данные в табличном виде или графическом, например в EXCEL, достаточно просто, но это отдельная тема.

Источники питания и включение системы

Здесь есть проблема, которую я пока не решил. Дело в том, что при одновременном включении питания на Arduino UNO и ESP8266 последний зависает. Если подавать питание сначала на ESP8266, а на Arduino через несколько десятков мили секунд, то все загружается и работает нормально. Можно запускать и другим способом. Перед включением общего питания разорвать цепь SoftSerial, покрайней мере у ESP8266 отключить TXD0 — загрузка пройдет нормально. Вернуть подключениеTXD0 можно также практически сразу. Если кто знает как обойти эту проблему, пожалуйста сообщите. Пока я решил эту проблему, нажимая на кнопку при включении питания, чтобы на время разорвать цепь TXD0.

 

Предоставьте своим микроконтроллерам доступ к Интернету менее чем за 6 долларов США с помощью ESP8266

Чтобы начать работу с IoT (Интернетом вещей), вашему устройству необходимо подключение к Интернету. Базовые микроконтроллеры Arduino не имеют подключения к Интернету по умолчанию, поэтому вам нужно либо добавить к ним экраны Ethernet, Wi-Fi или адаптеры, либо купить Arduino со встроенным подключением к Интернету. Помимо сложности, оба подхода увеличивают стоимость и потребляют и без того ценную флэш-память Arduino для программного пространства, что ограничивает ваши возможности.

Другой подход заключается в использовании Raspberry Pi или аналогичного одноплатного компьютера, работающего под управлением полноценной операционной системы, такой как Linux. Raspberry Pi — хороший выбор во многих случаях использования IoT, но часто это излишне, когда все, что вы действительно хотите сделать, это считать датчик и отправить показания на сервер в облаке. Мало того, что Raspberry Pi потенциально увеличивает затраты, сложность и энергопотребление вашего проекта, он еще и работает под управлением полной операционной системы, которую необходимо исправить, и имеет гораздо большую поверхность атаки, чем простой микроконтроллер.Когда дело доходит до устройств IoT и безопасности, чем проще, тем лучше, поэтому вы можете тратить больше времени на создание и меньше времени на исправление того, что вы уже сделали.

Когда чип Wi-Fi ESP8266 появился на рынке в 2014 году практически без англоязычной документации, сообщество разработчиков было заинтриговано, но не полностью поняло его потенциал. Благодаря его низкой стоимости (2 доллара США) и активному сообществу, которое любит сложные задачи, производители быстро поняли, как использовать ESP8266 для включения Wi-Fi в свои платы Arduino.По мере того, как они сотрудничали все больше и больше, они поняли, что ESP8266 может служить автономным микроконтроллером, без необходимости быстрой перемотки Arduino каждые пару месяцев. Вскоре сообщество добавило поддержку ESP8266 в Arduino IDE, что сделало ESP8266 таким же простым в программировании, как и Arduino. Будучи недорогим Wi-Fi-модулем для микроконтроллеров и , который сам является микроконтроллером, ESP8266 быстро стал лакомым кусочком для полов и лакомством для этих знающих производителей.

Что такое ESP8266? ESP8266 — это 32-битный RISC-процессор производства Espressif Systems.Его часы по умолчанию работают на частоте 80 МГц, он имеет 64 КБ ОЗУ для инструкций, 96 КБ ОЗУ для данных и поддерживает до 16 МБ внешней флэш-памяти. Эти характеристики впечатляют по сравнению с Arduino UNO, который работает на частоте 16 МГц, имеет только 2 КБ SRAM, 32 КБ флэш-памяти, 1 КБ EEPROM и стоит в несколько раз дороже. Еще одно большое отличие заключается в том, что рабочее напряжение ESP8266 составляет 3,3 вольта, в то время как у большинства Arduino рабочее напряжение составляет 5 вольт. Имейте в виду эту разницу в напряжении, когда расширяете свои существующие знания и проекты Arduino на ESP8266, чтобы предотвратить волшебный дым.

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

Модуль, который поставил ESP8266 на карту в 2014 году, — это ESP-01, изображенный рядом, где вы можете увидеть чип ESP8266, чип флэш-памяти и встроенную антенну Wi-Fi.

Верхняя сторона модуля ESP-01, на котором размещен чип Wi-Fi ESP8266.Это фото находится под лицензией CC-BY-SA 4.0.

ESP-01 стоит 2 доллара США и немного больше вашего миниатюрного размера. Он кажется идеальным выбором для начала работы в мире ESP8266 и IoT, но у него есть некоторые ограничения. Во-первых, вам нужен конвертер USB-to-serial для его программирования. Далее вам понадобится блок питания на 3,3 вольта для его питания. Это также не подходит для макетной платы, поэтому вам нужно использовать перемычки или адаптер. Наконец, открыты только два контакта GPIO, что делает устройство полезным, но не таким полезным, как Arduino, у которого их гораздо больше.В целом, ESP-01 — это удивительно компактное устройство для готовых проектов, но есть и лучшие платы для начала работы и прототипирования.

Для начала работы и создания прототипа я рекомендую серию NodeMCU или WeMos D1. Эти устройства стоимостью менее 6 долларов компенсируют ограничения ESP-01, обеспечивая встроенное подключение USB к последовательному порту, будучи (в основном) удобными для макетов и открывая большинство, если не все доступные контакты ESP8266 GPIO.

Первоначально NodeMCU был привлекательным, поскольку поставлялся со специализированной прошивкой, позволяющей программировать его с помощью языка сценариев Lua.Для таких преданных поклонников Arduino, как я, вы также можете использовать Arduino IDE и ее C-подобный язык программирования. Что касается (в основном) совместимости с макетами, NodeMCU имеет несколько версий с немного разными форм-факторами. Лично мне нравится NodeMCU v2, потому что он достаточно узкий, чтобы поместиться в макетную плату, где вы можете использовать ряд контактов макетной платы с каждой стороны. Версии v1 и v3 шире, так как NodeMCU нужно будет расположить две макетные платы рядом. Простой способ определить, является ли NodeMCU версией v2, — это подтвердить, что микросхема USB-to-serial имеет квадратную форму CP2102 (на фото ниже), тогда как в более широких версиях часто используется Ch440G прямоугольной формы.

Плата разработки NodeMCU, основанная на чипе Wi-Fi ESP8266. Это фото находится под лицензией CC-BY-SA 4.0.

WeMos также производит несколько плат на базе ESP8266. D1 повторяет форм-фактор Arduino Uno, что позволяет вам повторно использовать многие уже имеющиеся у вас шилды Arduino. D1 mini и D1 mini pro совместимы с макетами, как и NodeMCU, но оба меньше, чем NodeMCU. Более компактный размер обнажает меньше контактов GPIO, чем у NodeMCU, но эти модели поставляются с богатым ассортиментом собственных экранов.

Что можно сделать с ESP8266? Короче много. Вы можете подключить к нему датчики и представить данные на веб-сервере, работающем на самом ESP8266, или зарегистрировать данные в облаке или в брокере сообщений MQTT. И наоборот, вы можете подключить к ESP8266 дисплей, чтобы отслеживать погоду, самолеты или что-то еще, что вы хотите. Другие примеры включают домашнюю автоматизацию с помощью Amazon Alexa и трансляцию на ваш телевизор. Чтобы узнать больше, посетите Hackaday и YouTube.

В целом, я считаю ESP8266 идеальным дополнением к моему набору инструментов производителя, наряду с моими Raspberry Pi и Arduinos.Учитывая его низкую стоимость и активное сообщество пользователей, вы будете видеть новые и интересные варианты использования, которые появляются каждый день.

Вы пробовали ESP8266? Я хотел бы услышать о вашем опыте в комментариях ниже.

Создание веб-страниц, приложений и устройств с поддержкой WiFi [Книга]

Описание книги

Откройте для себя мощные микроконтроллеры ESP8266 и ESP32 и их связь по Wi-Fi. Микроконтроллер ESP32 поддерживает связь Bluetooth и BLE в дополнение к Wi-Fi.В книге делается упор на практические проекты, и читатели знакомятся с коммуникациями Wi-Fi и Bluetooth, дизайном и созданием мобильных приложений, связью ESP-NOW и LoRa, а также генерацией сигналов.

В проектах, описанных в книге, используются функции Wi-Fi и вычислительная мощность микроконтроллеров ESP. Проекты создаются в Arduino IDE, поэтому вам не нужно загружать другое программное обеспечение для программирования. Мобильные приложения в настоящее время распространены повсеместно, что делает проекты по созданию приложений из книги очень актуальными, как и проекты по дизайну веб-страниц.

В электронных проектах с ESP8266 и ESP32 вы увидите, насколько просто и практично получать доступ к информации через Интернет, разрабатывать веб-страницы, создавать мобильные приложения для удаленного управления устройствами с распознаванием речи или включать Карты Google в Приложение для отслеживания маршрута по GPS.

Вы будете

·       Создавайте практичные электронные проекты с помощью микроконтроллера ESP8266 или ESP32 с возможностью связи по Wi-Fi.

·       Используйте функцию Wi-Fi ESP8266 и ESP32 для обновления веб-страниц

·       Связь с мобильным телефоном или смарт-часами по Bluetooth с низким энергопотреблением

·       Передача и получение информации для управления удаленными устройствами через Интернет

·       Понимание дизайна и сборки мобильных приложений для интернет-приложений

·       Примените свои навыки программирования на C++, JavaScript, AJAX и JSON.

·       Используйте WebSocket, брокеры MQTT и IFTTT для быстрой двусторонней связи с веб-страницами

Для кого предназначена эта книга

Целевая аудитория — производители и мастера, которые хотят создавать приложения для Интернета/интранета с помощью более мощных микроконтроллеров. , такие как ESP8266 или ESP32.Предполагается наличие опыта программирования на C++ в Arduino IDE, хотя все эскизы полностью описаны и подробно прокомментированы.

Показать и скрыть больше

15 новых идей проекта NodeMCU ESP8266 на 2022 год

ESP8266 — это недорогая SOC (система на кристалле), разработанная Espressif microsystems. Уникальная особенность ESP8266 заключается в том, что он позволяет подключаться к сети Wi-Fi 2,4 ГГц с использованием IEEE 802.11 b/g/n.

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



Проект Nanoleaf, напечатанный на 3D-принтере

Нанолистовые огни

Этот проект представляет собой самодельную версию световых панелей Nanoleaf. В нем используются светодиоды WS2811 на 12 В, размещенные в треугольных акриловых листах, которые придают стильное сияние вашим стенам. Для управления яркостью и насыщенностью каждой светящейся панели вы можете выбрать один из двух способов:

  • Голосовой помощник Amazon Alexa
  • Интеллектуальная система освещения Philips Hue

Вы также можете интегрировать ее в другие сервисы, такие как процедуры IFTT.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Нанолист проект

Умный магнитный дверной замок

Магнитный умный дверной замок

Эта идея проекта ESP8266 поможет вам сделать умный замок для вашей комнаты или офиса. Есть три способа открыть эту дверь:

  • С помощью ИК-датчика
  • С помощью веб-приложения
  • С помощью секретного стука в дверь

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

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Магнитный умный дверной замок

Робот-гуманоид

Гуманоидный робот

Робот-гуманоид напоминает по форме человеческое тело и используется в исследованиях, образовании, здравоохранении, развлечениях и многом другом.

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

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Робот-гуманоид

Моддинг беспроводного дверного звонка

Беспроводной дверной звонок

Когда кто-то звонит в дверь, иногда мы находимся слишком далеко от своей двери, чтобы дотянуться до нее. Или мы заняты какой-то обычной работой по дому. В таком случае не было бы проще, если бы мы каким-то образом уведомили человека с сообщением, фактически не переходя туда?

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

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Беспроводной дверной звонок

Домашняя автоматизация

Домашняя автоматизация

Как следует из названия, этот проект ESP8266 позволяет разумно управлять бытовой техникой. С помощью приложения Blynk вы можете удаленно включать и выключать свет, вентилятор или другие электрические устройства. Даже вы также можете отрегулировать скорость вращения вентилятора с помощью ползунка в приложении.

Датчик температуры регулярно отслеживает температуру окружающей среды и контролирует состояние вентилятора/кондиционера. Датчик PIR проверяет любые движения и предупреждает, если злоумышленник пытается проникнуть в дом.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Домашняя автоматизация

Модель железной дороги, управляемая смартфоном

Модель железной дороги, управляемая смартфоном

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

  • Скорость: С помощью этого ползунка вы можете увеличить/уменьшить скорость локомотива.
  • Направление: Две кнопки, то есть вперед и назад, используются для изменения направления движения локомотива.

Вы даже можете выбирать/переключаться между несколькими путями для локомотива.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Железная дорога, управляемая смартфоном

Метеостанция

Метеостанция

Это одна из самых простых идей проекта ESP8266, представленных в нашем списке проектов ESP8266.Все, что вам нужно, это плата разработчика ESP8266 и OLED-экран. Как только вы установите местоположение в коде, ESP регулярно проверяет и обновляет погоду, температуру, влажность и обновляет информацию на OLED-экране.

Метеостанция занимает лишь крошечную часть вашего офисного/учебного стола. Он опускает требование телефона для обновления погоды. Таким образом, вы можете сосредоточиться на своей работе.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Метеостанция

Робот с голосовым управлением

Робот с голосовым управлением

Этот проект использует Google Assistant, Adafruit IO и платформу IFTTT для управления роботом с помощью голоса.Работа этого проекта может показаться сложной, но она проста.

После произнесения одной из настроенных команд в приложении голосового помощника Google эти команды преобразуются в сообщение и передаются в Adafruit IO. Затем робот получает эти команды и следует конкретной инструкции.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Робот с голосовым управлением

Часы Deauther

Часы Deauther

Часы Deauther — это умные часы с более продвинутыми и классными функциями.Цель этого проекта — повысить образовательную ценность среди создателей. Он не должен/не должен использоваться для вторжения/доступа к неизвестным сетям. Используя эти часы, вы можете выбрать два типа атаки:

В двух словах, атака деаутентификации закрывает доступ к вашему Wi-Fi. Чтобы начать атаку Deauth, сначала вам нужно выбрать станцию ​​APN. После выбора запускайте атаку и бум. Теперь вы больше не можете подключиться к этой сети Wi-Fi.

Атака маяка создает новые точки доступа. Когда вы запустите эту атаку, вы заметите несколько недавно созданных точек доступа Wi-Fi.Вы можете легко изменить имена в сетевых SSID.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Часы Deauther

Робот, управляемый через Wi-Fi

Робот, управляемый через Wi-Fi

Это легко и креативно среди вышеперечисленных идей проекта ESP8266. Есть четыре способа управления этим роботом с помощью одного и того же приложения Blynk:

.
  • Использование кнопок управления: Этот интерфейс состоит из четырех кнопок для управления роботом. Вперед, назад, влево и вправо.
  • Использование ползунка: Состоит из двух ползунков. Каждый ползунок управляет движением двух моторов. Левый ползунок питает только моторы слева. Правый ползунок приводит в действие двигатели справа.
  • Использование акселерометра: В этом методе робот движется в соответствии с ориентацией телефона. Ускорение/замедление в определенном направлении зависит от степени наклона.
  • Использование джойстика: Наиболее распространенный способ управления роботом.Джойстик свободно перемещается в любом направлении, тем самым перемещая робота.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Робот, управляемый по Wi-Fi

Управление шаговым двигателем

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

При запуске установки на OLED-экране макетной платы отображается IP-адрес подключенного модуля ESP.Ползунок в веб-интерфейсе позволяет задать точное положение шагового двигателя.

Итак, если вы новичок и ищете простой проект в этом списке идей проекта ESP8266, то этот проект для вас.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Управление шаговым двигателем

Танк, управляемый смартфоном

Танк, управляемый смартфоном v1

Этот танк немного отличается от вышеописанных танков. Вместо металлического или пластикового корпуса используется корпус из картона и палочек от мороженого.

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

Один двигатель постоянного тока управляет механизмом стрельбы, а два отдельных двигателя постоянного тока управляют движением танка. Используя ESP8266, вы можете управлять резервуаром через веб-интерфейс на своем смартфоне.

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Танк, управляемый смартфоном v1

Альтернативная версия модели

Танк, управляемый смартфоном v2

Альтернативная версия этого проекта использует самодельное рулевое управление для управления движением танка.Эта функция дает вам лучший опыт вождения танка. Также эта версия танка стреляет огненными шарами вместо обычных снарядов. Звучит интересно, правда?

**Чтобы узнать больше о проекте, перейдите по этой ссылке:

Танк, управляемый смартфоном v2

Итак, мы надеемся, что вам понравились наши избранные идеи проекта ESP8266. Проекты представляли собой смесь начальных, промежуточных и продвинутых идей. Если этот блог помог вам выбрать идеальный проект, оставьте комментарий ниже в разделе комментариев.

Начало работы — документация ESP8266 RTOS SDK Programming Guide

Этот документ предназначен для помощи пользователям в настройке программной среды для разработки приложений с использованием оборудования на базе Espressif ESP8266EX. На простом примере мы хотели бы проиллюстрировать, как использовать ESP8266_RTOS_SDK (стиль ESP-IDF), включая настройку на основе меню, компиляцию ESP8266_RTOS_SDK и загрузку прошивки на платы ESP8266EX.

Введение

Микроконтроллер ESP8266EX включает в себя 32-разрядный RISC-процессор Tensilica L106, который обеспечивает сверхнизкое энергопотребление и максимальную тактовую частоту 160 МГц.Операционная система реального времени (RTOS) и стек Wi-Fi позволяют использовать около 80% вычислительной мощности для программирования и разработки пользовательских приложений.

Espressif предоставляет базовые аппаратные и программные ресурсы, которые помогают разработчикам приложений строить свои идеи на основе оборудования серии ESP8266EX. Среда разработки программного обеспечения от Espressif предназначена для быстрой разработки приложений Интернета вещей (IoT) с Wi-Fi, управлением питанием и некоторыми другими системными функциями.

Что вам нужно

Для разработки приложений для ESP8266EX нужно:

  • ПК с операционной системой Windows, Linux или Mac
  • Набор инструментов для создания приложения для ESP8266EX
  • ESP8266_RTOS_SDK , который по существу содержит API для ESP8266EX и скрипты для работы с набором инструментов
  • Текстовый редактор для написания программ ( Проекты ) на C, например.Затмение
  • Сама плата ESP8266EX и USB-кабель для подключения к ПК

Разработка приложений для ESP8266EX

Подготовка среды разработки состоит из трех шагов:

  1. Настройка цепочки инструментов
  2. Получение ESP8266_RTOS_SDK с GitHub
  3. Установка и настройка Eclipse

Вы можете пропустить последний шаг, если предпочитаете использовать другой редактор.

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

  1. Конфигурация проекта и написание кода
  2. Компиляция проекта и связывание его для создания приложения
  3. Перепрошивка (загрузка) приложения на ESP8266EX
  4. Мониторинг/отладка приложения

См. приведенные ниже инструкции, которые помогут выполнить эти шаги.

Направляющие

Если у вас есть одна из плат разработки ESP8266, перечисленных ниже, щелкните предоставленные ссылки, чтобы начать работу.

Если у вас другая плата, перейдите к разделам ниже.

Получить ESP8266_RTOS_SDK

Помимо цепочки инструментов (которая содержит программы для компиляции и сборки приложения), вам также потребуются специальные API/библиотеки ESP8266. Они предоставлены Espressif в репозитории ESP8266_RTOS_SDK.

Чтобы получить локальную копию: откройте терминал, перейдите в каталог, в который вы хотите поместить ESP8266_RTOS_SDK, и клонируйте репозиторий с помощью команды git clone :

 компакт-диск ~/esp
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
 

ESP8266_RTOS_SDK будет загружен в ~/esp/ESP8266_RTOS_SDK .

Примечание

Эта команда клонирует ветку master, которая имеет последнюю разрабатываемую («передовую») версию ESP8266_RTOS_SDK. Он полностью функционален и еженедельно обновляется самыми последними функциями и исправлениями.

Примечание

Функция GitHub «Загрузить zip-файл» не работает с ESP8266_RTOS_SDK, требуется клон git .В качестве запасного варианта можно установить стабильную версию без Git.

Путь установки к ESP8266_RTOS_SDK

Программы набора инструментов получают доступ к ESP8266_RTOS_SDK, используя переменную среды IDF_PATH . Эта переменная должна быть установлена ​​на вашем ПК, иначе проекты не будут собираться. Настройка может производиться вручную при каждом перезапуске ПК. Другой вариант — настроить его на постоянной основе, определив IDF_PATH в профиле пользователя.

Установите необходимые пакеты Python

Пакеты Python, необходимые для ESP8266_RTOS_SDK, находятся в $IDF_PATH/requirements.файл txt . Вы можете установить их, запустив:

 python -m pip install --user -r $IDF_PATH/requirements.txt
 

Примечание

Пожалуйста, вызовите ту версию интерпретатора Python, которую вы будете использовать с ESP8266_RTOS_SDK. Версия интерпретатор можно проверить, выполнив команду python --version , и в зависимости от результата вы можете захотеть используйте python2 , python2.7 или аналогичный вместо python , например.:

 python2.7 -m pip install --user -r $IDF_PATH/requirements.txt
 

Начать проект

Теперь вы готовы подготовить свое приложение для ESP8266. Чтобы быстро начать, мы будем использовать проект get-started/hello_world из каталога примеров в IDF.

Скопируйте get-started/hello_world в каталог ~/esp :

 компакт-диск ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
 

Вы также можете найти ряд примеров проектов в каталоге примеров в ESP-IDF.Эти примеры каталогов проектов можно скопировать так же, как описано выше, чтобы начать свои собственные проекты.

Важно

Система сборки ESP8266_RTOS_SDK не поддерживает пробелы в путях к ESP8266_RTOS_SDK или к проектам.

Подключить

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

Настройка

Находясь в окне терминала, перейдите в каталог приложения hello_world , набрав cd ~/esp/hello_world . Затем запустите утилиту настройки проекта menuconfig :

.
 компакт-диск ~/esp/hello_world
сделать менюконфигурации
 

Если предыдущие шаги были выполнены правильно, появится следующее меню:

Конфигурация проекта — Домашнее окно

В меню перейдите к Serial Flasher config > Последовательный порт по умолчанию , чтобы настроить последовательный порт, на который будет загружаться проект.Подтвердите выбор, нажав клавишу ввода, сохраните конфигурацию, выбрав <Сохранить> , а затем выйдите из приложения, выбрав <Выход> .

Примечание

В Windows последовательные порты имеют такие имена, как COM1. В MacOS они начинаются с /dev/cu. . В Linux они начинаются с /dev/tty .

Вот несколько советов по навигации и использованию menuconfig :

  • Используйте клавиши со стрелками вверх и вниз для навигации по меню.
  • Используйте клавишу Enter, чтобы войти в подменю, клавишу Escape, чтобы выйти или выйти.
  • Тип ? , чтобы увидеть экран справки. Клавиша Enter закрывает экран справки.
  • Используйте клавишу пробела или клавиши Y и N для включения (Да) и отключения (Нет) элементов конфигурации с флажками « [*] »
  • Нажатие ? при выделении элемента конфигурации отображает справку об этом элементе.
  • Введите / для поиска элементов конфигурации.

Примечание

Если вы являетесь пользователем Arch Linux , перейдите к конфигурации инструмента SDK и измените имя интерпретатора Python 2 с python на python2 .

Сборка и прошивка

Теперь вы можете собрать и прошить приложение. Пробег:

Это скомпилирует приложение и все компоненты ESP8266_RTOS_SDK, сгенерирует загрузчик, таблицу разделов и двоичные файлы приложения и запишет эти двоичные файлы на вашу плату ESP8266.

 esptool.py v2.4.0
Прошивка двоичных файлов на последовательный порт /dev/ttyUSB0 (приложение по смещению 0x10000)...
esptool.py v2.4.0
Подключение....
Чип ESP8266EX.
Особенности: Wi-Fi
MAC: эк: фа: до н. э.: 1д: 33: 2д
Загрузка заглушки...
Бегущая заглушка...
Стаб бежит...
Настройка размера флэш-памяти...
Сжато 7952 байта до 5488...
Записал 7952 байта (5488 сжатых) по адресу 0x00000000 за 0,5 секунды (эффективная скорость 129,9 кбит/с)...
Хэш данных проверен.
Сжато 234800 байт до 162889...
Записано 234800 байт (162889 сжато) по адресу 0x00010000 за 14.4 секунды (эффективная скорость 130,6 кбит/с)...
Хэш данных проверен.
Сжато 3072 байта до 83...
Записал 3072 байта (83 сжатых) по адресу 0x00008000 за 0,0 секунды (эффективная скорость 1789,8 кбит/с)...
Хэш данных проверен.

Уход...
Аппаратный сброс через пин RTS...
 

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

Если вы хотите использовать Eclipse IDE вместо запуска make , ознакомьтесь с руководством по Eclipse.

Монитор

Чтобы убедиться, что приложение «hello_world» действительно запущено, введите make monitor .

$ сделать монитор МОНИТОР — idf_monitor на /dev/ttyUSB0 74880 — — Выход: Ctrl+] | Меню: Ctrl+T | Справка: Ctrl+T, затем Ctrl+H —

ets 8 января 2013, первая причина: 1, режим загрузки: (3,6)

загрузка 0x40100000, длина 4400, комната 16 0x40100000: _stext в ??:?

хвост 0 контрольная сумма 0x6f загрузка 0x3ffe8408, длина 3516, комната 8 хвост 4 контрольная сумма 0x5d …

Несколькими строками ниже, после запуска и журнала диагностики, вы должны увидеть «версия SDK: xxxxxxx», распечатанную приложением.

 ...
Версия SDK: v3.1-dev-311-g824cd8c8-грязный
 

Для выхода из монитора используйте сочетание клавиш Ctrl+] .

Примечание

Если вместо сообщений выше вы видите случайный мусор, похожий на:

 e����)([email protected]�y.!��(�PW+)��Hn9a؅/9�!�t5��P�~�k��e�ea�5�jA
~zY��Y(1�,1�� e���)([email protected]�y.!Dr�zY(�jpi�|�+z5Ymvp
 

Чтобы выполнить make flash и make monitor за один раз, введите make flash monitor .

Это все, что вам нужно для начала работы с ESP8266!

Теперь вы готовы попробовать другие примеры или приступить к разработке собственных приложений.

Переменные среды

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

Переменные Описание и использование
ЭСППОРТ

Переопределяет последовательный порт, используемый во флэш-памяти и мониторе .

Примеры: make flash ESPPORT=/dev/ttyUSB1 , сделать монитор ESPPORT=COM1

ESPBAUD

Переопределяет скорость передачи данных при прошивке ESP32.

Пример: make flash ESPBAUD=9600

МОНИТОРБОД

Отменяет скорость последовательной передачи данных, используемую при мониторинге.

Пример: сделать монитор MONITORBAUD=9600

Примечание

Пользователи могут экспортировать переменные среды (например,грамм. экспортировать ESPPORT=/dev/ttyUSB1 ). Все последующие вызовы делают в рамках одного и того же терминального сеанса. экспортируемое значение при условии, что переменная не переопределяется одновременно.

Включите свои проекты ESP8266 и ESP32: установка через браузер и настройка Wi-Fi через Bluetooth LE

ESP8266 и ESP32 — микроконтроллеры китайской компании Espressif. Микроконтроллеры — это крошечные компьютеры с небольшой мощностью процессора. память и пространство, которые могут взаимодействовать с датчиками, отправлять инфракрасные команды и многое другое.

С помощью устройств ESP компания Espressif добилась выдающихся результатов: их устройства имеют Wi-Fi, совместимы с кодом для популярного микроконтроллера Arduino и они дешевые. Например, 5 долларов, включая доставку из Китая, дешево. (AliExpress) или 15 долларов за 2 на Amazon дешево. Настолько дешевы, что являются стандартом де-факто для микроконтроллеров, используемых в Продукты IoT, как для производителей, так и для создателей в сфере DIY.

Quindor и DrZzs играют с QuinLED на базе ESP32, работающим с WLED (YouTube)

Микроконтроллеры — это просто компьютеры, и поэтому они ничто без своего программного обеспечения.Программное обеспечение с открытым исходным кодом, такое как ESPHome, WLED и Tasmota позволяет пользователям превращать свои устройства ESP8266 и ESP32 в мощные маленькие машины, которые могут собирать информацию и управлять устройствами. В вашем доме микроконтроллеры — это глаза и уши, а Home Assistant это мозг.

Но у всех этих проектов есть общая проблема: их трудно начать. Мы определили три болевые точки:

  1. Установка программного обеспечения на микроконтроллер.
  2. Подключение микроконтроллера к беспроводной сети.
  3. Настройте программное обеспечение на микроконтроллере.

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

Сегодня мы представляем некоторые вещи, облегчающие использование микроконтроллеров.

Использование терминов, понятных всем

Мы начнем использовать понятные пользователю слова вместо принудительного технические термины на них.Такие термины, как «прошивка» и «перепрошивка» , являются правильная терминология, но для неопытных пользователей они приносят больше вреда, чем пользы. Они заставят пользователя чувствовать себя некомфортно, прежде чем они даже начнут.

Таким образом, вместо «загрузить прошивку» мы обновили панель управления ESPHome, чтобы говорить около «установка» . Мы призываем другие проекты делать то же самое.

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

ESP Web Tools: Установка проектов на микроконтроллер через браузер

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

Это работает как для ESP8266, так и для ESP32 и с любым проектом для них. устройства. Эта технология основана на Web Serial, веб-стандарте для последовательного связь, которая является частью Google Chrome и Microsoft Edge.

Веб-инструменты ESP Web уже приняты как часть адаптации WLED и ESPEasy.

Узнайте, как добавить веб-инструменты ESP на свой веб-сайт

Если у вас есть под рукой устройство ESP32 или ESP8266, вы можете попробовать его прямо здесь:

ESP Web Tools использует код, написанный @MakerMelissa из Adafruit.В настоящее время мы полагаемся на усовершенствованном форке, который подходит для более широкого спектра вариантов использования, включая наш. У нас есть запрос на включение, чтобы вернуть внесенные нами изменения.

Веб-сайт веб-инструментов ESP

Примечание. Нам не нравится использовать технологии, которые доступны не во всех браузерах. и не могут быть доступны другими способами. Однако в этом случае преимущества перевешивают минусы. Мы надеемся, что Firefox и WebKit добавят поддержку Web Serial. в будущем.

Improv Wi-Fi: открытый стандарт для предоставления учетных данных Wi-Fi через Bluetooth с низким энергопотреблением

Мы создали Improv Wi-Fi.Improv Wi-Fi — бесплатный и открытый стандарт который каждый может использовать, чтобы предложить пользователям удобный способ подключения их устройств к беспроводной сети.

Для прошивок с открытым исходным кодом есть два популярных способа получить устройство для подключиться к вашей беспроводной сети. Устройство настроит беспроводную сеть, и вы необходимо подключиться к нему через телефон или ноутбук, либо пользователь компилирует сеть и пароль в прошивку перед ее установкой на ESP. Оба метода сложны и подвержены ошибкам, они предлагают плохой пользовательский опыт.

Если вы посмотрите на готовые продукты, вы увидите другой подход: отправить учетные данные Wi-Fi на устройство через Bluetooth с низким энергопотреблением (BLE). BLE позволяет пользователь, чтобы получить мгновенную обратную связь, если что-то пойдет не так. Эта технология используется во многих продуктах, но не существует открытого стандарта, который можно было бы свободно реализовать. Improv Wi-Fi — это открытый стандарт, который можно внедрить бесплатно.

Проекты с открытым исходным кодом часто размещают свой интерфейс управления в виде веб-сайта на Устройство ЭСП. Improv Wi-Fi поддерживает это, и когда инициализация завершена, пользователь могут быть перенаправлены на URL-адрес для завершения регистрации.

Improv Wi-Fi сегодня можно использовать для обеспечения работы микроконтроллеров ESP32. ESPHome (устройства ESP8266 не поддерживают BLE). Пользователи скоро будут возможность предоставления устройств с услугой Wi-Fi Improv через Home Assistant Приложения для Android и iOS. Все эти реализации имеют открытый исходный код и могут быть использованы в ваших проектах.

Improv Wi-Fi также доступен для Интернета в виде кнопки, которую можно добавлен на ваш сайт. Это позволит пользователям настраивать и настраивать устройство из любого браузера, поддерживающего Web Bluetooth.

Если вы использовали кнопку установки в предыдущем разделе, но еще не подключил его к беспроводной сети, вы можете подключить это устройство здесь:

Веб-сайт Improv Wi-Fi

Панель инструментов ESPHome: упрощенная и оптимизированная

Пользователи ESPHome не программируют микроконтроллеры, они настраивают их. Сообщите ESPHome, что датчик температуры находится на контакте 3 вашего устройства ESP. и ESPHome установит специальное программное обеспечение на ваше устройство ESP, которое сделает это информация, доступная в Home Assistant.

  # Пример конфигурации ESPHome
датчик:
  - платформа: ДХТ
    штифт: D2
    температура:
      Название: "Температура в гостиной"
    влажность:
      название: "Влажность в гостиной"
    update_interval: 60 сек.
  

Информационная панель ESPHome была обновлена ​​с помощью упрощенного и оптимизированного мастера. для новых конфигураций. Теперь вы вводите название вашего проекта и ваш Wi-Fi учетные данные, и он установит его на ваше устройство ESP через браузер. После что все дальнейшие обновления будут происходить по беспроводной сети.

ESPHome: проекты

Мы хотим, чтобы авторы могли легко продавать продукты на базе ESPHome, которые предлагают отличный пользовательский опыт. Проекты ESPHome охватывают локальное управление и интегрируют хорошо с Home Assistant, и поэтому каждый дополнительный продукт ESPHome, который наши пользователи можно купить это победа.

Чтобы упростить связь создателей и пользователей после того, как продукт установлены, проекты теперь могут добавлять идентификатор проекта и версию к своим прошивка (документы). С участием сегодняшнем выпуске эта информация будет доступна в информации об устройстве, вывод журнала и информация об обнаружении mDNS.

Цель состоит в том, чтобы более тесно интегрировать проекты в панель управления ESPHome путем показывать логотип проекта, ссылку на документацию и страницы проблем и разрешать установка обновлений.

Почему мы строим этот

Миссия Home Assistant — сделать локальную домашнюю автоматизацию жизнеспособной альтернативой к облачным решениям и доступным для всех.

Чтобы воплотить эту миссию в жизнь, мы основали компанию Nabu Casa. Вместе с сообщества, Nabu Casa разрабатывает Home Assistant и ESPHome и финансируется исключительно людьми, которые поддерживают эту миссию.Без инвесторов и кредитов.

Если вы хотите помочь финансировать нашу работу, подпишитесь на Home Assistant Cloud.

ESP8266 ПРОЕКТЫ

РЕЗЮМЕ Телемедицина является одним из самых популярных и развивающихся приложений в области медицины, которое развилось, чтобы помочь пациентам и людям получать более качественную и быструю медицинскую помощь. Для достижения лучшего пациента… Читать дальше » ВВЕДЕНИЕ В этом цифровом мире нам нужно, чтобы все вокруг нас было автоматическим и безопасным, что сокращает человеческие усилия.Появляется все больше электронных схем, которые облегчают сегодняшнюю жизнь и… Читать дальше » Введение Когда мы подключаем любой датчик к nodemcu, мы можем легко прочитать его значение, а не только то, что мы также можем отобразить его значение в последовательном мониторе или на любом устройстве отображения. Сегодня… Читать дальше » Введение Мониторинг температуры и влажности играет жизненно важную роль в нашей повседневной жизни. Мониторинг и контроль температуры и влажности являются очень важной частью домашней автоматизации, автоматических сушильных инкубаторов и т.д… Прочитайте больше » Введение Как только в нашем nodemcu установлено Wi-Fi-соединение, наша основная задача выполнена, но самое главное — это то, как мы можем общаться с нашим nodemcu с другими разными клиентами. мы… Читать дальше » Введение Если мы выполняем какие-либо проекты, связанные с Интернетом, то наша первая задача — подключить узел mcu к Wi-Fi. Для подключения нам необходимо выполнить различные процедуры, которые мы будем… Читать дальше » Введение NodeMCU — это недорогая платформа IOT с открытым исходным кодом.Поскольку nodeMCU является платформой с открытым исходным кодом, их аппаратный дизайн открыт для редактирования, модификации и сборки. Он включает прошивку, которая работает на… Читать дальше » 1. ВВЕДЕНИЕ 1.1 Общие сведения Автоматизация является одной из растущих потребностей как в промышленности, так и в быту. Автоматизация сокращает человеческие усилия, заменяя человеческие усилия системой, которая работает самостоятельно…. Читать дальше »

Лучшая плата для разработки Wi-Fi ESP8266

Хотите начать работу с ESP8266? Затем прочитайте этот пост, чтобы определить лучшую плату для разработки Wi-Fi ESP8266 для требований вашего проекта.

ESP8266 — это модуль Wi-Fi стоимостью 4 (до 10 долларов США). Он позволяет вам управлять входами и выходами, как если бы вы делали это с Arduino, но поставляется с Wi-Fi.

Появилась новая плата под названием ESP32, поэтому вам может быть интересно прочитать Лучшие платы для разработки ESP32 .

Если сравнивать ESP с другими решениями Wi-Fi на рынке, то это отличный вариант для большинства проектов «Интернета вещей»! Легко понять, почему он так популярен: он стоит всего несколько долларов и может быть интегрирован в сложные проекты.Кроме того, он совместим с Arduino IDE. Итак, если вы раньше работали с Arduino, вы легко привыкнете к работе с ESP8266.

Мы опубликовали десятки бесплатных проектов и руководств по ESP8266. Один из лучших проектов для экспериментов с ESP8266, когда вы только начинаете, — это создание простого веб-сервера для управления выводами.

Рекомендуемый ресурс: Домашняя автоматизация с использованием электронной книги ESP8266


Сравнение лучших плат ESP8266

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

Мы создали подробное справочное руководство по выводам ESP8266, в котором подробно описано, что делает каждый вывод и как их использовать.

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

Рекомендуемое чтение: ESP8266 Pinout Reference: Какие контакты GPIO следует использовать?

ESP8266 Комплект 12-E NodeMCU

Комплект ESP12-E NodeMCU — одна из наиболее часто используемых плат разработки ESP8266.Он имеет 4 МБ флэш-памяти, доступ к 11 контактам GPIO и одному контакту аналого-цифрового преобразователя (АЦП) с 10-битным разрешением. Кроме того, на плате есть встроенный регулятор напряжения, и вы можете подключить модуль, используя разъем mini USB или контакт Vin.

Загрузить код на плату так же просто, как загрузить код в Arduino. Нет необходимости в программаторе FTDI, так как он поставляется со встроенным преобразователем USB-последовательный порт.

Это модель платы ESP8266, которую мы чаще используем в наших проектах Wi-Fi и IoT.Он очень универсален и отлично подходит для начинающих. Итак, если вы впервые используете ESP8266, этот модуль — отличный выбор. Перейдите по ссылкам ниже, чтобы найти комплект ESP8266 12-E NodeMCU в своем любимом магазине.

WeMos D1 Мини

WeMos D1 Mini предлагает 4 МБ флэш-памяти, 11 GPIO, 1 контакт ADC в минимальной и небольшой конфигурации. Так что, если вам нужно что-то, что потребляет меньше энергии для более экономичного проекта, это хороший вариант. Кроме того, сообщество разработало широкий спектр экранов для мини-платы D1, что позволяет создавать небольшие и простые установки практически без проводки.Мини-доска WeMos D1 также является отличным вариантом для начинающих.

Однако плата не поставляется с припаянными штыревыми контактами, поэтому вам придется припаять их самостоятельно. Если вам нужен паяльник, вы можете посмотреть рекомендуемые паяльники для начинающих.

Мини-плата WeMos D1 стоит около 4 долларов в зависимости от магазина. Перейдите по ссылкам ниже, чтобы найти доску в вашем любимом магазине.

ЭСП8266 ЭСП-01

ESP-01 очень мал и помещается в любой корпус, поэтому идеально подходит для готовых проектов.Обновленная версия имеет 1 МБ флэш-памяти (в предыдущей версии было 512 КБ). Кроме того, он предлагает четыре GPIO для управления и подключения периферийных устройств (два из которых — TX и RX для последовательной связи). Так что, если вам нужно больше периферии в ваших проектах, лучше использовать одну из предыдущих плат.

К сожалению, плата не имеет встроенного стабилизатора напряжения, поэтому вам необходимо использовать источник питания 3V3 или добавить регулятор напряжения, чтобы понизить входное напряжение до 3V3. Кроме того, он не поставляется с преобразователем USB в последовательный порт, а это означает, что вам нужен программатор FTDI для загрузки кода на плату.Если вы хотите начать работу с ESP-01, прочитайте наше руководство по началу работы.

ESP-01 отлично подходит для приложений, требующих небольшого количества периферийных устройств. Однако, если вы впервые используете ESP8266, мы рекомендуем приобрести одну из предыдущих плат. Они более удобны для новичков и более универсальны.

Это самый дешевый модуль ESP8266. Перейдите по ссылкам ниже, чтобы найти ESP-01 в вашем любимом магазине.

Рекомендуемый ресурс: Домашняя автоматизация с использованием электронной книги ESP8266


Нужна помощь в начале работы с ESP8266?

ESP8266 сделал проекты Wi-Fi и IoT более доступными для производителей, любителей и широкой публики благодаря отличным функциям, простоте использования и доступной цене.Если вы хотите создать свой собственный проект IoT и вам нужна помощь в начале работы, у нас есть несколько ресурсов для вас.

Домашняя автоматизация с ESP8266

Это наш премиальный курс ESP8266. Узнайте, как использовать ESP8266 для автоматизации вашего дома. Даже если вы абсолютный новичок, вы сможете продолжить и придумать свои собственные проекты IoT. Получить доступ к курсу можно здесь.

ESP8266 Проекты

У нас есть десятки бесплатных проектов с ESP8266.Вот краткий список некоторых из наших самых популярных проектов:

Вы также можете искать все наши проекты ESP8266.

Подведение итогов

В этой статье мы рассмотрели три разные платы разработки ESP8266: ESP8266 12-E NodeMCU Kit, WeMos D1 Mini и ESP-01. Конечно, есть еще много разных плат, но мы рассмотрели те, которые используем чаще, и которые также являются самыми популярными.

Мы рекомендуем комплект NodeMCU Kit или WeMos D1 Mini, поскольку обе платы имеют встроенный чип программатора, упрощающий загрузку кода.Кроме того, они также предлагают разумное количество контактов GPIO. Если вы новичок, вам следует выбрать одну из этих досок. Однако, если вам нужна крошечная плата для вашего проекта и вам нужно всего 2 GPIO, ESP-01 — лучшая и более дешевая альтернатива.

Добавить комментарий

Ваш адрес email не будет опубликован.