Nodemcu esp8266 wifi esp 12e lua

Первый взгляд на NodeMCU V3 Lua.

NodeMcu – платформа на основе чипа ESP8266 для создания различных устройств IoT. Это не дорогой модуль по сути состоит из платы ESP-12E припаянной на шилд с UART-USB контроллером (CH340) и выводима чипа. Версия 3 (V3) оснащена 4 Mb флешь-памяти и выводом microUsb.

Питание модуля :

Модуль может питаться несколькими способами :

  • В через USB-разъем или контакт VUSB(VU);
  • Подавать 5-12 В через контакт Vin;
  • 3,3В через вывод 3V.

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

Модуль V3 имеет 11 контактов ввода-вывода общего назначения. Помимо этого некоторые из выводов обладают дополнительными функциями:

  • D1-D10 – выводы с широтно-импульсной модуляцией;
  • D1, D2– выводы для интерфейса I²C/TWI;
  • D5–D8 – выводы для интерфейса SPI;
  • D9, D10 – UART;
  • A0 – вход с АЦП.

Что такое NodeMCU?

NodeMCU — открытый бесплатный проект на основе скриптового языка Lua. А по сути прошивка для ESP8266. Прошивка умеет исполнять Lua-скрипты как из последовательного UART порта (аналогично AT-командам) так и из внутренней flash памяти (выполняя скрипты). Lua скрипты сохраняются во Flash используя внутреннею файловою систему. Файловая система плоская, упрощенная. Т.е. без подкаталогов. Тем не менее – это круто. Не стоит забывать, что ESP8266 – это всего лишь микроконтроллер. Из скриптов так же можно получить доступ к файлам, читать и сохранять различную информацию.

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

На данный момент поддерживается очень большое количество датчиков, акселерометров , таймеры , модули шифрования и т.д Прочесть подробней можно на https://nodemcu.readthedocs.io/en/master/

Что такое язык Lua?

Lua – скриптовый язык программирования, разработанный в подразделении Tecgraf. Интерпретатор языка является свободно распространяемым, с открытыми исходными текстами на языке Си. Интерпретируемый язык, который, как и большинство современных интерпретируемых языков, может хранить скомпилированные версии скриптов. Это позволяет увеличить скорость работы. Он не сложный, и если Вы уже программировали на любом языке, то Lua Вы изучите очень быстро. Есть некоторые особенности при работе с Lua на NodeMCU. В основном это связано с конечным объемом памяти микроконтроллера ESP8266.

Начнем ломать или с чего начать:

В итоге мы имеем 80 MHz 32-bit процессор Tensilica с Wi-FI, I²C, SPI, UART, АЦП интерфейсами. Заливаем в него прошивку NodeMCU с нужными модулями и потом пишем скрипт на Lua который выполняет контролер.

Прошивка:

Тут есть два пути. Сложный — скачать исходники и капаться с ними самому, что нам совсем не подходит. Или воспользоваться сайтом конструктором который выдаст вам готовую прошивку. Например воспользуемся сайтом https://nodemcu-build.com

  • file — файловая система.
  • GPIO — и в Африке GPIO.
  • node — системная библиотека.
  • net — думаю понятно из названия. Поддержка net.
  • timer — работа с таймерами и задержкой.
  • UART— поддержка UART.
  • WiFI — WiFI.

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

Теперь нам надо загрузить ее в плату. Идем опять на наш любимый GitHub и качаем от туда NodeMSU flasher для 32 битной или 64 битной Windows. Хочу заметить что для любителей Linux есть версия и для них 😉

Подключаем плату, в диспетчере устройств смотрим на каком COM порту она определилась.

В закладке Config выбираем файл прошивки :

И запускаем прошивку, если после нажатия кнопки “Flash” процесс прошивки не начался (не появились МАС-адреса), нажмите кнопку “reset” на плате и повторите попытку.

ESPlorer, init.lua – пишем первый скрипт

Для написания и заливки скриптов будем использовать программу ESPlorer. Это кроссплатформенная программа написана на Java и так же не требует установки. Работает одинаково как под Windows так и под Linux. У нее есть свои преимущества и удобства.

  • Подсветка синтаксиса кода LUA и Python
  • Цветовые темы редактора кода: default, dark, Eclipse, IDEA, Visual Studio
  • Функции редакторов отмены/повтора
  • Автозаполнение Кода (Ctrl + Пробел).
  • Smart отправить данные на ESP8266 (без тупой отправить с фиксированной задержкой линии), проверить правильный ответ от ESP8266 после каждой линии.

Тут все просто, выбираем порт , выбираем скорость (у меня это 115200) нажимает Open и подключаемся к плате. Файловая система устроена так что первый скрипт при запуске модуля запускается init.lua (lua это просто расширение скрипта). В левой стороне мы запишем одну тестовую строчку:

Сохраним файл как init.lua . По умолчанию файл сохраняется и на диск компьютера и заливается на ESP8266.

Циклическая перезагрузка. Это случается если допустить критическую ошибку в скрипте который стартует автоматически. NodeMCU стартует, выполняет “глючный” скрипт, нарывается на критическую ошибку и уходит в перезагрузку. И так до бесконечности.

Ну а теперь конечно же самое главное, проверим как работает WiFI ))) Для начала добавим строчку в init.lua :

dofile(«main.lua»)

И создадим новый скрипт с таким название :

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

wifi.setmode(mode[, save]) wifi.STATION— подключается к WiFI. wifi.SOFTAP — точка доступа.Это позволит вам увидеть устройство в списке WiFi сетей (если Вы не скрыть SSID, конечно). NodeMCU получит локальный IP-адрес 192.168.4.1 и назначит вашему компьютеру следующий доступный IP-адрес, например 192.168.4.2.

local cfg=<> — локальный массив cfg, замете в Lua не надо писать объем массива. Он может меняться как вам надо ограничиваясь только памятью. local указывает что эта переменную можно использовать только в этом скрипте.

wifi.sta.getip() — возвращает IP-адрес, маску сети, адрес шлюза как строку, например «192.168.0.111», возвращает nil , если IP-адрес = «0.0.0.0».

Самая замечательная возможность поднять свой сервер :

Мы затронули самую верхушку возможностей этой платы ))) На этом и закончим обзорную статью…

Читайте также:  OURLink 8211 600 Mbps Adapter 8211 USB WIFI Booster

Источник

Nodemcu esp8266 wifi esp 12e lua

Great news. You’re in the right place for esp8266 module esp 12e nodemcu lua wifi. By now you already know that, whatever you are looking for, you’re sure to find it on AliExpress. We literally have thousands of great products in all product categories. Whether you’re looking for high-end labels or cheap, economy bulk purchases, we guarantee that it’s here on AliExpress.

You’ll find official stores for brand names alongside small independent discount sellers, all of whom offer quick shipping and reliable, as well as convenient and safe, payment methods, no matter how much you choose to spend.

AliExpress will never be beaten on choice, quality and price. Every day you’ll find new, online-only offers, store discounts and the opportunity to save even more by collecting coupons. But you may have to act fast as this top esp8266 module esp 12e nodemcu lua wifi is set to become one of the most sought-after best-sellers in no time. Think how jealous you’re friends will be when you tell them you got your esp8266 module esp 12e nodemcu lua wifi on AliExpress. With the lowest prices online, cheap shipping rates and local collection options, you can make an even bigger saving.

If you’re still in two minds about esp8266 module esp 12e nodemcu lua wifi and are thinking about choosing a similar product, AliExpress is a great place to compare prices and sellers. We’ll help you to work out whether it’s worth paying extra for a high-end version or whether you’re getting just as good a deal by getting the cheaper item. And, if you just want to treat yourself and splash out on the most expensive version, AliExpress will always make sure you can get the best price for your money, even letting you know when you’ll be better off waiting for a promotion to start, and the savings you can expect to make.AliExpress takes pride in making sure that you always have an informed choice when you buy from one of hundreds of stores and sellers on our platform. Every store and seller is rated for customer service, price and quality by real customers. Plus you can find out the store or individual seller ratings, as well as compare prices, shipping and discount offers on the same product by reading comments and reviews left by users. Every purchase is star-rated and often has comments left by previous customers describing their transaction experience so you can buy with confidence every time. In short, you don’t have to take our word for it – just listen to our millions of happy customers.

And, if you’re new to AliExpress, we’ll let you in on a secret. Just before you click ‘buy now’ in the transaction process, take a moment to check for coupons – and you’ll save even more. You can find store coupons, AliExpress coupons or you can collect coupons every day by playing games on the AliExpress app. And, as most of our sellers offer free shipping – we think you’ll agree that you’re getting this esp8266 module esp 12e nodemcu lua wifi at one of the best prices online.

We’ve always got the latest tech, the newest trends, and the most talked about labels. On AliExpress, great quality, price and service comes as standard – every time. Start the best shopping experience you’ll ever have, right here.

Источник



Обзор платы NodeMCU ESP8266 и ее использование в Arduino IDE

Интернет вещей (IoT) является одной из самых популярных областей в мире технологий. Физические объекты и цифровой мир связаны сейчас как никогда. Помня об этом, компания Espressif Systems (шанхайская компания по производству полупроводниковых устройств) выпустила крутой микроконтроллер с поддержкой Wi-Fi, ESP8266, по невероятной цене! С помощью него менее чем за 3 доллара можно контролировать и управлять устройством из любой точки мира – идеально подходит практически для любого проекта IoT.

Характеристики платы NodeMCU ESP8266 и ее использование в Arduino IDE

Модуль ESP-12E

Отладочная плата оснащена модулем ESP-12E, содержащим микросхему ESP8266 с RISC микропроцессором Tensilica Xtensa® 32-bit LX106, который работает с регулируемой тактовой частотой от 80 до 160 МГц и поддерживает RTOS.

Характеристики ESP-12E

  • 32-разрядный LX106 от Tensilica Xtensa®
  • Тактовая частота от 80 до 160 МГц
  • 128 КБ встроенной оперативной памяти
  • 4 МБ внешней внешней флеш-памяти
  • Приемопередатчик Wi-Fi 802.11b/g/n

Также данный модуль имеет 128 КБ ОЗУ и 4 МБ флеш-памяти (для хранения программ и данных), достаточных, чтобы справиться с большими строками, которые составляют веб-страницы, данными в JSON/XML и всем, что мы сегодня добавляем на устройства IoT.

ESP8266 содержит встроенный приемопередатчик Wi-Fi 802.11b/g/n HT40, поэтому он может не только подключаться к сети Wi-Fi и взаимодействовать с интернетом, но и устанавливать собственную сеть, позволяя другим устройствам подключаться напрямую к нему. Это делает ESP8266 NodeMCU еще более универсальным.

Требования к питанию

Поскольку диапазон рабочего напряжения ESP8266 составляет от 3 В до 3,6 В, данная плата для поддержания постоянного напряжения на уровне 3,3 В поставляется с LDO стабилизатором напряжения. Он может надежно обеспечивать ток до 600 мА, чего должно быть более чем достаточно, поскольку ESP8266 во время радиочастотных передач потребляет до 80 мА. Выход стабилизатора также выводится на выводы на сторонах платы и обозначен как 3V3. Эти выводы можно использовать для подачи питания на внешние компоненты.

Требования к питанию

  • Рабочее напряжение: от 2,5 до 3,6 В
  • Встроенный стабилизатор: 3,3 В, 600 мА
  • Рабочий ток: 80 мА
  • Потребление в спящем режиме: 20 мкА
Читайте также:  Умный водяной клапан Tuya Wi Fi для системы защиты от утечки воды совместимый с Alexa Google Home и IFTTT

Питание к ESP8266 NodeMCU подается через встроенный USB-разъем MicroB. В качестве альтернативы, если у вас есть стабилизированный источник напряжения 5 В, можно использовать вывод VIN для непосредственного питания ESP8266 и его периферии.

Предупреждение

ESP8266 требует 3,3 В для питания и логические уровни 3,3 В для связи. Контакты GPIO не допускают напряжение 5 В! Если вы хотите соединить плату со схемами 5 В (или выше), то необходимо реализовать согласование логических уровней.

Периферия и ввод/вывод

ESP8266 NodeMCU имеет в общей сложности 17 выводов GPIO, выведенных на разъемы с обеих сторон отладочной платы. Эти выводы могут использоваться для выполнения различных периферийных задач, в том числе:

  • вход АЦП – канал 10-разрядного АЦП;
  • интерфейс UART – интерфейс UART используется для загрузки кода по последовательной связи;
  • выходы ШИМ – выводы ШИМ могут использоваться для регулировки яркости светодиодов или управления двигателями;
  • интерфейсы SPI, I2C – интерфейсы используются SPI и I2C для подключения всевозможных датчиков и периферийных устройств;
  • интерфейс I2S – интерфейс I2S используется для цифровой передачи звука.

Мультиплексируемые выводы ввода/вывода

  • 1 канал АЦП
  • 2 интерфейса UART
  • 4 выхода ШИМ
  • Интерфейсы SPI, I2C и I2S

В ESP8266 используется функция мультиплексирования выводов (несколько периферийных устройств мультиплексируются на один вывод GPIO). Это означает, что один вывод GPIO может действовать как PWM/UART/SPI.

Кнопки и светодиодный индикатор на плате

На плате ESP8266 NodeMCU находятся две кнопки. Одна из них, помеченная как RST, расположенная в верхнем левом углу, представляет собой кнопку сброса, которая, конечно же, используется для сброса микросхемы ESP8266. Другая кнопка, FLASH, в левом нижнем углу – это кнопка загрузки, используемая при обновлении прошивки.

Кнопки и индикаторы

  • RST – сброс чипа ESP8266
  • FLASH – загрузка новой программы
  • Синий светодиод — программируется пользователем

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

Последовательная связь

На плате установлен контроллер USB-UART CP2102 от Silicon Labs, который преобразует USB сигнал в сигнал последовательного порта и позволяет компьютеру программировать и взаимодействовать с микросхемой ESP8266.

Последовательная связь

  • USB-UART преобразователь CP2102
  • Скорость связи 4,5 Мбит/с
  • Поддержка управления потоком

Если на вашем компьютере установлена старая версия драйвера CP2102, рекомендуем выполнить обновление прямо сейчас.

Распиновка ESP8266 NodeMCU

С внешним миром ESP8266 NodeMCU соединяют всего 30 выводов. Ниже показана распиновка отладочной платы.

Рисунок 6 Распиновка ESP8266 NodeMCU Рисунок 6 – Распиновка ESP8266 NodeMCU

Для простоты мы сгруппируем выводы с аналогичными функциями.

Выводы питания – на плате расположено четыре вывода питания, а именно: один вывод VIN и три вывода 3.3V. Если у вас есть стабилизированный источник напряжения 5 В, вывод VIN можно использовать для непосредственного питания ESP8266 и его периферии. Выводы 3.3V – это выходы встроенного стабилизатора напряжения. Эти выводы могут использоваться для подачи питания на внешние компоненты.

GND – это вывод земли отладочной платы ESP8266 NodeMCU.

Выводы I2C используются для подключения всех видов датчиков и периферийных устройств на шине I2C в вашем проекте. Поддерживаются и I2C Master, и I2C Slave. Работа интерфейса I2C может быть реализована программно, а тактовая частота составляет максимум 100 кГц. Следует отметить, что тактовая частота I2C должна быть выше самой низкой тактовой частоты из ведомых устройств.

Выводы GPIO На ESP8266 NodeMCU имеется 17 выводов GPIO, которые можно назначать программно на различные функции, такие как I2C, I2S, UART, PWM, дистанционное инфракрасное управление, светодиодный индикатор и кнопка. Каждый включенный вывод GPIO может быть настроен либо на внутреннюю подтяжку к земле или к шине питания, либо установлен на высокоимпедансное состояние. При конфигурировании на вход для генерирования прерываний процессора он может быть настроен на срабатывание либо по фронту, либо по спаду.

Вывод ADC подает сигнал на имеющийся в NodeMCU, встроенный 10-разрядный прецизионный аналого-цифровой преобразователь последовательного приближения (SAR ADC). С помощью этого АЦП могут быть реализованы две функции: проверка напряжения питания на выводе VDD3P3 и проверка входного напряжения на выводе TOUT (но не одновременно).

Выводы UART ESP8266 NodeMCU имеет 2 интерфейса UART, то есть UART0 и UART1, которые обеспечивают асинхронную связь (RS232 и RS485) и могут обмениваться данными со скоростью до 4,5 Мбит/с. Для связи можно использовать UART0 (выводы TXD0 , RXD0 , RST0 и CTS0 ), который поддерживает управление потоком. UART1 (вывод TXD1 ) поддерживает только сигнал передачи данных, поэтому он обычно используется для печати журнала событий.

Выводы SPI ESP8266 имеет два интерфейса SPI (SPI и HSPI), поддерживающих и ведомый (slave), и ведущий (master) режимы. Эти интерфейсы SPI также поддерживают следующие функции SPI:

  • 4 режима синхронизации передачи SPI;
  • до 80 МГц и тактовые частоты, полученные делением 80 МГц;
  • до 64 байт FIFO.

Выводы SDIO ESP8266 имеет защищенный цифровой интерфейс ввода/вывода (SDIO, Secure Digital Input/Output Interface), который используется для прямого подключения карт SD. Поддерживаются 4-битный 25 МГц SDIO v1.1 и 4-битный 50 МГц SDIO v2.0.

Выводы PWM На плате имеется 4 канала широтно-импульсной модуляции (PWM). Выход ШИМ может быть реализован программно и использован для управления двигателями и светодиодами. Частотный диапазон ШИМ регулируется от 1000 мкс до 10000 мкс, то есть от 100 Гц до 1 кГц.

Выводы управления используются, как ни странно, для управления ESP8266. Эти выводы включают в себя вывод включения микросхемы EN , вывод сброса RST и вывод пробуждения WAKE .

  • Вывод EN – микросхема ESP8266 включена, когда на вывод EN подается высокий логический уровень. При низком логическом уровне микросхема работает на минимальной мощности.
  • Вывод RST используется для сброса микросхемы ESP8266.
  • Вывод WAKE используется для вывода чипа из глубокого сна.

Платформы разработки для ESP8266

Теперь перейдем к интересным вещам!

Существует множество платформ разработки, которые могут быть оснащены для программирования ESP8266. Вы можете использовать Espruino – JavaScript SDK и прошивка, эмулирующая Node.js, или использовать Mongoose OS – операционную систему для устройств IoT (рекомендуемая платформа от Espressif Systems и Google Cloud IoT), или использовать комплект разработки программного обеспечения (SDK), предоставляемый Espressif. или любую из платформ, перечисленных на Википедии.

Читайте также:  Fastest Routers for Gigabit Internet

К счастью, крутое сообщество ESP8266 сделало выбор IDE на шаг вперед, создав дополнение к Arduino IDE. Если вы только начинаете программировать для ESP8266, мы рекомендуем начать с этой среды разработки, и ее мы опишем в данном руководстве.

Это дополнение ESP8266 для Arduino IDE основано на работе Ивана Грохоткова и остальной части сообщества ESP8266. Для получения дополнительной информации смотрите репозиторий GitHub ESP8266 Arduino.

Установка ядра ESP8266 на ОС Windows

Давайте приступим к установке ядра ESP8266 Arduino.

Во-первых, на вашем компьютере должна быть установлена последняя версия Arduino IDE (Arduino 1.6.4 или выше). Если у вас ее нет, рекомендуем сейчас обновиться.

Для начала нам нужно обновить менеджер плат с помощью пользовательского URL. Откройте Arduino IDE и выберите ФайлНастройки. Затем скопируйте приведенный ниже URL в текстовое поле Дополнительные ссылки для менеджера плат, расположенное в нижней части окна:

Рисунок 7 Установка платы ESP8266 в Arduino IDE с помощью json URL Рисунок 7 – Установка платы ESP8266 в Arduino IDE с помощью json URL

Отлично. Затем перейдите к Менеджеру плат, выбрав ИнструментыПлатыМенеджер плат. Там, в дополнение к стандартным платам Arduino, должна быть пара новых записей. Отфильтруйте результаты поиска, введя esp8266. Нажмите на эту запись и выберите Установить.

Рисунок 8 Установка ядра ESP8266 в менеджере плат Arduino IDE Рисунок 8 – Установка ядра ESP8266 в менеджере плат Arduino IDE

Определения и инструменты для платы ESP8266 включают в себя полностью новый набор gcc, g++ и других достаточно больших скомпилированных двоичных файлов, поэтому загрузка и установка могут занять несколько минут (заархивированный файл весит

110 МБ). После завершения установки рядом с записью появится надпись INSTALLED. Теперь можно закрыть менеджер плат.

Пример Arduino: мигалка

Чтобы убедиться, что ядро ESP8266 Arduino и NodeMCU правильно настроены, мы загрузим самый простой скетч – The Blink!

Для этого теста мы будем использовать встроенный светодиод. Как упоминалось ранее в этом руководстве, вывод платы D0 подключен к встроенному синему светодиоду и программируется пользователем. Отлично!

Прежде чем мы перейдем к загрузке скетча и игре со светодиодом, мы должны убедиться, что в Arduino IDE выбрана правильная плата. Откройте Arduino IDE и выберите пункт NodeMCU 0.9 (ESP-12 Module) в меню ИнструментыПлата.

Рисунок 9 Выбор отладочного модуля NodeMCU в Arduino IDE Рисунок 9 – Выбор отладочного модуля NodeMCU в Arduino IDE

Теперь подключите ESP8266 NodeMCU к компьютеру через USB-кабель micro-B. Как только плата будет подключена, ей должен быть назначен уникальный COM-порт. На компьютерах с Windows это будет что-то вроде COM#, а на компьютерах Mac/Linux он будет в виде /dev/tty.usbserial-XXXXXX. Выберите этот последовательный порт в меню Инструменты → Порт. Также выберите скорость загрузки: 115200

Рисунок 10 Выбор COM порта в Arduino IDE Рисунок 10 – Выбор COM порта в Arduino IDE

Предупреждение

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

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

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

Источник

Nodemcu Lua Wi-Fi на Esp8266

Технические характеристики модуля

  • Процессор 32-битный
  • WiFi – 802.11 b/g/n
  • Напряжение питания 3,3 В
  • Внешнее питание 3.6–20 В
  • Ток потребления: режим передачи данных– 200 мА, режим приёма данных – 60 мА
  • Подсоединение к компьютер – вход microUSB
  • Имеет встроенную flash память 4 Mб
  • Поддержка в базовой прошивке интерпретатора Lua
  • Возможность обновления прошивки по Wi-Fi
  • Наличие встроенного датчика температуры

Naznachenie-vyvodov-NodeMcu.jpg

Рисунок 1. Назначение выводов NodeMcu

  • использование платы в качестве WiFi точки доступа
  • подключаться (в том числе и автоматическое) к точке доступа WiFi
  • режим пониженного энергопотребления (уход в сон)
  • перенаправлять вывод
  • выполнять операции со списком файлов в flash-памяти
  • управление пользовательским таймером и таймером WatchDog
  • управление GPIO1 выводами
  • создание веб-сервера
  • обмениваться даннымиI2C — устройствами
  • считывать данные на выводе АЦП

Примеры использования (скриптовый язык Lua)

Okno-programmy-ESPlorer.jpg

Рисунок 2. Окно программы ESPlorer.

Напишем скрипт создания простейшего веб-сервера, чтобы при обращении к модулю по HTTP с него выдавалась информация. Создадим для этого файл server1.lua и запишем в него код, представленный в листинге 1. Листинг 1 Сохраним файл server1.lua в модуле и запустим. Для проверки работы севера подключимся к точке доступа модуля и наберем в браузере ее адрес: http://192.168.4.1 (рисунок 3). Для запуска сервера при загрузке модуля необходимо в конце нашего autorun-файла init.lua добавить строку: dofile(server1.lua)

Obrashchenie-k-serveru-na-NodeMCU.jpg

Рисунок 3. Обращение к серверу на NodeMCU

Примеры использования (скетч в среде программирования Arduino IDE)

05.jpg

06.jpg

07.jpg

Рассмотрим пример подключения аналогового датчика освещенности (фоторезистора) к плате NodeMCU ESP8266 и отправку данных по протоколу MQTT в интернет на сервер http://www.mqtt-dashboard.com/.

Схема соединений представлена на рис. 8.

Skhema-podklyucheniya-Nodemcu-Lua-Wi-Fi-1024x480.jpg

Рисунок 8. Схема подключения.

Для написания скетча необходима библиотека pubsubclient для общения с брокером MQTT . Разархивируйте скачанный файл в папку библиотеки IDE Arduino. Откройте в Arduino IDE скетч _2.ino. Вам необходимо внести в скетч изменения параметров SSID и пароля для точки подключения платы NodeMCU к вашей WiFi сети.

Загружаем скетч на нашу плату NodeMCU, открываем монитор последовательного порта и если соединения указаны правильно, увидим следующий результат (рисунок 9).

Soedinenie-s-brokerom-po-seti.jpg

Рисунок 9. Соединение с брокером по сети.

После того, как NodeMCU подключился к wifi и брокеру MQTT, он публикует данные о освещенности для брокера MQTT по теме OsoyooData (рисунок 10).

Otpravka-dannyh-datchika-osveshchennosti.jpg

Рисунок 10. Отправка данных датчика освещенности.

Мы будем использовать на любом устройстве (например планшете или компьютере) MQTT-клиент, чтобы подписаться на тему OsoyooData от того же брокера MQTT и получать значения освещенности в реальном времени.

Источник

Опубликовано в рубрике WiFi