Содержание

● Проекты умного дома и интернета вещей на основе Arduino и NodeMCU

1. Понятие Интернета вещей для Умного дома

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

2. Обзор набора Интернета вещей для Умного дома

Откроем наш набор и рассмотрим его содержимое. Самый главный компонент любой “умной” системы – его контроллер. Контроллер предназначен для получения информации и управления “умным” домом. В нашем наборе два контроллера! Это плата Arduino Mega и модуль NodeMcu v3 Lua WI-FI ESP8266 Ch440. Вы можете выбрать любой из них. Подробнее …

3. Установка программного обеспечения

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

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

4.1. Подключение датчика влажности и температуры DHT11 (DHT22)

Плата модуля содержит основные компоненты: датчик температуры и относительной влажности DHT22 в белом корпусе, светодиод индикации питания и вилка соединителя. Внутри DHT22 небольшая плата с компонентами: емкостным датчиком влажности, терморезистором, имеющим отрицательную характеристику и микроконтроллером. Подробнее …

4.2. Подключение цифровой датчика температуры DS18B20 (RI002)

Для измерения температуры “умного” дома в набор включен датчик температуры RI002. Это хорошо известный цифровой датчик температуры DS18B20 водонепроницаемом корпусе из нержавейки. Приемущества водонепроницаемого корпуса – возможность измерить температуру в неблагоприятной для микросхем среде: в почве, на дожде или даже в аквариуме. Подробнее …

4.3. Подключаем датчик влажности почвы

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

4.4. Как подключить датчик уровня воды

Одна из главных задач умного дома — заботиться о своей сохранности, не допускать взломов, пожаров, затоплений, и прочих повреждений. Вот о защите от протечек и затопления мы сегодня и поговорим. Точнее сказать, пока только об обнаружении протечек. Подробнее …

4.5. Определение концентрации углеводородных газов с помощью датчика MQ-2

Одна из самых важных задач в вопросе безопасности умного дома –обнаружение утечки газа. Для того, чтобы плата Arduino успешно решала задачи такого рода, нужно подключить к ней датчик газа MQ-2. Датчик MQ-2 определит концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, являющихся результатом горения) и водорода в окружающей среде. Датчик можно использовать для обнаружения утечек газа и задымления. Подробнее …

4.6. Определение концентрации угарного газа с помощью датчика MQ-7

Основным источником выделения угарного гоза СО, является сгорание углеродного топлива при недостаточном количестве кислорода. Углерод “не догорает” и вместо углекислого газа CO2, в атмосферу выбрасывается угарный газ CO. Источником СО в доме, при неправильной эксплуатации, могут выступать дровяные печи, газовые конфорки, газовые котлы и прочая отопительная техника, работающая на углеродном топливе. В выхлопе бензинового двигателя автомобиля содержание СО может быть до 3%. Подробнее …

4.7. Подключение модуля датчика огня

Модуль датчика огня Flame Sensor позволяет фиксировать наличие пламени или другого источника огня в прямой видимости перед собой.
Датчик имеет 4 контакта (питание, земля, аналоговый вывод и цифровой вывод, срабатывание которого (выдачу сигнала HIGH) можно настроить с помощью потенциометра).Номинальное напряжение питания – 5 В. Сенсор определяет наличие огня в углу чувствительности 60°. Показания представляются в виде аналогового сигнала. Подробнее …

4.8. Подключение датчика присутствия HC-SR501

Рассмотрим еще один датчик, связанный с обеспечением безопасности для умного дома. Это модуль датчика присутствия HC-SR501 на основе пироэлектрического эффекта. Состоит из самого PIR-датчика (Pyroelectric (Passive) InfraRed sensor) и схемы управления. Такие датчики часто используются в охранных системах и в быту для обнаружения движения в помещении. Подробнее …

5. Отображение показаний и индикация состояний датчиков

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

5.1. Дисплей TFT 2.4″ Shield 240×320

В качестве экрана для отображения показаний с датчиков мы будем использовать 2.4″ Shield 240×320. Основное применение дисплея – отображение простой графики и символьных данных с использованием 16 цветов. Подробнее …

5.2. Вывод показаний датчиков на TFT 2.4″ Shield 240×320 для Arduino MEGA

Подключим TFT Shield к Arduino MEGA. Для использования библиотеки SWTFT с платой Arduino Mega, необходимо внести изменения в файл SWTFT.cpp . Подробнее …

5.3. Светодиодная индикация и звуковая сигнализация  о критических параметрах датчиков для Arduino MEGA

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

5.4. Расширение цифровых портов для NodeMCU ESP8266 с помощью микросхемы MCP23017

Использование микросхемы MCP23017 позволит расширить количество цифровых контактов модуля NodeMCU на 16 и позволит организовать светодиодную индикацию и звуковую сигнализацию о критических параметрах датчиков. Подробнее …

5.5. Светодиодная индикация и звуковая сигнализация  о критических параметрах датчиков для NodeMCU

Для светодиодной индикации будем использовать обычные светодиоды, которые подсоединим к микросхеме расширителя входов  MCP23017 (банку A выводы GPA0- GPA7). Для звуковой индикации будем использовать небольшой динамик. Подробнее …

6. Управление исполнительными устройствами

В нашем умном доме нам потребуются исполнительные устройсва для управление освещением умного дома, вентилятором для создания прохлады, увлажнителем для управления влажностью воздуха, помпой для полива растений, возможно для автоматического открытия/закрытия входных и гаражных дверей.
Рассмотрим организацию управления исполнительными устройствами нашего умного дома с контроллеров Arduino Mega и модуля NodeMCU. Подробнее …

6.1. Подключение блока реле для управления исполнительными устройствами

Для управления электроприборами пользуются различными клавишными выключателями и тумблерами. Чтобы управлять такими электроприборами с помощью микроконтроллера существует специальный тип выключателей — электромеханические реле. В набор ИНТЕРНЕТ ВЕЩЕЙ ДЛЯ УМНОГО ДОМА включен Relay Shield. Подробнее …

6.2. Подключение блока реле к плате Arduino MEGA

ассмотрим подключение Eelay Shield к плате Arduino MEGA.  Relay Shield мы будем использовать для включения/выключения света для освещения растений, вентилятора, насоса для полива растений. Включения/выключения вентилятора и помпы будет осуществляться в зависимости от значений температуры воздуха (вентилятор) и влажности почвы (мембранный вакуумный насос. Подробнее …

6.3. Отображение данных о статусе исполнительных устройств на экране дисплея и управление с помощью сенсора

В предыдущей главе мы рассматривали вывод данных, получаемых с датчиков на экран TFT 2.4″ Shield. Теперь нам необходимо на экран дисплея выводить и данные о состоянии исполнительных устройств, подключенных к реле. Для этого нам необходимо формировать другие экраны, а также главный экран. Как мы будем делать переходы между экранами? Подробнее …

6.4. Подключение блока реле к модулю NodeMCU

Теперь рассмотрим подключение Relay Shield к модулю NodeMCU.  Relay Shield мы будем использовать также – для включения/выключения света для освещения растений, вентилятора, насоса для полива растений. Светом будем управлять с помощью кнопки, включения/выключения вентилятора и помпы будет осуществляться в зависимости от значений температуры воздуха (вентилятор) и влажности почвы (мембранный вакуумный насос. Подробнее …

6.5. Управление блоком реле по ИК-каналу. Пример с модулем NodeMCU 

В набор включен инфракрасный пульт дистанционного управления с платой инфракрасного приёмника.
Это позволяет нам организовать управление исполнительными устройствами, подключенными к Relay Shield с помощью ИК пульта. После подключения ИК-приёмника необходимо узнать коды клавиш пульта, которые мы будем использовать для управления исполнительными устройствами. Подробнее …

6.6. Организация доступа в дом с помощью RFID-модуля для Arduino MEGA

Идентификация объектов производится по уникальному цифровому коду, который считывается из памяти электронной метки, прикрепляемой к объекту идентификации. Считыватель содержит в своем составе передатчик и антенну, и посылает в эфир электромагнитные сигналы определенной частоты. RFID-метки “отвечают” собственным сигналом, который содержит информацию об идентификационном номере данной метки и данные об объекте, оснащенном данной меткой. Подробнее …

7. Создание будильников для запуска исполнительных устройств по расписанию

В предыдущей главе мы рассмотрели управление исполнительными устройствами “умного дома” либо с помощью команд, отправляемых по нажатии кнопки или нажатии по кнопке на сенсорном дисплее, либо при наступлении определенных климатических параметров, данные о которых мы получаем с датчиков.
Но очень часто исполнительные устройства требуется включать/выключать по расписанию: включение освещения перед домом при наступлении сумерек, полив растений по расписанию, выключение наружного освещения днем и т.д. Подробнее …

7.1. Подключение модуля DS3231 к плате Arduino MEGA. Вывод времени на экран дисплея

Рассмотрим подключение модуля часов реального времени DS3231 к плате Arduino MEGA.  Используем выводы Arduino MEGA 20 (SDA) и 21(SCL). Сначала добавим вывод времени на экран дисплея (главное меню). Для программирования нам понадобятся Arduino-библиотеки Wire (встроенная в Arduino IDE), Time и DS1307RTC. В цикле будем получать данные о текущем времени (часы, минуты) с модуля DS3231 и выводить на экран дисплея. Подробнее …

7.2. Добавление срабатывания устройств Умного дома  по будильнику (для Arduino MEGA)

После подключения модуля RTC, мы можем организовать запуск исполнительных устройств “умного дома” по расписанию. Для этого создадим объект, описывающий будильник. В цикле loop() нашего скетча добавим проверку наступления события по расписанию и необходимых действий при наступлении события.
Подробнее …

7.3. Подключение модуля DS3231 к модулю NodeMCU

Рассмотрим подключение модуля DS3231 к модулю NodeMCU. У нас в проекте есть устройство, подключенное к модулю NodeMCU по протоколу I2C – это микросхема расширителя входов  MCP2301. Подсоединяем к контактам NodeMCU D3 (GPIO0) – SCL и D4(GPIO2). Подробнее …

7.4. Добавление срабатывания устройств Умного дома  по будильнику (для NodeMCU)

После подключения модуля RTC, мы можем организовать запуск исполнительных устройств “умного дома” по расписанию. Для этого создадим объект, описывающий будильник. Подробнее …

  8. Организация подключения к сети Интернет с помощью модуля SIM800L

В предыдущих главе мы рассмотрели мы сделали большие шаги построения “умного дома” –  оснастили его датчиками и исполнительными устройствами и создали и обеспечили определенную степень автоматизации для создания комфорта и безопасности. Теперь пришло время сделать наш “умный дом” устройством IoT (Интернета вещей), чтобы получить доступ к нему для мониторинга и управления из любой точки мира по сети интернет. Организуем доступ контроллеров нашего дома к сети интернет. Подробнее …

9. Протокол MQTT – простой протокол для Интернета вещей

Наконец мы готовы к тому, чтобы устройства нашего “умного” дома стали устройствами Интернета вещей, что позволит получать данные с датчиков и управлять исполнительными устройствами нашего “умного дома” через интернет из любой точки мира. В качестве устройства управления удобнее всего использовать мобильный телефон. Нас интересует получение данных на телефон и управление исполнительными устройствами с телефона. Подробнее …

9.1. IoT Manager – управление Умным домом через мобильное приложение

IoT Manager – это мобильное приложение для телефонов и планшетов, совмещающего в себе табло для отображения данных с датчиков и пульт для управления исполнительными устройствами. Существуют версии для Android и iOS, которые можно скачать в GooglePlay и AppStore www.iotmanager.ru. Но прежде, чем скачивать приложение, определимся с брокером. В качестве брокеров выбираем сервис CloudMQTT.com (www.cloudmqtt.com), в котором можно создать бесплатный аккаунт. Подробнее …

9.2. Передача данных брокеру (тестовый пример)

IoTManager не только подписан на темы, но также выступает в роли publisher – публикует данные в темы. Это значения слайдеров и статус кнопки. Эти данные плата NodeMCU, подписанная в качестве subscriber на эти темы, может использовать для управления, подключенными к плате устройствами. Подробнее …

9.3. Публикация данных датчиков в темы брокера на примере NodeMCU

Рассмотрим подоробнее отправку данных с датчиков нашего умного дома брокеру. Будем отправлять брокеру данные с двух датчиков DHT22 и DS18B20. Правки осуществляем в скетче из предыдущей главы. Устанавливаем количество виджетов для отображения по количеству датчиков. Подробнее …

9.4. Управление из IoT Manager исполнительными устройствами на плате NodeMCU

В данной главе рассмотрим управление исполнительными устройствами, подключенными к NodeMCU, из мобильного приложения IoT Manager. В скетч для NodeMCU необходимо внести следующие изменения. Изменяем количество виджетов для отображения (увеличение на количество исполнительных устройств). Подробнее …

Архивы ESP8266 Проекты – RobotChip

Сегодня расскажу как с помощью модуля NodeMCU (ESP8266), реле и датчика DS18B20 сделать простой терморегулятор, для поддержания заданной температуры в…

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

В этой статье покажу пример подключения модуля температуры и влажности HTU21D к плате NodeMCU на чипе ESP8266.

В этой статье расскажу, как подключить часы реального времени DS3231 к плате NodeMCU (ESP8266-12E) и LCD1602. Для отслеживания времени будем…

В данной статье расскажу как собрать двухколесное автомобильное шасси 2WD (mini). Управление осуществляется с помощью платы NodeMCU v.2 и модуля…

Сегодня расскажу о плата расширения Motor Shield на чипе L293DD, которая увеличивает возможности платы NodeMCU v. 2.. С данной платы…

В этом примере расскажу, как подключить OLED дисплей к контроллеру NodeMCU (ESP8266) в качестве среды разработки использованием Arduino IDE. На…

В этой статье расскажу, как создать небольшую метеостанцию дома, используя BME280 и NodeMCU (ESP8266). Контроллер NodeMCU v.2 (ESP8266) будет считывать…

Сегодня расскажу о плате NodeMcu V2 которую разрабатывалась для «Интернет вещей» (internet of things, IoT), по сути данная плата может связать…

Сегодня расскажу о простом Wi-Fi реле основаны на ESP-01S (ESP8266). С помощью данного реле, можно удаленно отключать свет, электроприборы и…

Сегодня расскажу о небольшом модуле DHT11 (TB:IOTMCU) для ESP-01 и ESP-01S, с помощью которого можно собрать небольшую метеостанцию у себя…

В этом примере создадим простой Web сервер на ESP-01 (ESP8266) с отображением температуры и влажности, данные считываем с датчика DHT11,…

Начало работы с платой NodeMcu ESP8266 v3 Lua

NodeMcu – платформа на основе ESP8266 для создания различных устройств интернета вещей (IoT). Модуль умеет отправлять и получать информацию в локальную сеть либо в интернет при помощи Wi-Fi. Недорогой модуль часто используется для создания систем умного дома или роботов Arduino, управляемых на расстоянии. В этой статье мы рассмотрим описание платы, отличие версий и распиновку последней версии модуля Esp8266 NodeMcu v3. Также мы коротко рассмотрим язык Lua, на котором нужно писать программы для NodeMcu.

Описание ESP8266 NodeMcu v3

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

  • Поддерживает Wi-Fi протокол 802.11 b/g/n;
  • Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
  • Входное напряжение 3,7В – 20 В;
  • Рабочее напряжение 3В-3,6В;
  • Максимальный ток 220мА;
  • Встроенный стек TCP/IP;
  • Диапазон рабочих температур от -40С до 125С;
  • 80 МГц, 32-битный процессор;
  • Время пробуждения и отправки пакетов 22мс;
  • Встроенные TR переключатель и PLL;
  • Наличие усилителей мощности, регуляторов, систем управления питанием.

Существует несколько поколений плат NodeMcu – V1(версия 0.9), V2(версия 1.0) и V3 (версия 1.0). Обозначения V1, V2, V3 используются при продаже в интернет-магазинах. Нередко происходит путаница в платах – например, V3 внешне идентична V2. Также все платы работают по принципу open-source, поэтому их могут производить любые фирмы. Но в настоящее время производством плат NodeMcu занимаются Amica, DOIT и LoLin/Wemos.

Отличия от других модификаций

Платы поколения V1 и V2 легко отличить – они обладают различным размером. Также второе поколение оснащено улучшенной модификацией чипа ESP-12 и 4 Мб флэш-памяти. Первая версия, устаревшая, выполнена в виде яркой желтой платформы. Использовать ее неудобно, так как она покрывает собой 10 выходов макетной платы. Плата второго поколения сделана с исправлением этого недостатка – она стала более узкой, выходы хорошо подходят к контактам платы. Платы V3 внешне ничем не отличаются от V2, они обладают более надежным USB-выходом. Выпускает плату V3 фирма LoLin, из отличий от предыдущей платы можно отметить то, что один из двух зарезервированных выходов используется для дополнительной земли, а второй – для подачи USB питания. Также плата отличается большим размером, чем предыдущие виды.

Где купить модули NodeMCU и ESP8266

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

 

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

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

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

Преимущества NodeMcu v3

  • Наличие интерфейса UART-USB с разъемом micro USB позволяет легко подключить плату к компьютеру.
  • Наличие флэш-памяти на 4 Мбайт.
  • Возможность обновлять прошивку через USB.
  • Возможность создавать скрипты на LUA и сохранять их в файловой системе.

Недостатки модуля NodeMcu

Основным недостатком является возможность исполнять только LUA скрипты, расположенные в оперативной памяти. Этого типа памяти мало, объем составляет всего 20 Кбайт, поэтому написание больших скриптов вызывает ряд трудностей. В первую очередь, весь алгоритм придется разделять на линейные блоки. Эти блоки необходимо записать в отдельные файлы системы. Все эти модули исполняются при помощи оператора dofile.

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

Распиновка NodeMcu v3

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

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

Подключение NodeMCU к компьютеру

Для начала работы с NodeMcu нужно подключить плату к компьютеру. Первым шагом будет установка драйвера CP2102 и открытие Arduino IDE. Затем нужно найти в «Файл» – «Настройки» и в окно «дополнительные ссылки для менеджера плат» вставить ссылку http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json.

После этого в меню «документы» – «плата» «менеджер плат» выбрать «esp8266» и установить последнюю версию. После проделанных действий в меню «инструменты» – «плата» нужно найти NodeMCU.

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

Пример подключения светодиода к NodeMCU

Принципиальная схема подключения представлена на рисунке.

Итоговый макет макет выглядит следующим образом:

 

Сама плата работает от напряжения 3.3 В, поэтому для подключения светодиода нужно использовать резистор. В данном примере для красного светодиода берется резистор номиналом 65 Ом.

Похожим способом к плате подключается и фотодиод:

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

Прошивки для esp8266 NodeMcu

В основу платформы загружена стандартная прошивка Node MCU, в которую встроен интерпретатор языка Lua. При помощи Lua-команд можно выполнять следующие действия:

  • Подключение к Wi-Fi точке доступа;
  • Работа в роли Wi-Fi точки доступа;
  • Переход в режим глубокого сна для уменьшения потребления энергии;
  • Включение или выключения светодиода на выходе GPIO16;
  • Выполнение различные операции с файлами во флэш-памяти;
  • Поиск открытой Wi-Fi сети, подключение к ней;
  • Вывод MAC адреса;
  • Управление пользовательскими таймерами.

Для программирования NodeMCU можно использовать Arduino IDE или комплекс средств разработки SDK – ESPlorer. Этот комплекс обладает рядом отличий:

  • Он может работать на множестве различных платформ;
  • Обладает поддержкой нескольких открытых файлов;
  • Позволяет подсвечивать код языка Lua;
  • Возможность умной отправки файлов;
  • Возможность поддержки нескольких видов прошивки одновременно.

Для обеспечения корректной и стабильной работы нужно обновить прошивку до последней версии. Существует несколько способов обновления – облачный сервис, Docker Image и компилирование в Linux. Каждый из этих способов обладает своими плюсами и минусами. Наиболее простым и понятным является первый способ.

Сбор прошивки в облачном сервисе

Облачный сервис обладает простым и удобным интерфейсом. Работа начинается с ввода email. Далее будет предложено выбрать тип прошивки – стабильная прошивка или тестируемая. Первая используется для обучения и создания большого количества объектов, поэтому рекомендуется выбирать именно ее. Следующим шагом будет подключение нужных модулей. По умолчанию уже записано несколько основных пунктов, остальные нужно включать только по необходимости. Затем выбираются дополнительные опции. Среди них есть поддержка FatFS для чтения sd-карты или включение режима отладки.

После начала сборки придет письмо на почту, сигнализирующее о начале запуска процесса. Через некоторое время придет и второе письмо – будет предложено выбрать версию float (дробные числа) или integer (целые числа).

После перехода по полученной ссылке нужно будет скачать файл bin и поместить его в Resources – Binaries. Там будет расположен файл nodemcu_integer_0.9.5_20150318.bin, который нужно удалить. В итоге содержимое папки будет выглядеть следующим образом.

Обновление прошивки Node Mcu

Для правильной и стабильной работы платы требуется перезаписать esp_init_data_default.bin. Скачать его можно на официальном сайте. Нужный файл нужно поместить снова в систему для прошивки NodeMCU Flasher по пути Resources – Binaries, предварительно удалив из него старый файл.

Затем можно подключать  NodeMCU и приступить к обновлению. Для начала нужно поменять настройки – в NodeMCU Flasher во вкладке Config нужно выбрать файл собранной прошивки вместо INTERNAL://NODEMCU.

Остальное оставить без изменений, перейти на Operations и нажать Flash. Как только окончится прошивка, нужно снова перейти на Config и в первой строке указать путь esp_init_data_default.bin. Также дополнительно указывается адрес, куда нужно переместить этот файл. Для модуля NodeMCU следует выбрать адрес 0x3FC000. После этого нужно снова вернуться на Operations и нажать Flash.

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

Краткое описание языка Lua

Язык Lua обладает простым синтаксисом и мощными конструкциями описания данных, которые основаны на массивах и расширяемой семантике.  Этот мощный язык программирования используется для создания программного обеспечения, расширения различных игр. В отличие от остальных языков Lua обладает более гибкими и более мощными конструкциями.

Мигание светодиодами на Lua

Можно рассмотреть простейшую схему – мигание светодиодом. Этот пример поможет изучить работы с контактами GPIO. Светодиод нужно подключить как показано на схеме.

Затем нужно записать следующий скетч в левое окно ESPlorer:

pin_number = 1

gpio.mode (pin_number, gpio.OUTPUT) // установка рабочего режима на выход

gpio.write (pin_number, gpio.HIGH)// установка высокого уровня

gpio.write (pin_number, gpio.LOW)// установка низкого уровня

gpio.serout (1, gpio.HIGH, {+990000,990000}, 10, 1) // установка мигания светодиодом 10 раз

После нужно сохранить скрипт с названием init.lua. Сразу после этого начнется автоматическая загрузка написанного кода в отладочную плату и его выполнение. Если операция выполнена успешно, отладочная плата начнет мигать светодиодом.

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

Контроллер для скважины на ESP8266 NodeMcu V3 Lua – Контроллер для скважины на ESP8266 NodeMcu Lua. – Проекты – Каталог

Нам потребуется модуль esp8266 NodeMCU Lua WI-FI на основе ESP8266. Многие используют подобные модули для проектов “Умный дом”, но мы хотим использовать его для управления водяным, дренажным насосами и клапанами на подачу и сброс воды. Посмотрев данный сюжет у Вас появится представление что и для чего мы делаем

Схема

Но, к сожалению, возникла проблема, если оставить как есть, то в ситуации когда поплавки вверху, на ноге D8 будет +3.3В (уровень логической единицы) модуль при сбросе не загрузится и колодец утонет, а других свободных цифровых входов НЕТ, поэтому подключил датчики уровня к АЦП (А0) через схему делителя, расчет можно скачать внизу, там же новый скетч (Скетч v.1.1). И конечно новая схема:

Итак система установлена пробуем ее в деле:

Клапаны подъехали, давайте установим их
Проблему нехватки свободных цифровых входов можно решить если использовать модуль MCP23017, новый скетч (Скетч v.1.3). И конечно новая схема:

Видео по шаровым электрическим кранам

Пример работы системы для откачки воды
Необходимые компоненты:


Нужные ссылки:
Скачать  Скетч v.1.4
Скачать  Скетч v.1.3
Скачать  Скетч v.1.2
Скачать  Скетч v.1.1
Скачать  Скетч v.1.0
Скачать  Расчет делителя
Скачать  Драйвер для Ch440

Проекты Arduino для всех

Проекты Arduino для всех

Все об ардуино и электронике ! 

Arduino — торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей. Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.

Название платформы происходит от названия одноимённой рюмочной в Иврее, часто посещавшейся учредителями проекта, а название это в свою очередь было дано в честь короля Италии Ардуина Иврейского[2].

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


Как прошить ардуино плату другой ардуиной Arduino ISP
Что такое ISP?
ISP (In-System Programming) расшифровывается как внутрисхемное программирование. Это технология, которая позволяет программировать микроконтроллер, установленный в устройство. До появления этой технологии микроконтроллеры программировались перед установкой в устройство, а для их перепрограммирования требовалось их извлечение из устройства.
Существует 2 основных подхода внутрисхемного программирования:
Выставка электроники Hong Kong Electronics Fair 2019 которую стоит посетить

Почему стоит посещать выставки? На хорошей Экспо всегда можно увидеть, что нас ждёт в ближайшее время, какие веяния и тенденции будут актуальными в ближайшие полгода. Hong Kong Electronics Fair – как раз одна из таких выставок, где экспоненты демонстрируют на что они способны, а мы – гости мероприятия знакомимся и активно тестируем продукты, оцениваем их и решаем, что станет хитом, что просто заслуживает интереса, а что обречено лежать без внимания на стенде. Напомним, что все это проводится под крышей красивейшего выставочного центра Гонконга – Hong Kong Convention & Exhibition Centre.

Подключение датчика сердечного ритма AD8232 , кардиограмма на Arduino ЭКГ

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


Электрическая система сердца управляет генерацией и распространением электрических сигналов по сердечной мышце, в результате чего сердце периодически сокращается и расслабляется, перекачивая кровь. В процессе цикла работы сердца происходит упорядоченный процесс деполяризации. Деполяризация – это резкое изменение электрического состояния клетки, когда отрицательный внутренний заряд клетки становится на короткое время положительным. В сердце деполяризация начинается в специализированных клетках водителя сердечного ритма в синусно-предсердном узле. Далее волна возбуждения распространяется через атриовентикулярный (предсердно-желудочковый) узел вниз к пучку Гиса, переходя в волокна Пуркинье и далее приводит к сокращению желудочков. В отличие от других нервных клеток, которые неспособны генерировать электрический сигнал в автоколебательном режиме, клетки синусно-предсердного узла способны создавать ритмичный электрический сигнал без внешнего воздействия. Точнее, внешние воздействия (например, физическая нагрузка) влияют только на частоту колебаний, но не нужны для запуска этого «генератора». При этом происходит периодическая деполяризация и реполяризация клеток водителя ритма. В электрокардиостимуляторе также имеется генератор стабильной частоты, выполняющий роль синусно-предсердного узла. Мембраны живых клеток действуют как конденсаторы. Из-за того, что процессы в клетках электрохимические, а не электрические, деполяризация и реполяризация в них происходят намного медленнее, чем в конденсаторе той же емкости.

ESP8266 Wi-Fi термометр на 2 датчика 18b20 через blynk
В данном материале будет предоставлен пример как использовать несколько датчиков температуры 18b20 + добавлять нужное количество и производить удаленный мониторинг по средствам платы esp8266 nodemcu и приложения blynk. Данный материал будет полезен если нужно снимать удаленно несколько показаний температуры для мониторинга. 
Установка и настройка RetroPie на Orange pi \ Raspberry Pi

Хотите поиграть в видеоигры из детства? Танчики, Контра, Чип и Дэйл, Черепашки Ниндзя… Все эти игры ждут вас! Из данного руководства вы узнаете как просто и быстро собрать и настроить ретро-консоль на базе микрокомпьютера Raspberry Pi и сборки эмуляторов RetroPie.

Снежинка Ардуинщика на ардуино NANO с эффектами (проект к Новому Году )
Интерактивная снежинка соответствующей формы, созданная Ардуино Нано. Используя 17 независимых каналов PWM и сенсорный датчик для включения  и эффектов.
Снежинка состоит из 30 светодиодов, сгруппированных в 17 независимых сегментов, которые могут управляться отдельно микроконтроллером Arduino Nano. Каждый блок управляется отдельным пином PWM, и регулирует яркость каждого блока светодиодов и эффекты отдельно.
Пайка для начинающих от выбора паяльника до практики
Вначале статьи будет изложена теория, ближе к ее середине будет рассмотрена практика, максимально кратко так же расскажем об инструменте, о химии, которая необходима в пайке, о дополнительных инструментах. Для того, чтобы получить действительно качественную пайку, Вам все эти вопросы следует хорошо изучить, где-то узнавать подробности, но мы постараемся объяснить все максимально доступно «на пальцах», так что после прочтения вы гарантированно сможете выполнить поставленные задачи.

Показано с 1 по 16 из 98 (всего 7 страниц)

Nodemcu Lua Wi-Fi на Esp8266: описание, подключение, схема, характеристики

NodeMCU Lua – плата на основе популярного модуля ESP8266 (рисунок 1) предназначена для создания IoT устройств (устройств Интернета вещей), которым необходима передача или получение данных в интернет с помощью технологии Wi-Fi.

Содержание


NodeMCU Lua – плата на основе популярного модуля ESP8266 (рисунок 1) предназначена для создания IoT устройств (устройств Интернета вещей), которым необходима передача или получение данных в интернет с помощью технологии Wi-Fi.

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

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

В-третьих, на данной плате установлена прошивка, которая может интерпретировать команды скриптового языка Lua. Lua – это встраиваемый язык сценариев, который является маленьким, быстрым и очень мощным. С помощью команд Lua для NodeMCU можно выполнять следующие действия:
  • использование платы в качестве WiFi точки доступа
  • подключаться (в том числе и автоматическое) к точке доступа WiFi
  • режим пониженного энергопотребления (уход в сон)
  • перенаправлять вывод
  • выполнять операции со списком файлов в flash-памяти
  • управление пользовательским таймером и таймером WatchDog
  • управление GPIO1 выводами
  • создание веб-сервера
  • обмениваться даннымиI2C — устройствами
  • считывать данные на выводе АЦП
Можно не только выполнять команды Lua в терминале, но и cоздавать файлы в flash-памяти ESP8266 и вызывать их на иcполнение. Рассмотрим примеры напиcания программ для модуля на языке Lua, а также в среде программирования Arduino IDE.

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

Рассмотрим пример написания скрипта на языке Lua для платы NodeMCU. Будем использовать программу ESPlorer (рисунок 2), которую вместе с можно скачать со страницы тут.

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

Напишем скрипт создания простейшего веб-сервера, чтобы при обращении к модулю по HTTP с него выдавалась информация. Создадим для этого файл server1.lua и запишем в него код, представленный в листинге 1. Листинг 1
serverport = 80

server=net.createServer(net.TCP)

server:listen(serverport,

function(connection)

connection:send("HTTP/1.1 200 OK\nContent-Type: text/html\nRefresh: 10\n\n" ..

"<!DOCTYPE HTML>" ..

"<html><body>" ..

"<b>Server </b></br>" ..

" ChipID : " .. node.chipid() .. "<br>" ..

" MAC : " .. wifi.sta.getmac() .. "<br>" ..

" Heap : " .. node.heap() .. "<br>" ..

" Timer Ticks : " .. tmr.now() .. "<br>" ..

"</html></body>")

connection:on("sent",function(connection) connection:close() end)

end

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

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


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

Рассмотрим создание программ дя платы NodeMCU в среде программирования Arduino IDE. Для этого необходимо установить Arduino IDE для ESP8266. На компьютере уже должно быть установлено программное обеспеченние Arduino IDE версии не ниже 1.6.5. На рисунках 4-8 представлены скриншоты процесса установки Arduino IDE для ESP8266.

Рисунок 4. 

Рисунок 5.

 

Рисунок 6.

 

Рисунок 7.

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

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

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

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

const char* ssid = “your_wifi_hotspot”;

const char* password = “your_wifi_password”;

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

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

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

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

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

Умный дом проекты своими руками

 В канун Рождества дети во всю ожидают подарков от Санты. Некоторые могут…

  Вы узнаете как подключить последовательный I2C 16×2 ЖК-дисплей к модулю…

Итак, вы создали потрясающий проект, используя аппаратное обеспечение ESP8266,…

В этой статье Вы узнаете как сделать счетчик электроэнергии своими руками,…

В этой статье вы узнаете как управлять модулем реле с помощью приложения BLYNK…

В настоящее время вы можете управлять чем угодно с помощью вашего телефона. В…

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

Итак, я решил построить свой собственный переключатель термостата с помощью…

ESP8266-01 имеет лишь ограниченное количество контактов ввода / вывода (только…

  ESP8266-01: Если у Вас ее нет, покупайте ESP8266-12.  она не…

Интернет вещей ( IoT ) имеет много возможностей для подключения устройств к…

В этой статье вы узнаете как сделать ваш дом еще лучше, еще умнее и еще…

Quickbird представляет собой автоматизированную систему мониторинга и…

Магнитная система двери Spy Wi-Fi является ESP8266 (Arduino), что подключена к…

Элементы, которые нужно:      NodeMCU Flasher Master ( Flasher )…

В этой статье мы будем использовать (Arduino совместимый) микроконтроллер…

Недавно я купил 3-осевой гироскоп и акселерометр MPU6050.   Когда я…

Всем известно о включении света по хлопку.  Все это становится легко…

Умная розетка  на Arduino своими руками? Что может быть проще. Управление…

Управление освещением по хлопку в ладоши с помощью Arduino может использоваться…

Идеальный вариант для  путешествий или отправиться в поход, когда есть…

Хотя есть очень много камер наблюдения, MakeUseOf взял его на следующий уровень…

Если вам уже надоело играть со светодиодами, можна попробовать создать нечто…

Модуль, что рассматривается в этой статье имеет две микросхемы: DS1307 (часы…


11 интересных проектов ESP8266 для электронщиков

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

ESP8266 содержит встроенный 32-битный маломощный ЦП, ПЗУ и ОЗУ. Это полное и автономное сетевое решение Wi-Fi, которое может нести программные приложения как автономное устройство или подключенное к микроконтроллеру (MCU). Модуль имеет встроенную микропрограмму AT-команд для использования с любым MCU через COM-порт. Давайте теперь посмотрим на некоторые проекты ESP8266.

Самая маленькая домашняя автоматизация Интернета вещей с использованием ESP8266 – 01 с видео (хинди и английский)

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

Этот проект доступен по адресу: Самая маленькая домашняя автоматизация Интернета вещей с использованием ESP8266 – 01 с видео (хинди и английский)

Геолокация с использованием ESP8266

Вы когда-нибудь хотели знать, возможно ли определение местоположения без использования модуля GPS? Посмотрите этот проект для проверки вашего местоположения с помощью модуля Wi-Fi ESP8266.Это возможно с помощью API геолокации Google. Google предоставляет API для получения данных с ближайших маршрутизаторов Wi-Fi и предоставления нам наших координат. Но перед тем, как использовать этот API, вам нужно, чтобы ваш ключ API работал. Ознакомьтесь с этим проектом ESP8266 для более подробной информации.

Этот проект доступен по адресу: Геолокация с использованием ESP8266

ESP8266 Проекты: беспроводной веб-сервер

Этот проект беспроводного веб-сервера на базе ESP8266 построен на базе Arduino. Arduino IDE используется для компиляции и загрузки программ на этом беспроводном веб-сервере на базе ESP8266.Сообщество ESP8266 разработало подходящий плагин для ESP8266 для использования с Arduino IDE. В статье приведены пошаговые инструкции по созданию веб-сервера.

Этот проект доступен по адресу: беспроводной сервер на базе ESP8266

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

В этом проекте мы раздвигаем границы того, как можно уменьшить размер проекта Интернета вещей без ущерба для его работоспособности. Могут быть продукты, которые намного меньше этого. Это простейший проект IoT, кнопка IoT с аккумулятором размером 4 x 2 x 1 см.

Этот проект доступен по адресу: Самый маленький в мире проект Интернета вещей.

Датчики давления на железнодорожных путях

Ежегодно тысячи животных умирают от удара поездом. Животные на железнодорожных путях опасны как для животных, так и для поезда. Очень сильно страдают животные. Помимо животных, если дорожки не расчищены, то есть валуны на дорожках, как правило, происходят аварии. Это явление становится особенно опасным в холмистой местности. Поезда по этим путям не остановить, но что-то, конечно, можно сделать.Используя датчики давления, можно построить систему, которая подает сигнал тревоги и помогает избежать несчастных случаев.

Этот проект доступен по адресу: Датчики давления на железнодорожных путях

Измеритель загрязнения воздуха

Здесь представлен измеритель загрязнения воздуха с поддержкой Интернета вещей для мониторинга качества воздуха на вашем смартфоне с помощью приложения Blynk и платы Arduino. Blynk – это платформа Интернета вещей (IoT) для управления Arduino, Raspberry Pi и т.п. через Интернет. В этом проекте Blynk предоставляет цифровую приборную панель на вашем смартфоне, которая отображает в реальном времени показания качества воздуха для ближайшего окружения.

Этот проект доступен по адресу: Измеритель загрязнения воздуха

Контроль влажности и температуры

Здесь представлена ​​система контроля влажности и температуры с использованием Arduino. В этой статье информация о влажности и температуре с датчика DHT-11 анализируется графически на платформе ThingSpeak с использованием Arduino MCU и модуля Wi-Fi ESP8266.

Этот проект доступен по адресу: Контроль влажности и температуры

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

Управляйте своим роботом из любого места с помощью экрана ARMA IoT для UNO и приложения Blynk, которое предоставляет пользовательский интерфейс.В этом проекте используется Arduino Uno, подключенный к Wi-Fi с помощью щита ARMA IoT и управляемый с помощью приложения Blynk, которое доступно как для iOS, так и для Android. Шасси – простое, изготовленное из штампованного листового металла большой толщины.

Этот проект доступен по адресу: Робот, управляемый Wi-Fi

Система регистрации температуры

Вот система регистрации температуры на базе микроконтроллера (MCU) PIC16F887, Wi-Fi и интерфейса прикладного программирования (API) ThingSpeak.ThingSpeak – это приложение и API Интернета вещей (IoT) с открытым исходным кодом для хранения и извлечения данных из вещей через Интернет. Он позволяет собирать, хранить, анализировать, визуализировать и действовать в соответствии с данными, полученными от датчиков или электронных схем.

Этот проект доступен по адресу: Система регистрации температуры

M2M с использованием ESP8266

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

Этот проект доступен по адресу: M2M с использованием ESP8266

ESPSMS | Сделайте своего личного помощника

Все мы слышали о личных помощниках, таких как SIRI, Google Assistant, Alexa и т. Д. Но когда-нибудь задумывались, как все это работает? А дальше знаете, как сделать своего личного помощника? В этом проекте разработчик попытался сделать помощника на отладочной плате ESP8266 12E.

Этот проект доступен по адресу: Making your personal assistant


Интересно? Сообщите нам, над какими еще проектами ESP8266 вы работали. Если есть какие-то проекты ESP8266, которые здесь не представлены, отправьте их, и мы разместим их на нашем веб-сайте.

Эта статья была впервые опубликована 20 ноября 2017 г. и была дополнена новыми проектами 4 апреля 2019 г.

Введение в NodeMCU V3 – инженерные проекты


Привет, друзья! Добро пожаловать на борт.Я вернулся, чтобы дать вам ежедневную дозу полезной информации. Сегодня я открою подробное Введение в NodeMCU V3. Это прошивка с открытым исходным кодом и комплект для разработки, который играет жизненно важную роль в разработке вашего собственного IoT-продукта с использованием нескольких строк сценария Lua. Модуль в основном основан на ESP8266, который представляет собой недорогой микрочип Wi-Fi, включающий как полный TCP / IP-стек и возможности микроконтроллера. Он представлен производителем Espressif Systems – производителем из Шанхая, Китай. Модули и микроконтроллеры Arduino всегда были отличным выбором для включения автоматизации в соответствующий проект.Но у этих модулей есть небольшой недостаток, поскольку они не имеют встроенной возможности Wi-Fi, поэтому нам нужно добавить внешний протокол Wi-Fi в эти устройства, чтобы они были совместимы с интернет-каналом. Вот где NodeMCU V3 пригодится, что включает в себя встроенную поддержку Wi-Fi, что дает простой способ разработки приложений IoT в соответствии с вашими техническими требованиями. В этом посте я постараюсь осветить краткие детали, связанные с этим комплектом для разработки Wi-Fi, его основными функциями, распиновкой и всем, что вам нужно чтобы узнать об этом модуле.Давайте начнем.

Введение в NodeMCU V3

NodeMCU V3 – это прошивка с открытым исходным кодом и комплект для разработки, который играет жизненно важную роль в разработке вашего собственного продукта IoT с использованием нескольких строк сценария Lua. Несколько контактов GPIO на плате позволяют подключать плату к другим периферийным устройствам и могут генерировать ШИМ , Последовательная связь I2C, SPI и UART.
  • Интерфейс модуля в основном разделен на две части, включая прошивку и оборудование, где первая работает на ESP8266 Wi-Fi SoC, а более поздняя основана на модуле ESP-12.
Прошивка основана на Lua – языке сценариев, который легко изучить, предоставляя простую среду программирования, состоящую из слоев с быстрым языком сценариев, который соединяет вас с известным сообществом разработчиков. А прошивка с открытым исходным кодом дает вам возможность редактировать, модифицировать и перестраивать существующий модуль и продолжать изменять весь интерфейс, пока вы не добьетесь успеха в оптимизации модуля в соответствии с вашими требованиями.
  • Преобразователь USB в UART добавлен к модулю, который помогает преобразовывать данные USB в данные UART, которые в основном понимают язык последовательной связи.
Вместо обычного порта USB в модуль включен порт MicroUSB, который соединяет его с компьютером для двух целей: программирования и включения платы.
  • На плате имеется светодиодный индикатор состояния, который мигает и немедленно выключается, показывая вам текущее состояние модуля, если он работает правильно при подключении к компьютеру.
Способность модуля устанавливать безупречное соединение Wi-Fi между двумя каналами делает его идеальным выбором для интеграции с другими встраиваемыми устройствами, такими как Raspberry Pi.

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

NodeMCU V3 поставляется с несколькими выводами GPIO. На следующем рисунке показана распиновка платы.
  • Существует явная разница между Vin и VU, где первое – это регулируемое напряжение, которое может составлять от 7 до 12 В, а позднее – это напряжение питания для USB, которое должно поддерживаться на уровне 5 В.

NodeMCU V3 Datasheet

  • Вы можете загрузить техническое описание NodeMCU V3, нажав кнопку ниже:

Загрузить техническое описание NodeMCU V3

Функции NodeMCU V3

  • Открытый исходный код
  • Arduino-подобное оборудование
  • Светодиод состояния
  • Порт MicroUSB
  • Кнопки сброса / прошивки
  • Интерактивное и программируемое
  • Низкая стоимость
  • ESP8266 со встроенным Wi-Fi
  • Преобразователь USB в UART
  • Контакты GPIO
Как упоминалось выше, для подключения платы используется кабель, поддерживающий порт micro USB.При подключении платы к компьютеру светодиод будет мигать. Вам может потребоваться установка некоторых драйверов на ваш компьютер, если он не может обнаружить плату NodeMCU. Вы можете скачать драйвер с этой страницы. Примечание: Мы используем программное обеспечение Arduino IDE для программирования этого модуля. Важно отметить, что конфигурация выводов, отображаемая на плате, отличается от конфигурации, которую мы используем для программирования платы в программном обеспечении, то есть когда мы пишем код для нацеливания на вывод 16 в Arduino IDE, это на самом деле поможет разложить связь с контактом D0 на модуле.На следующем рисунке показана конфигурация контактов для использования в Arduino IDE.

Как подключить NodeMCU V3?

На изображении распиновки выше видно, что на плате пять контактов заземления и три контакта 3V3. Плату можно включить тремя способами. Питание через USB. Это идеальный выбор для загрузки программ, если только проект, который вы хотите разработать, не требует отдельного интерфейса, т. Е. Отключенного от компьютера. Обеспечьте 3,3 В. Это еще один отличный вариант для включения модуля.Если у вас есть собственный внешний регулятор, вы можете мгновенно создать источник питания для своего комплекта разработчика. Мощность Vin. Это стабилизатор напряжения с возможностью поддержки до 800 мА. Он может работать в диапазоне от 7 до 12 В. Вы не можете запитать устройства, работающие от 3,3 В, так как этот регулятор не может генерировать напряжение ниже 3,3 В.

Проекты и приложения NodeMCU V3

NodeMCU V3 в основном используется в приложениях WiFi, которые большинство других встроенных модулей не могут обрабатывать, если они не включены в какой-либо внешний протокол WiFi.Ниже приведены некоторые основные приложения, используемые для NodeMCU V3.
  • Интернет-дымовая сигнализация
  • VR трекер
  • Осьминог
  • Монитор последовательного порта
  • Лампа ESP
  • Контроллер инкубатора
  • Домашняя автоматизация IoT
  • Охранная сигнализация
На этом пока все. Надеюсь, я дал вам что-то ценное, связанное с этим модулем. Если у вас есть какие-либо вопросы, вы можете обратиться ко мне в разделе комментариев ниже. Я хотел бы помочь вам как можно лучше.Приглашаем вас держать нас в курсе ваших ценных отзывов, чтобы мы продолжали создавать качественный контент в соответствии с вашими потребностями и требованиями. Спасибо, что прочитали статью.

Топ-3 наиболее рекомендуемых проектов ESP8266

В этом репозитории проектов ESP8266 мы познакомим вас с некоторыми из наиболее рекомендуемых проектов DIY. Очень маленький, но очень мощный модуль Wi-Fi, он служит универсальным местом для решения широкого круга задач на основе Интернета вещей и проектов домашней автоматизации. Эти проекты очень похожи на проекты Arduino, однако проекты ESP8266 создаются со встроенным Wi-Fi.

Знаете ли вы, что долгое время мир не знал о существовании ESP8266? Примерно пять лет назад разработчики сорвали джекпот под названием ESP-01, который позволил микроконтроллерам подключаться к сети Wi-Fi и упростить TCP / IP-соединение с помощью команд в стиле Hayes. С тех пор он прошел долгий путь. Проекты, описанные ниже, дадут лучшее представление о том, как это может улучшить проекты Интернета вещей вокруг вас.

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

    • Перемычка
    • Макет
    • 4 резистора
    • 4x светодиода
    • ESP8266 12-E

Что еще вам понадобится?
Вам понадобится API Open Weather Map. Ключ API можно получить, зарегистрировавшись на платформе. Просто возьмите ключ, скопируйте его и куда-нибудь вставьте.Чтобы получить информацию о погоде в выбранном месте, вам нужно будет ввести URL-адрес ниже, указав местоположение в фигурных скобках.

http://api.openweathermap.org/data/2.5/forecast?q= {ваш город} , {код вашей страны} & APPID = {ваш ключ API} & mode = json & units = metric & cnt = 2

Скопируйте этот URL-адрес в браузер, и он предоставит вам всю необходимую информацию о местном прогнозе погоды.

Установка библиотеки ArduinoJson
Для установки библиотеки ArduinoJson вам необходимо загрузить файл с https: // github.com / bblanchon / ArduinoJson / archive / master.zip. Разархивируйте загруженную папку, и у вас будет папка ArduinoJson-master. Переместите его в папку с установочными библиотеками Arduino IDE и снова откройте Arduino IDE>

.

Загрузка кода
После того, как у вас будет надстройка ESP8266 для Arduino IDE, просто перейдите в сегмент инструментов и нажмите «NodeMCU (модуль ESP-12E)». Скопируйте код в Arduino IDE и загрузите его на плату ESP8266. Вам нужно будет добавить в код некоторые другие данные, такие как код страны, название города, пароль SSID и ключ API Open Weather Map.Вы можете проверить все детали кодирования на: https://randomnerdtutorials.com.

Схема
Приведенная ниже схема даст вам четкое представление о ее подключении.

Окончательное изображение должно выглядеть примерно так

2) BluBug
Возможно, вы слышали о создании сенсорных экранов, экранов Bluetooth или Wi-Fi. BluBug объединяет все эти экраны. Это объединенный формат с датчиком, двигателем, Bluetooth, Wi-Fi, а также экраном для беспроводного программирования на одной плате.Это позволяет вам контролировать данные датчиков и проверять двигатели из удаленного места в режиме онлайн. Это избавляет от необходимости подключать Arduino к ПК, загружая коды из Arduino IDE через Bluetooth. Более того, это становится проще, поскольку в BluBug загружено приложение для Android, которое отслеживает роботов с помощью виртуальных джойстиков.

Зачем это нужно?
Список недостатков, связанных с покупкой разных щитов для любых целей, бесконечен. Универсальное решение звучит просто и решает все проблемы.С BluBug вы можете загружать коды из Arduino IDE по беспроводной сети через Wi-Fi или Bluetooth (что вам больше нравится). Это очень полезно, когда ваша система была развернута в каком-то отдаленном месте, и вы не можете позволить себе повсюду разводить провода для мониторинга данных, отладки, последовательного мониторинга, а также для загрузки эскизов. Он также имеет возможность подключения серводвигателей, шаговых двигателей, устройств постоянного и переменного тока, аналоговых датчиков и т. Д. Для ваших проектов робототехники и Интернета вещей нет лучшего выбора.

Необходимые материалы и компоненты

  • 1 x Эспрессиф ESP8266 ESP-01
  • SparkFun, Повышающий регулятор напряжения – 3.3 В x1
  • 1x Genuino UNO и Arduino UNO
  • 1 x Texas Instruments Двойной Н-мостовой привод двигателя L293D
  • 1x HC-05 Bluetooth-модуль
  • Паяльник

Что еще можно сделать с BluBug?
BluBug идеально подходит для всех проектов робототехники и Интернета вещей. Он может сыграть ключевую роль в создании вашей собственной системы домашней автоматизации на основе Интернета вещей для включения вентиляторов и освещения в вашей квартире через ваш смартфон. Он также может помочь в мониторинге свойств почвы, таких как температура, влажность, влажность и другие, для сельскохозяйственных целей.

Вы можете найти все детали сборки этого устройства на https://create.arduino.cc/projecthub/twob/blubug-83ddbe?ref=tag&ref_id=esp8266&offset=11

3) Взлом датчика движения PIR с помощью ESP8266
Проект вращается вокруг модификации коммерческого датчика движения с помощью ESP8266 для регистрации данных при каждом обнаружении движения. Затем данные отправляются в Node-RED по протоколу связи MQTT. Здесь ESP8266 поглощает энергию через провод отключения датчика движения с помощью преобразователя переменного / постоянного тока HLK-PM03.

Требования

  • 220V PIR датчик движения
  • ESP8266-01
  • ESP8266-01 Последовательный адаптер
  • Малая прототипная доска
  • Raspberry Pi
  • Конденсатор электролитический 47 мкФ
  • Медленный предохранитель (200 мА)
  • Hi-Link HLK-PM03

Обзор
Он разделен на три части:

  1. Схема здания
  2. Создание и загрузка кода ESP8266
  3. Создание потока Mode-RED

Давайте обсудим процесс шаг за шагом

  1. Circuit Building :
    Для начала вам нужно будет избавиться от крышки датчика движения PIR.Вы увидите три провода: фазовый, фазовый, нейтральный. Также рекомендуется добавить к нему плавкий предохранитель с задержкой срабатывания непосредственно перед преобразователем HKL-PM03, а также конденсатор на выходе. Окончательная сборка будет выглядеть примерно так:

    Это HLK-PM03 вместе со схемой ESP8266 на малогабаритной прототипной плате. Также были добавлены некоторые контакты заголовка, чтобы ESP8266-01 оставался на своем месте.

  2. Запись и загрузка кода ESP8255
    Для этого проекта ESp8266 будет запрограммирован с помощью Arduino IDE.Вам нужно будет начать с установки надстройки ESP8266. Также установите библиотеку PubSubClient, которая поможет в создании клиента MQTT для базовой публикации сообщений с сервером. Теперь скопируйте код в Arduino IDE и начните вносить в него изменения. Вам нужно будет добавить свой собственный IP-адрес брокера MQTT, пароль и SSID. Вы можете проверить полную информацию о кодировании на https://randomnerdtutorials.com.

Затем вам нужно будет указать свои сетевые учетные данные и, наконец, IP-адрес брокера MQTT.

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

  1. Создание потока Node-RED :
    Непосредственно перед созданием потока вам необходимо установить Mosquito Broker, Node-RED Dashboard и Node-RED в Raspberry Pi.
    Затем вам нужно будет импортировать поток Node-RED из репозитория GitHub. Вот как выглядит импортированный поток, когда он получает журналы и сообщения MQQTT ESP8266 всякий раз, когда ощущается или идентифицируется какое-либо движение. Вы можете увидеть две кнопки, добавленные для обновления и очистки журнала на изображении ниже.

Node-RED Dashboard
После внесения необходимых изменений просто нажмите на вкладку «Развертывание», чтобы сохранить изменения. Чтобы получить доступ к вашему приложению в локальной сети, вам нужно будет ввести http: // Your_RPi_IP_address: 1880 / ui

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

Заключительные слова

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

Список литературы


В разделе: Технические статьи
С тегами: электронные проекты, проекты ESP8266

Быстрый старт с NodeMCU v3 (ESP8266), экосистемой Arduino и PlatformIO IDE | Данила Логинов

Хотите создать IoT-проект, но не знаете, с чего начать? Вот и ответ.

NodeMCU – это пятидолларовая платформа IoT с открытым исходным кодом, основанная на системе Wi-Fi ESP8266 на кристалле. Версия 3 работает на модуле ESP-12E (ESP8266MOD), и это простая в использовании плата для разработки, оснащенная аналоговыми и цифровыми выводами, адаптером USB-to-serial на базе модуля Ch440g и разъемом micro USB.

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

Обычное кодирование для Arduino происходит в среде Arduino IDE, несмотря на то, что существует более мощное решение: PlatformIO – бесплатная экосистема с открытым исходным кодом для разработки IoT. Вот некоторые плюсы:

  • Более быстрая компиляция
  • Автозаполнение
  • Мощный менеджер библиотек
  • Удобный способ организовать ваш код
  • Настройка IDE и плагины

Наличие этих трех китов: оборудования, программного обеспечения и IDE – будет поможет вам быстро начать работу с IoT и выйти за его пределы 🙂

Плата для разработки поставляется со встроенной прошивкой, обеспечивающей возможность управления чипом Wi-Fi с помощью AT-команд.Просто распакуйте новую плату NodeMCU и подключите ее к компьютеру с помощью USB-кабеля, она несколько раз мигнет синим светодиодом.

Он использует микросхему Ch440g для преобразования последовательного интерфейса в USB, что означает, что вашему компьютеру нужны драйверы для работы с платой. Компьютер с Windows 10 может автоматически найти и установить соответствующие драйверы, но если вам нужен, вот драйвер для загрузки (WCH – это китайская компания, разработавшая этот чип).

Чтобы убедиться, что плата работает, передадим несколько команд.Вы можете использовать Serial Monitor из Arduino IDE или любой другой последовательный терминал, который вам нравится, например, терминал Брея.

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

Окно приема после RST со скоростью 9600 бод

Играйте со скоростью передачи (например, 38400 , 115200 ), чтобы получить строка с надписью «готово». Мои платы работали с 115200 по умолчанию:

Говоря «готово» в окне приема со скоростью 115200 бод

Переключитесь на CR + LF окончания строки и отправьте команду AT , он должен ответить сообщением OK :

AT – ХОРОШО!

Теперь мы можем играть с другими командами, такими как:

  • AT + RST перезапускает модуль
  • AT + GMR проверяет информацию о версии
  • AT + CWMODE? возвращает текущий режим: 1 – станция, 2 – программная точка доступа, 3 – станция + программная точка доступа
  • AT + CWMODE = 3 устанавливает режим станции + программной точки доступа (перезапустить модуль с помощью команды AT + RST после)
  • AT + CWJAP = "MyNetwork", "qwerty12" подключается к MyNetwork с паролем qwerty12 , отвечает сообщениями WIFI CONNECTED и WIFI GOT IP после установления соединения
  • AT + CIFSR возвращает соединение info

Вы также можете установить TCP-соединение с другими устройствами в вашей сети или найти дополнительные команды в документе ESP8266 AT Command Examples.Плата сообщит ОШИБКА , если отправленная вами команда не поддерживается.

Перейдем к IDE. Выполните простые шаги, предложенные на веб-сайте PlatformIO: Установка.

PlatformIO, по сути, является расширением Visual Studio Code, поэтому вам нужно установить VS Code и добавить расширение platformio-ide :

Lolin NodeMCU V3 ESP8266 WiFi Development Board for IoT Projects

Описание

Lolin NodeMCU V3 – это платформа Интернета вещей с открытым исходным кодом.Он использует язык сценариев Lua. Проект eLua является основой платы и построен на ESP8266 SDK 1.4. NodeMCU использует множество проектов с открытым исходным кодом, таких как lua-cjson и spiffs. NodeMCU работает на ESP8266 Wi-Fi SoC и оборудовании, основанном на модуле ESP-12.

Плата Lolin NodeMCU V3 поддерживает преобразователь USB / UART, а также блок питания LDO с развязкой. Также на плате добавлены 2 миниатюрные кнопки. Самая важная особенность заключается в том, что он выводит все контакты ESP8266 на заголовки платы.Заголовки платы совместимы с макетными платами с шагом 2,54 мм.

Плата Lolin NodeMCU использует преобразователь Ch440G USB / UART. Вам нужно будет загрузить и установить соответствующий драйвер, чтобы приступить к разработке. Вы можете найти драйверы здесь:

NodeMCU Ch440 / Ch440G Страница загрузки драйвера (если не распознается автоматически): Щелкните здесь

Для пользователей MAC, пожалуйста, проверьте эту ссылку.

После установки драйвера вы можете использовать панель управления для получения назначенного номера последовательного COM-порта.Подключитесь к интерпретатору LUA, работающему на ESP8266, через ваш любимый эмулятор терминала. Скорость передачи для большинства плат составляет 9600 бод (1 стартовый бит, 8 бит данных, без контроля четности).

Простой способ связи с интерпретатором LUA на ESP8266 – использование ESP8266 LuaLoader. Это позволяет выполнять простые задачи. Например, вы можете установить SSID и пароль для своего беспроводного маршрутизатора, чтобы он мог подключаться к вашей сети через графический интерфейс. Вы также можете считывать или устанавливать состояние его портов GPIO.Получите такую ​​информацию, как IP-адрес или идентификатор чипа, или загрузите файлы. Тем не менее, вы также можете попробовать ESPlorer, который имеет более современный пользовательский интерфейс. Он также имеет подсветку синтаксиса в коде LUA.

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

Lolin Возможности NodeMCU

  • Arduino-Like Hardware IO
  • Код похож на Arduino, но интерактивно в сценарии Lua
  • Управляемый событиями API для сетевых приложений, который упрощает написание кода разработчиками.
  • Интегрирует GPIO, PWM, IIC, 1- Провод и АЦП – все в одной плате
  • 10 GPIO, каждый GPIO может быть ШИМ, I2C, 1-проводным
  • Флэш-память 4 Мб
  • Встроенная антенна WiFi

NodeMCU ESP8266 Распиновка, характеристики, характеристики и техническое описание

NodeMCU – это прошивка на основе Lua с открытым исходным кодом и плата разработки , специально предназначенная для приложений на основе Интернета вещей.Он включает в себя прошивку, которая работает на ESP8266 Wi-Fi SoC от Espressif Systems, и оборудование, основанное на модуле ESP-12.

Конфигурация выводов платы разработки NodeMCU

Категория контактов

Имя

Описание

Мощность

Micro-USB, 3.3 В, ЗЕМЛЯ, Вин

Micro-USB: NodeMCU может получать питание через порт USB

3,3 В: На этот контакт можно подать регулируемое напряжение 3,3 В для питания платы

GND: Контакты заземления

Vin: Внешний источник питания

Пины управления

EN, RST

Штифт и кнопка сбрасывают микроконтроллер

Аналоговый вывод

A0

Используется для измерения аналогового напряжения в диапазоне 0-3.3В

Контакты GPIO

GPIO1 – GPIO16

NodeMCU имеет 16 контактов ввода-вывода общего назначения на своей плате

Контакты SPI

SD1, CMD, SD0, CLK

NodeMCU имеет четыре контакта, доступных для связи SPI.

Контакты UART

TXD0, RXD0, TXD2, RXD2

NodeMCU имеет два интерфейса UART, UART0 (RXD0 и TXD0) и UART1 (RXD1 и TXD1). UART1 используется для загрузки прошивки / программы.

Выводы I2C

NodeMCU поддерживает функциональность I2C, но из-за внутренней функциональности этих выводов необходимо определить, какой вывод является I2C.

NodeMCU ESP8266 Технические характеристики и функции
  • Микроконтроллер: 32-разрядный RISC-процессор Tensilica Xtensa LX106
  • Рабочее напряжение: 3,3 В
  • Входное напряжение: 7-12 В
  • Цифровые контакты ввода / вывода (DIO): 16
  • Аналоговые входные контакты (АЦП): 1
  • UART: 1
  • SPI: 1
  • I2C: 1
  • Флэш-память: 4 МБ
  • SRAM: 64 КБ
  • Тактовая частота: 80 МГц
  • USB-TTL на базе CP2102 включен на плату, включая Plug n Play
  • PCB Антенна
  • Небольшой модуль для удобного использования в ваших проектах Интернета вещей

Другие доски для эспрессиона

ESP8266, ESP12E, ESP32

Другие макетные платы

Arduino, Raspberry Pi, PIC Development Board, AVR Development Board, MSP430 Launchpad, Intel Edison, Beagle Bone

Краткое описание NodeMCU ESP8266

Плата разработки NodeMCU ESP8266 поставляется с модулем ESP-12E, содержащим микросхему ESP8266 с 32-битным RISC-микропроцессором Tensilica Xtensa LX106.Этот микропроцессор поддерживает RTOS и работает на регулируемой тактовой частоте от 80 МГц до 160 МГц. NodeMCU имеет 128 КБ ОЗУ и 4 МБ флэш-памяти для хранения данных и программ. Его высокая вычислительная мощность со встроенными функциями Wi-Fi / Bluetooth и Deep Sleep Operating делает его идеальным для проектов IoT.

NodeMCU может получать питание через разъем Micro USB и вывод VIN (внешний вывод питания). Он поддерживает интерфейс UART, SPI и I2C.

Программирование NodeMCU ESP8266 с Arduino IDE

Плату разработки NodeMCU можно легко запрограммировать с помощью Arduino IDE, поскольку она проста в использовании.

Программирование NodeMCU с помощью Arduino IDE вряд ли займет 5-10 минут. Все, что вам нужно, это IDE Arduino, USB-кабель и сама плата NodeMCU. Вы можете проверить это руководство по началу работы для NodeMCU, чтобы подготовить свою Arduino IDE для NodeMCU.

Загрузка вашей первой программы

После установки Arduino IDE на компьютер подключите плату к компьютеру с помощью кабеля USB. Теперь откройте IDE Arduino и выберите правильную плату, выбрав Инструменты> Платы> NodeMCU1.0 (модуль ESP-12E) и выберите правильный порт, выбрав Инструменты> Порт. Чтобы начать работу с платой NodeMCU и мигать встроенным светодиодом, загрузите пример кода, выбрав «Файлы»> «Примеры»> «Основные сведения»> «Мигать». После того, как пример кода загружен в вашу среду IDE, нажмите кнопку «Загрузить» на верхней панели. После завершения загрузки вы должны увидеть, как мигает встроенный светодиод на плате.

Приложения NodeMCU
  • Прототипирование IoT-устройств
  • Приложения с низким энергопотреблением от батарей
  • Сетевые проекты
  • Проекты, требующие нескольких интерфейсов ввода / вывода с функциями Wi-Fi и Bluetooth

Обновите прошивку в модуле Wi-Fi ESP8266

Цель и обоснование

Это вторая статья автора об интегральной схеме ESP8266, относительно новом чипе, включающем полнофункциональный 32-битный RISC µC и встроенный модуль 802.11 б / г / н Wi-Fi цепь. В первой статье описывается использование Arduino IDE для программирования ESP8266 и содержится важная справочная информация, которая не будет здесь повторяться. Если вы еще не читали, прочтите.

В Интернете нет недостатка в информации о 8266; на самом деле их может быть слишком много … не того типа. Разработчики микросхемы Espressif, по-видимому, решили не только отдать производство на аутсорсинг, но и избежать прямого участия в линейке модулей ESP, в которых используется микросхема ESP8266.Вместо этого они предлагают информацию и услуги поддержки через форум для тех, у кого хватит терпения и настойчивости для поиска в лабиринте. Путаницу усугубляет существование еще одного форума, который, несмотря на название esp8266.com, похоже, не управляется Espressif. Кроме того, существует множество торговых посредников, видеоблогеров и писателей, которые также предлагают информацию, варьирующуюся от хорошей до запутанной и совершенно неправильной.

Модули

ESP доступны из различных источников, а микропрограммное обеспечение, содержащееся в микросхемах ESP8266 на модулях, почти всегда устарело и часто имеет сомнительное происхождение.«Обновления» прошивки и инструменты, доступные из тех же источников, также иногда вызывают подозрение. Следовательно, целью данной статьи является документирование процедуры загрузки последней доступной прошивки непосредственно из Espressif и ее установки на ESP8266 с помощью инструмента flash, предоставленного Espressif.

Настройка оборудования

Чтобы обновить прошивку на любом ESP8266, необходимо, чтобы он был правильно включен и подключен к ПК. Кроме того, должны быть предусмотрены средства сброса IC и перевода ее в режим загрузки.На схематической диаграмме и фотографии ниже показана рекомендуемая установка; обратите внимание, что цвета проводов на схеме соответствуют цветам проводов на фотографии. Как видите, он основан на модуле ESP-01, но те же соединения будут работать с другими модулями, пока используются те же входы / выходы ESP8266, как показано на схематической диаграмме. Дополнительные сведения см. В этой статье.

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

Программа терминала PuTTY

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

Откройте PuTTY и установите переключатель «Последовательный».Введите номер COM-порта (который должен быть меньше 10) и скорость передачи данных (которая, скорее всего, будет 115200 или 9600.)

В небольшом окне «Сохраненные сеансы» введите ESP8266 и нажмите кнопку «Сохранить». Окно PuTTY должно быть похоже на изображение ниже.

Нажмите кнопку «Открыть», откроется окно сеанса терминала PuTTY.

Включите Caps Lock на своем ПК и введите AT, но не нажимайте Enter. Вы должны увидеть AT в окне терминала PuTTY.Если вы этого не сделаете, возможно, вы выбрали неправильный COM-порт или неправильную скорость передачи данных. Закройте PuTTY и начните снова в верхней части этого раздела. Допустимые скорости передачи: 9600, 19200, 38400, 74880, 115200, 230400, 460800 и 921600; попробуйте каждый из них по очереди, пока не найдете тот, который работает.

Когда вы видите AT в окне терминала PuTTY, удерживая нажатой клавишу Ctrl, нажмите клавишу M, а затем клавишу J. Отпустите клавишу Ctrl. Вы должны увидеть OK в окне терминала PuTTY, как показано на рисунке ниже.

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

Когда вы видите это первое сообщение ОК, вы преодолели серьезное препятствие.Тогда вы узнаете, что ваше оборудование правильно настроено, модуль ESP функционирует, вы выбрали правильный COM-порт и выбрали правильную скорость передачи данных. Закройте окно сеанса терминала PuTTY и нажмите OK, когда PuTTY спросит, уверены ли вы.

Теперь снова откройте PuTTY, выберите сохраненный сеанс ESP8266 и нажмите кнопку «Загрузить». Это должно поместить ваш ранее определенный COM-порт и настройки скорости передачи в соответствующие окна. Нажмите кнопку «Открыть», и откроется новое окно сеанса терминала PuTTY.

Включите Caps Lock на своем ПК и введите AT, но не нажимайте Enter. Вы должны увидеть AT в окне терминала PuTTY. Введите знак +, а затем GMR. Когда вы видите AT + GMR в окне терминала PuTTY, удерживая нажатой клавишу Ctrl, нажмите клавишу M, а затем клавишу J. Отпустите клавишу Ctrl. Вы должны увидеть информацию о прошивке ESP8266 в окне терминала PuTTY, как показано на рисунке ниже.

В первой строке выше вы видите набранную вами команду AT + GMR.Как вы, возможно, знаете или догадались, схема команд, которую вы используете для связи с ESP8266, называется «набором AT-команд», потому что все команды начинаются с букв «AT».

К сожалению, существует множество различных версий наборов AT-команд; все они содержат одни и те же команды, но есть много AT-команд, которые не являются стандартными для всех наборов AT-команд. Даже в сообществе ESP8266 существует несколько версий. Вторая строка выше указывает, что это конкретное устройство 8266 запрограммировано с прошивкой, которая использует версию 0.25.0.0 AT-команд. Где-то есть документ, определяющий команды, включенные в версию 0.25.0.0, но без этого документа вы должны использовать метод проб и ошибок, чтобы определить, какие AT-команды работают. В лучшем случае это очень утомительный процесс, но, к счастью, есть решение дилеммы, которое будет объяснено в ближайшее время.

Третья строка определяет версию пакета разработчика программного обеспечения (SDK), которая использовалась для этого конкретного ESP8266, как версию 1.1.1. Каждый SDK также включает набор AT-команд, который является частью прошивки и подходит для управления этой прошивкой.Якобы AT версии 0.25.0.0 работает с SDK версии 1.1.1. Но все же нужен документ, описывающий AT версии 0.25.0.0, чтобы знать, какие команды включены. Есть способ получше, описанный в следующем разделе этой статьи, но прежде чем вы туда перейдете, попробуйте другую AT-команду, чтобы увидеть, что произойдет.

Включите Caps Lock на своем ПК и введите AT + CWLAP. Когда вы видите AT + CWLAP в окне терминала PuTTY, удерживая нажатой клавишу Ctrl, нажмите клавишу M, а затем клавишу J.Отпустите клавишу Ctrl. Через несколько секунд окно терминала должно выглядеть примерно так, как на фото ниже.

AT + CWLAP дал команду ESP8266 перечислить все точки доступа Wi-Fi в пределах его диапазона. В приведенном выше случае были обнаружены две точки доступа: одна называется «ATT936», а другая – «tracecom 2.4». Ваши результаты, конечно, будут отличаться и должны включать вашу собственную сеть Wi-Fi, а также сети любого из ваших очень близких соседей.

Закройте окно сеанса терминала PuTTY и нажмите OK, когда PuTTY спросит, уверены ли вы.

Средство загрузки ESP Flash

Хотя это редко упоминается в Интернете, Espressif, разработчики интегральной схемы ESP8266, создали специальное программное обеспечение для обновления прошивки в своих чипах. Это ESP Flash Download Tool, и он доступен здесь. Загрузите, распакуйте и установите последнюю версию на свой компьютер; на момент написания это FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar.

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

Следует отметить несколько моментов, но они не являются поводом для беспокойства.

  • Окно графического интерфейса пользователя идентифицируется как V2.3, а окно журнала – как V2.4. Видимо окно графического интерфейса неправильно помечено.
  • COM-порт и скорость передачи окна графического интерфейса пользователя могут содержать данные.
  • Адресные поля окна графического интерфейса пользователя могут содержать данные.
  • Окно журнала может содержать данные.

Получение последней прошивки

У

Espressif есть страница, на которой публикуются последние доступные прошивки.Перейдите на bbs.espressif.com, щелкните запись SDK в разделе “Загрузки”, а затем нажмите “последний выпуск” в разделе “Объявления”. С сегодняшнего дня, 28 октября 2015 года, вы увидите страницу, которая включает следующее.

Последняя версия пакета SDK, отличного от ОС (Software Development Kit), – это то, что вам нужно, и, похоже, вы можете щелкнуть сразу под «Последней версией: 1.4.0» и получить последнюю версию. Но это не совсем так; обратите внимание, что доступен патч, обозначенный как esp_iot_sdk_v1.4.1_15_10_22. Это не совсем патч; это исправленная версия версии 1.4.0, выпущенная 22 октября 2015 года. Вам нужна эта версия и bin-файлы AT_v0.50. Щелкните по каждому из них по очереди и загрузите файлы; вы можете сохранять их где угодно, но их можно разместить в папке «Загрузки».

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

Вы могли заметить, что есть раздел для загрузки документов. Все они содержат полезную информацию, но иногда есть существенные потери при переводе с китайского на английский. А пока не забудьте получить последние версии ESP8266 AT Instruction Set и Espressif IOT SDK User Manual; оба в настоящее время находятся в версии 1.4.

Установка прошивки

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

Включите настройку программирования ESP и подключите ее к компьютеру. Нажмите и удерживайте кнопку сброса, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку сброса, а затем отпустите кнопку Flash. Нажмите кнопку ПУСК в окне графического интерфейса инструмента загрузки флэш-памяти. Инструмент загрузки флэш-памяти должен проверить ESP8266 в вашей настройке и создать отчет, подобный изображениям, показанным ниже.Нажмите и отпустите кнопку сброса на настройках программирования, чтобы выйти из режима загрузки ESP8266 и возобновить нормальную работу.

Обратите внимание, что окно графического интерфейса пользователя теперь содержит информацию о ESP8266, включая размер флэш-памяти (8 Мбит в примере), частоту кристалла (26 МГц в примере) и два MAC-адреса для чипа. Та же информация содержится в окне журнала.

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

Теперь вам нужно выбрать файлы для установки в ESP8266 и установить начальный адрес памяти для каждого файла. Чтобы обновить чип ESP, необходимо правильно установить четыре файла. Откройте руководство пользователя Espressif IOT SDK и найдите раздел о записи изображений во флеш-память. В версии 1.4 руководства он начинается на странице 20. Затем найдите часть, которая описывает версию, которая поддерживает обновление облака (FOTA), и в этой части найдите таблицу, которая относится к размеру флэш-памяти в вашем ESP8266.В этом примере размер флэш-памяти составляет 8 Мбит, что равно 1024 КБ, поэтому в таблице 2 на странице 25 руководства представлена ​​информация, необходимая для этого примера. См. Картинку ниже.

Четыре необходимых файла: esp_init_data_default.bin, blank.bin, boot.bin и файл user1.bin. Адрес, по которому должен быть установлен каждый файл, отображается рядом с именем файла. Первые три необходимых файла находятся в папке esp_iot_sdk_v1.4.1_15_10_22, которую вы ранее загрузили с bbs.espressif.com, а четвертый находится в bin-файлах AT_v0.50. Перейдите туда, где находятся эти загруженные файлы, и скопируйте каждый из них в одно из пустых мест в верхней части окна графического интерфейса Flash Download Tool; введите правильный адрес для каждого файла в поле рядом с именем файла. Выполните следующие действия для каждого файла.

  • Щелкните внутри области файла «установить путь к прошивке».
  • Щелкните кнопку … справа от поля.
  • Перейдите в расположение нужного файла и щелкните файл.Графический интерфейс автоматически введет имя файла в поле.
  • Введите правильный адрес (из таблицы) для каждого файла.

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

Теперь установите четыре флажка слева от имени каждого файла. Окно графического интерфейса Flash Download Tool должно быть похоже на изображение ниже.Дважды проверьте адреса по таблице.

В настройках программирования ESP нажмите и удерживайте кнопку сброса, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку сброса, а затем отпустите кнопку Flash. Нажмите кнопку ПУСК в окне графического интерфейса Flash Download Tool. Загрузка должна начаться, и ее ход должен отображаться в окне графического интерфейса Flash Download Tool и в окне журнала, как показано ниже.

Как показано выше, успешная операция flash приведет к тому, что все файлы будут отправлены на ESP8266, а COM-порт будет закрыт.

Проверка успешной прошивки

Когда операция прошивки завершится, закройте Flash Download Tool. Отключите питание от настройки программирования ESP, а затем снова подключите питание.

Снова откройте PuTTY, выберите сохраненный сеанс ESP8266 и нажмите кнопку «Загрузить». Это должно поместить ваш ранее определенный COM-порт и настройки скорости передачи в соответствующие окна. Нажмите кнопку «Открыть», и откроется новое окно сеанса терминала PuTTY.

Включите Caps Lock на своем ПК и введите AT, но не нажимайте Enter.Вы должны увидеть AT в окне терминала PuTTY. Введите знак +, а затем GMR. Когда вы видите AT + GMR в окне терминала PuTTY, удерживая нажатой клавишу Ctrl, нажмите клавишу M, а затем клавишу J. Отпустите клавишу Ctrl. Вы должны увидеть информацию о прошивке ESP8266 в окне терминала PuTTY, как показано на рисунке ниже.

Как видите, в ESP8266 очевидна новая прошивка. Он был обновлен с SDK версии 1.1.1 на SDK версии 1.4.0. Кроме того, была установлена ​​соответствующая версия набора команд AT 0.50.0.0, которая задокументирована в ESP8266 AT Instruction Set, Version 1.4.

Закройте окно сеанса терминала PuTTY и нажмите OK, когда PuTTY спросит, уверены ли вы.

Последние слова

Пройдя пару практических занятий, весь процесс прошивки прошивки может быть завершен за гораздо меньшее время, чем требуется, чтобы прочитать эту статью. Как только это будет сделано, вы можете быть уверены в том, что находится внутри вашего 8266, и можете сосредоточиться на своем проекте Wi-Fi вместо того, чтобы «гадать и надеяться» на прошивку ESP и необходимый набор AT-команд.

Следующая статья из серии: Как прошить ESP-01 прошивкой в ​​улучшенный SDK v2.0.0

Попробуйте сами! Получите спецификацию.

.

alexxlab

leave a Comment