Разрабатываем крутой gui на esp8266 с библиотекой ugfx

Область применения ESP8266

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

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

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

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

ESP-07 ESP8266 последовательный модуль беспроводного приемопередатчика Wi-Fi для Arduino

ESP-03

Pin Name Alternate Functions Notes
1 GND (Pin 1 is in the corner close to the crystal and away from antenna)
2 NC
3 UTXD SPICS1, GPIO1, CLK_RTC Typically used as serial uart0 TX
4 URXD I2SO_DATA, GPIO3, CLK_XTAL Typically used as serial uart0 RX
5 GPIO16 XPD_DCDC, RTC_GPIO0, EXT_WAKEUP, DEEPSLEEP Connected to XPD_DCDC ESP pin, can also be connected to ESP EXT_RSTB (reset) pin by closing jumper near pin 8; Reset pin is active low and has an internal weak pull-up; Connecting jumper is required to wake-up ESP from deep-sleep: RTC produces pulse on XPD_DCDC pin that needs to be fed into EXT_RSTB pin
6 CH_PD Power-down: low input powers down chip, high powers up; tie high for normal operation or module will not function
7 ANT Wifi Antenna, do not connect
8 VCC 3.3V input (pin 8 is between antenna and ESP chip)
9 GPIO14 MTMS, I2SI_WS, SP_CLK
10 GPIO12 MTDI, I2SI_DATA, MISO
11 GPIO13 MTCK, I2SI_BCK, MOSI
12 GPIO15 MTDO, I2SO_BCK, SP_CS At boot: must be low to enter flash or normal boot (high enters special boot modes)
13 GPIO2 I2SO_WS, U1TXD, U0TXD At boot: must be high to enter flash or normal boot (low enters special boot modes); Typically is used as uart1 TX for debug logging
14 GPIO0 SPICS2, CLK_OUT At boot: low causes bootloader to enter flash upload mode; high causes normal boot

Получаем VPS сервер бесплатно и навсегда

Здесь я не буду останавливаться подробно — Вы сможете без труда найти статьи как это сделать. Мне понравились VPS, которые предоставляет Oracle — они дают две виртуальных машины и у них 1Gb RAM в каждой, а для нашего проекта 512 может не хватить.

Активация аккаунта Oracle для получения бесплатной виртуальной машины требует международную карту Visa/MasterCard типа WORLD с балансом не менее 100 рублей (списанные средства будут возвращены, это необходимо для верификации карты и владельца). Проверить тип Вашей карты можно заранее на любом сервисе по BIN коду (первые 6 цифр карты), в строке Категория карты должно быть WORLD.

Могу сказать, что эта акция на бесплатные VPS действующая, я зарегистрировал такой аккаунт неделю назад (август 2020).

На этапе выбора образа для виртуалки выберите Ubuntu 20.04 или любой другой дистрибутив linux, если обоснованно считаете это необходимым.

На окончании этого шага Вы должны получить доступ по SSH к новой виртуалке и знать ее внешний (публичный) IP адрес (не пугайтесь, с настройками по умолчанию этот адрес не пингуется из интернета). Для новичков могу сообщить, что приватные (частные) IP адреса начинаются на 10. и выглядят, например, так 10.0.0.15 (есть и другие частные подсети, погуглите) Нам нужен не этот адрес, а другой, общедоступный IP-адрес.

Динамическая загрузка данных датчиков с помощью AJAX

Если ваша веб-страница много весит, то полное ее обновление не слишком практично. Лучше использовать асинхронный Javascript и Xml (AJAX), чтобы мы могли запрашивать данные с сервера асинхронно (в фоновом режиме), не обновляя страницу.

Для выполнения AJAX на веб-страницах в JavaScript обычно используется объект . Он тихо выполняет GET-запрос на сервер и обновляет элемент на странице. AJAX – это не новая технология или другой язык, а просто существующие технологии, используемые по-новому. Кроме того, AJAX также позволяет:

  • запрашивать данные с сервера после загрузки страницы;
  • получать данные с сервера после загрузки страницы;
  • отправлять данные на сервер в фоновом режиме.

Ниже приведен скрипт AJAX, который мы будем использовать. Поместите этот скрипт непосредственно перед закрывающим тегом .

Скрипт начинается с тега , так как AJAX-скрипт – это не что иное, как javascript, и поэтому нужно писать его в теге . Чтобы данная функция вызывалась повторно, мы будем использовать функцию javascript . Она принимает два параметра: функцию для выполнения и интервал времени (в миллисекундах), через который выполнять указанную функцию.

Сердцем этого скрипта является функция . Внутри этой функции создается объект . Данный объект используется для запроса данных с веб-сервера.

Функция вызывается каждый раз, когда изменяется . Свойство хранит состояние . Возможны следующие значения:

  • 0: запрос не инициализирован;
  • 1: установлено подключение к серверу;
  • 2: запрос получен;
  • 3: обработка запроса;
  • 4: запрос завершен, и ответ готов.

Свойство содержит статус объекта . Возможны следующие значения:

  • 200: OK;
  • 403: запрещено;
  • 404: страница не найдена.

Когда равен 4, а – 200, ответ готов. Теперь обновляется содержимое элемента (содержащего значения температуры).

Затем HTTP-запрос инициируется с помощью функций и .

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

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

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

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

Шаг 7. Загрузите скетч в Arduino.

Скетч загружается в Arduino обычным способом. Однако из за того что модуль ESP8266 подключен к контактам 0 и 1, программирование становится невозможным. Компилятор будет показывать ошибку.

Перед программированием отсоедините провода идущие к ESP8266 от контактов 0 и 1. Произведите программирование. Затем верните контакты на место. Нажмите кнопку сброса Arduino.

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

ESP-07

Особенности этого модуля — керамическая антенна и разъем для внешней антенны, металлический экран.

Подключение к IoT

Аппаратная часть

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

1) Собираем схему

ESP-07

USB-Serial

VCC

VCC

CH_PD (рекомендуется через резистор)

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 (рекомендуется через резистор)

GND

GPIO 0 — сначала не подключен, но будет использоваться для перевода в режим программирования далее, поэтому к нему уже подведен провод

все остальные контакты не подключены

RTS, CTS — не подключены

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

2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)

2.1) Отключаем питание от модуля2.2. Подключаем пин GPIO 0  к GND

2.2) Подключаем пин GPIO 0  к GND

ESP-07

USB-Serial

VCC

VCC

CH_PD

VCC

TX

RX

RX

TX

GND

GND

GPIO 15 

GND

GPIO 0

GND

все остальные контакты не подключены

RTS, CTS — не подключены

2.3) Подключаем модуль к питанию

2.4) Железо готово, приступаем к программной части.

Программная часть

1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.

2) Вставляем подготовленный код.

3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.

4) Компилируем и загружаем скетч на плату.

5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.

6) Переподключаем питание ESP-07 (например, вытаскиваем и вставляем обратно адаптер).

7) Видим появление данных на платформе.

В Китае

Android приложение

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

Примечание: Приложение требует Android 4.0 (IceCreamSandwich) или выше.

  • Прежде всего, вы должны знать IP адрес своего модуля. Если вы использовали программный последовательный порт, IP адрес будет напечатан в консоли. Если вы использовали аппаратный последовательный порт, то вы должны использовать кабель для отслеживания данных на линиях RX и TX, чтобы увидеть IP адрес. Вам также нужно знать номер порта, который был указан в скетче для Arduino. После этого нажмите «connect», чтобы получить состояние всех трех выходов. Вам нужно убедиться, что ваш Wi-Fi роутер включен, и вы подключены к локальной сети.
  • Теперь нажмите на любой переключатель, который вы хотите включить/выключить. Всякий раз, когда захотите, вы можете нажать «refresh», чтобы обновить состояние всех выходов.
  • На вкладке «Timers» вы можете установить любой из этих трех выходов для включения/выключения через определенный промежуток времени (от 0 до 24 часов).
  • После любого действия вы получите сообщение с подтверждением о том, выполнилась ли команда успешно, или возникла какая-то ошибка.

Скриншоты Android приложения для управления контроллером на Arduino и ESP8266

Вспоминаем биты и байты

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

Обозначение для бита b, а для байта – B.
В одном байте (B) содержится восемь бит (b).
Обозначения для килобита Kb, а для килобайта – KB. Аналогично, мегабит обозначается Mb, а мегабайт – MB

И так далее.
Также хорошо бы обратить внимание, что большинство (возможно, все) модули ESP-01 на черных печатных платах содержат 1 MB EEPROM.

Единица измерения Байт (B) Килобайт (KB) Мегабайт (MB) Гигабайт (GB)  Терабайт (TB)
Количество байт 1 1 024 1 048 576 1 073 741 824 1 099 511 627 776

Как залить прошивку

Теперь запустим nodemcu-flasher и подключим файлы новой прошивки, прописав соответствующие адреса в разделе Config, заодно также подключим и файл blank.bin, который прошивается по трём адресам, но отмечать для прошивания мы его не будем, так как у нас память уже полностью очищена. Я пытался провернуть процедуру с файлом blank.bin но у меня ни как не обновлялась прошивка в ESP пока я не запускал утилиту Esptool и не форматировал память. У меня получилось вот так:

Переводим модуль в режим прошивки, переходим в программе nodemcu-flasher в раздел Operation и жмём кнопку Flash(F). Начнётся процесс заливки прошивки в FLASH-память модуля

После того как прошивка корректно запишется в память ESP мы увидим примерно такое окно с галочкой в зелёном круге:

На этом этапе мы прошили новую прошивку в ESP. Теперь давайте проверим состояние прошивки. Запустим ESPlorer, настроим порт и перезагрузим наш контроллер. Если у нас всё прошилось удачно, мы увидим приблизительно вот это

Тут мы видим версию SDK 2.2.1 Чего мы и добивались.

Справочная информация

Типы режима сна

Есть три типа режима сна: модемный, легкий и глубокий.

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

Режим глубокого сна

Для нашего проекта нужно, чтобы все компоненты ESP8266 были выключены, за исключением часов реального времени (RTC), благодаря которым ESP8266 следит за временем.

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

Другие режимы сна

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

При использовании режима глубокого сна работа проекта выглядит следующим образом:

  1. ESP8266 подключается к WiFi;
  2. ESP8266 выполняет действие (считывает данные от датчика, публикует MQTT-сообщение и т.д.);
  3. Переходит в режим сна и спит заданное количество микросекунд;
  4. Три стадии выше повторяются снова и снова;

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

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

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

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

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

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

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

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

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

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

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

Рисунок 11 – Рабта тестового скетча Blink на ESP8266 NodeMCU

Начало работы с Termite

В оригинальной статье о прошивке ESP8266 была рекомендована PuTTY; и, если она у вас она есть, и вы хотите её использовать, она здесь будет отлично работать. Тем не менее, Termite в этом плане более удобное приложение и будет использоваться далее в этой статье. Termite бесплатен и для личного, и для коммерческого использования.

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

После проверки своей схемы программирования ESP-01, как описано выше, включите её. Запустите на своем компьютере Termite и нажмите кнопку Settings (Настройки); вы должны увидеть окно, похожее на приведенное ниже. Убедитесь, что COM порт, к которому подключен USB-TTL конвертер, правильно выбран в окне настроек последовательного порта. Выставьте все остальные параметры, как показано в окне настроек последовательного порта ниже, и нажмите OK, чтобы закрыть окно настроек последовательного порта.

Настройки последовательного порта

На этом этапе курсор должен мигать в нижней части окна Termite; если нет, кликните на нижней части окна Termite, чтобы поместить туда курсор. Введите и нажмите Enter на клавиатуре; если всё хорошо, ESP-01 ответит в окне Termite. Если это произойдет, можете вздохнуть с облегчением, потому что вы только что преодолели главное препятствие.

Затем введите и нажмите Enter. ESP-01 должен ответить чем-то очень похожим, что показано на рисунке ниже.

Отклик модуля ESP-01

Команда говорит ESP8266 сообщить о версии набора AT-команд, который он содержит, какой SDK (Software Development Kit) был загружен в него, какая компания собрала модуль ESP, и когда SDK был загружен в модуль. Наконец, как обычно, ESP8266 завершает свой ответ с помощью .

Если ESP-01 ответил правильно, то можно закончить с Termite (если вы не хотите еще поэкспериментировать). Далее он понадобится снова для подтверждения успешной прошивки.

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

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

ESPlorer качаем здесь: http://esp8266.ru/esplorer-latest/?f=ESPlorer.zip
Распаковываем архив.

Под Windows запускаем файл ESPlorer.bat

Под Ubuntu:

Примечание: далее описанна робота с ESPlorer v0.1. Внешний вид новых версий может иметь не принципиальные отличия.

Указываем порт и скорость 9600:

И нажимаем «Open». Увидем следующще

У ESPlorer обнаружилась паршивая особенность. Он не всегда четко подключается к NodeMCU. Если попробовать послать любую команду (кнопкой Send) в консоли пролетает мусор вместо нормального ответа. Иногда после нескольких повторов все налаживается. Если Вас это беспокоит, попробуйте изменить скорость подключения на 115200.

Приступим к созданию первого скрипта на языке Lua. Скрипт с именем init.lua стартует автоматически после запуска NodeMCU. Создадим файл init.lua.
напечатаем всего одну строчку:

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

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

Теперь о самой большой неприятности, которая есть у NodeMCU. При некоторых критических ошибках (это случается не так часто, но если случается, то запоминается на долго) NodeMCU может перезагружаться. И самое страшное, что может случиться — это циклическая перезагрузка. Это случается если допустить критическую ошибку в скрипте который стартует автоматически. NodeMCU стартует, выполняет «глючный» скрипт, нарывается на критическую ошибку и уходит в перезагрузку. И так до бесконечности.

Для того, чтобы обезопасить себя на этапе изучения NodeMCU, я использую описанный ниже прием. В стартовом скрипте init.lua запускаем таймер, который сработает только один раз и через указанное время (в данном случае через 5 секунд) выполнит процедуру запуска другого скрипта (в данном случае main.lua). Больше ничего в скрипте init.lua не делаем. Все операции выполняются в скрипте main.lua. Таким образом, если мы допустим ошибку в скрипте main.lua, и NodeMCU уйдет в циклическую перезагрузку, после перезагрузки у нас будет 5 секунд для того чтобы удалить или исправить «глючный» скрипт.

Текст init.lua:

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

Тестирование контакта ADC (A0)

Чтобы отправлять команды при помощи ESPlorer IDE, вам нужно установить последовательное соединение между компьютером и ESP. Для этого сделайте следующее:

  1. Подключите ESP-12E или программатор FTDI к компьютеру
  2. Выставьте скорость передачи данных на 9600 бод
  3. Выберите порт, к которому подключен ESP-12E или программатор FTDI (например, COM3)
  4. Нажмите на кнопку «Open/Close»

Все элементы, необходимые для этих действий, показаны на картинке ниже красным цветом:

Затем впишите команду print(adc.read(0)) и нажмите на кнопку «Send», как показано на картинке ниже:

Вам должно вернуться значение в диапазоне от «0» до «1024». Теперь покрутите потенциометр и еще несколько раз отправьте команду print(adc.read(0)). Если регулятор потенциометра будет выставлен ближе к 0 вольт, программа напечатает что-то около «0», а если ближе к 3,3 вольт, то что-то около «1024».

См.также

AliExpress — глобальная виртуальная (в Интернете) торговая площадка, предоставляющая возможность покупать товары производителей из КНР

Обзор модуля реле для ESP8266-01S

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

Технические параметры

► Модель ESP8266: ESP-01S► Напряжение питания: DC 5 В► Рабочий ток: 250 мА ► Вывод управления реле: GPIO0► Нагрузка переменного тока: 10 А, 250 В► Нагрузка постоянного тока: 10 А, 30 В► Габариты пульта: 37 мм х 25 мм

Общие сведения о модуле реле для ESP8266-01S (ESP-01S)

С помощью данного модуля можно управлять любым устройством по сети Wi-Fi, в качестве передающего устройства используется контроллер ESP8266-01S (ESP-01S). Модуль собран на зеленом стеклотекстолите габаритами 37 см на 25 см, большую часть платы занимает реле SRD-5DVC-SL-C, такое же используется в обычных модулях реле на один и два канала. Рядом с реле небольшая электрическая обвязка, необходимая для нормального переключения этого реле. Так как управление реле осуществляя напряжение 5В, а для ESP01 необходимо напряжение 3.3 В на плате предусмотрен стабилизатор напряжения AMS1117 рядом установлены керамические конденсаторы. На плате предусмотрена кнопка RESET с помощью которой можно перегрузить модуль, рядом установлен светодиод показывающий включение реле.

Внимание! Данное Wi-Fi реле версией V1.0 разработано исключительно для ESP-01S. С ESP-01 без «S» не работает (в интернете можно найти много доработок по этому поводу), на данный момент существует версия Wi-Fi реле V4.0 которая поддерживает обе версии ESP-01 и ESP-01S

Назначение разъемов Wi-Fi реле:► 3-х пиновый разъем подключения управляющей нагрузки. ► 2-х пиновый разъем питания GND и 5В► 10-ти пиновый разъем ESP-01S

Настройка Wi-Fi реле

Необходимые детали:► Беспроводной Wi-Fi модуль ESP8266-01S (ESP-01S) x 1 шт.► Модуль реле для ESP8266-01S x 1 шт.► Адаптер для ESP-01 (USB, CH340G, ESP8266) x 1 шт.► Блок питания на 5В

Прошивка ESP-01S:Первым делом, необходимо прошить модуль ESP-01S (ES8266), для этого берем USB адаптер на CH340G (с небольшой доработкой, которая включаем в себя перемычку между GND и GPIO0). Устанавливаем модуль ESP-01S в USB адаптер CH340G и подключаем его в USB разъем компьютера (в системе должен появится новый последовательный порт (COMx).

Программа написана в среде IDE Arduino, для работы с чипами ESP8266, необходимо установить ESP плату, как это сделать можно посмотреть в этой статье. Теперь осталось загрузить скетч в программу IDE и загрузить в модуль ESP-01S.

Источник

Заключение

Платы на базе esp8266 – лучший способ организовать работу с сетью в ваших DIY проектах. Вы можете использовать большое количество разнообразных модулей и готовых плат, но WeMos – один из самых удобных способов. Плата похожа на Arduino Uno, достаточно легко подключается к датчикам и прошивается через Arduino IDE.

Уменьшенный аналог WeMos mini вообще можно назвать уникальным устройством, т.к. в очень компактном корпусе вы получаете не только почти все удобства и возможности Arduino, но и полноценный WiFi модуль. Можно даже обойтись без монтажа – просто вставляя различные модули расширения (шилды) WeMos как в матрешке, одну в другу. А недорогая цена делает эту плату абсолютным фаворитом для тех, кто делает умные устройства с возможностью выхода в интернет.