Встречайте убийцу Arduino: ESP8266
Встречайте убийцу Arduino: ESP8266
Wi-Fi является важной составляющей комплекта для любого проекта Интернета вещей (IoT), но любимое многими Arduino не имеет Wi-Fi, а добавление шилда Wi-Fi может увеличить общую стоимость почти до $40. Что делать, если уже есть Arduino-совместимая плата с встроенным Wi-Fi менее чем за $10?.
Встречайте убийцу Arduino: ESP8266. Это только вопрос времени, прежде чем была украдена корона из блестящей головы нашей дорогой платы разработчика Arduino.
ESP-12E (также известный как NodeMCU) был сначала в продаже как надстройка Wi-Fi низкой стоимости для платы Arduino, пока сообщество хакеров не понятно, что можно было бы полностью обойтись без Arduino.
Менее чем за год, ESP8266 взлетела в популярности и теперь настолько хорошо поддерживается и отработана, что, если вы сегодня используете Arduino, то должны встать и принять ее к сведению. Купить ее сейчас же и следовать этом руководстве, чтобы начать программировать ESP8266 — и все это из знакомого Arduino IDE.
Вы не ограничены использованием Arduino IDE, конечно, — плата тоже совместима с Lua (который выглядит как похудевший Python для начинающих), но так как мы предлагаем замену с точки зрения тех, кто научился на Arduino, то сегодня рассмотрим исключительно Arduino IDE.
Сегодня достаточно много моделей ESP8266, но автор собирается пойти дальше и рекомендует ESP-12E (также известный как NodeMCU 1.0, или это новейший брат NodeMCU 2.0).
Модуль немного дороже, чем другие ($6.50 в сравнении с $4!), Но включает в себя последовательный драйвер, необходимый для программирования чипа, имеет встроенный регулятор питания, а также много выводов входов/выходов.
Он широко поддерживается и действительно ничего, кроме подключения USB для программирования и питания, больше не нужно, поэтому с ним легче работать.
Если покупаете любую другую плату ESP8266, то, возможно, будет нужен отдельный регулятор питания для 3,3 В и соответствующее FTDI-соединения для программирования.
Начало работы с ESP8266-12E и Arduino
Во-первых, установите драйверы последовательного порта для этой платы. Возможно, потребуетсяотключить KEXT подписания, если работаете El Capitan, в связи с новыми системами безопасности.
Далее, вы должны включить поддержку ESP8266 диспетчером платы Arduino IDE. Откройте Preferences (Настройки) и введите следующий адрес в окне, где указано Additional Board Manager URLs (Дополнительные адреса диспетчера платы):
http://arduino.esp8266.com/package_esp8266com_index.json
Нажмите ОК, затем откройте Boards Manager (Диспетчер платы) из меню Tools -> Board, найдите esp8266 и установите платформу. Теперь вы должны увидеть выбор для NodeMCU 1.0:
Оставьте процессор и скорость загрузки такими, какие есть, и выберите опять установки последовательного порта. На Mac, это выглядит как cu.SLAB_USBtoUART.
Как первую программу, автор предлагает простой Wi-Fi сканер — найдите его в File -> Examples -> ESP8266WiFi -> WifiScan. Обратите внимание, что загрузка довольно медленный, но в конечном итоге будет показано done uploading (загрузка сделано) и в этот момент (не раньше, ибо нарушите процесс загрузки), можете открыть Serial Monitor. Должны увидеть нечто похожее на это:
Удача! Теперь, давайте попробуем подключиться к плате.
Возьмем совсем простой код для подключения к сети Wi-Fi. Он ничего, кроме простого подключения, не делает, но еще что-то сможете добавить позже. Только не забывайте изменить YOUR_SSID и YOUR_PASSWORD на параметры своего Wi-Fi. Загрузите, откройте консоль на последовательном порту, и вы должны увидеть это подключение:
#include const char* ssid = «YOUR_SSID»;
const char* password = «YOUR_PASSWORD»;
WiFiClient wifiClient;
void setup() { Serial.begin(115200); Serial.print(«Connecting to «); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(«.»); } Serial.println(«»); Serial.println(«WiFi connected»); Serial.println(«IP address: «); Serial.println(WiFi.localIP());
}
void loop() {
}
Разве это не здорово, что все было до смешного просто?
Прежде, чем продолжить, вот схема выводов — она может пригодится в дальнейшем. Обратите внимание, что номера контактов, указанных в коде, являются номерами GPIO, а не D0-16, вероятно, написанных на печатной плате. Если совершенно не можете понять, почему датчик не работает, то, вероятно, спутали номера выводов.
Быстрый датчик умного дома с MQTT и DHT11
Рассмотрим практический пример, который можно использовать сразу, чтобы контролировать ваш дом.
Будем снимать значения температуры и влажности с датчика DHT11, и добавлять к отчету, используя протокол MQTT в сети Wi-Fi, в случае автора, к системе автоматизации дома OpenHAB (если нет, то, возможно, захотите прочитать Руководство для начинающих, чтобы получить OpenHAB и запустить на Raspberry Pi, и 2 часть, в которой конкретно рассматривается установка сервера MQTT).
На стороне монтажа подключите датчик DHT к GND, 3,3 В и ~ D4 (или GPIO 2). Это все, что нам сейчас нужно.
Загрузите библиотеки MQTT и DHT. Даже если у вас они уже есть, загрузите их в любом случае, сделайте резервное копирование того, что у вас есть, и перезапишите загруженными. Последняя библиотека DHT11 от Adafruit использует алгоритм автоматического определения скорости, с которой данные считываются с датчика, но она глючит на ESP8266 и 90% времени результаты не удается прочитать.
Со старой версией 1.0 библиотеки, которую автор включил в загрузки, вы можете вручную изменить время: 11 лучше подходит для этих плат ESP2866. Автор также прошел через много копий библиотеки MQTT, пытаясь найти хорошую функцию обратного вызова, наконец, один из них включил в загрузки. Надо будет перезапустить Arduino IDE после их замены.
Здесь хранится полный код проекта. Сверху находятся все переменные, которые вы должны изменить, в том числе, параметры Wi-Fi, сервера MQTT (можно использовать URL-адрес вместо использования облачного сервера, хотя на месте нет никакой аутентификации), и каналы для публикации данных.
Источник: http://infoweb.org.ua/vstrechajte-ubijtsu-arduino-esp8266
ESP8266 настройка под прошивку по воздуху через wi-fi в FLProg – У Павла!
В данной статье рассмотрим как можно в программе FLProg настроить модуль ESP8266 таким образом, чтоб можно было прошивать наш модуль по wi-fi не подключая его к компьютеру.
Я даже не знаю добавлять ли какие-то картинки в этой статье, все разжевал в видео которое в конце статьи.
Наверное здесь остановлюсь на основных подводных камнях для того чтоб все прошло у Вас гладко.
Прошивка ESP8266 методом ATO
OTA (от «over the air», что можно перевести как «по воздуху») – это метод загрузки на модуль ESP8266 новой прошивки, но не через последовательный порт, а по WiFI-связи. Этот метод крайне полезен, если ESP8266 находится в каком-то труднодоступном месте.
На мой взгляд очень интересная штука и очень полезная, но arduino ide для того чтоб залить скетч по “Воздуху” использует python поэтому его нужно установить.
Во-первых, на компьютер нужно будет установить Python 2.7.x.
- Зайдите на сайт Python и загрузите версию 2.7.x для Windows
- Откройте файл и следуйте инструкциям программы-установщика
- Выберите вариант «Install for all users»
- В секции «Customize Python 2.7.X» включите последнюю опцию, т.е. «Add python.exe to Path»
Это нужно зделать обязательно, так как arduino ide обращается к python как “python.exe” поэтому path должен быть настроен.Так с pythonoм разобрались.После заливки скетча с OTA и попытке установить новый скетч через wifi и программу Arduino ide, может возникнуть ошибка:“[ERROR]: Bad Answer: ERR: ERROR[8]: Flash config wrong real: 4194304 IDE: 16777216”Решается данная болезнь одним непонятным по крайней мере для меня скетчем. Который выглядит вот так: void setup(void) { Serial.begin(115200); } void loop() { uint32_t realSize = ESP.getFlashChipRealSize(); uint32_t ideSize = ESP.getFlashChipSize(); FlashMode_t ideMode = ESP.getFlashChipMode(); Serial.printf(“Flash real id: %08X
“, ESP.getFlashChipId()); Serial.printf(“Flash real size: %u bytes
“, realSize); Serial.printf(“Flash ide size: %u bytes
“, ideSize); Serial.printf(“Flash ide speed: %u Hz
“, ESP.getFlashChipSpeed()); Serial.printf(“Flash ide mode: %s
“, (ideMode == FM_QIO ? “QIO” : ideMode == FM_QOUT ? “QOUT” : ideMode == FM_DIO ? “DIO” : ideMode == FM_DOUT ? “DOUT” : “UNKNOWN”)); if (ideSize != realSize) { Serial.println(“Flash Chip configuration wrong!
“); } else { Serial.println(“Flash Chip configuration ok.
“); } delay(5000); }
Ну или его можно скачать по ссылке:https://yadi.sk/d/E4ZC4sOfjYULpw
Данный скетч нужно залить на esp8266. После этого можно заливать уже другие скетчи, перезаписав данный. И при попытке прошить esp8266 через wi-fi уже такой ошибки возникать не будет.
В принципе все. Все подводные камни которые мне встречались при создании OTA я Вас рассказал. Подробнее о создании OTA в программе FLProg можно посмотреть в видео:
Источник: http://psenyukov.ru/esp8266_proshivka_povozduhu/
EPS8266 прошивка, программирование в Arduino IDE
И снова привет geektimes. Этот материал является продолжением моей предыдущей статьи — EPS8266 и Arduino, подключение, распиновка, и, должен сказать, что они взаимосвязаны. Я не буду затрагивать темы, которые уже раскрыты.
А сегодня, я поведаю, как же программировать ESP8266 при помощи Arduino IDE, так же прошивать другие прошивки, например NodeMcu… Вообщем, этот материал не ограничивается только одной темой Ардуино.
Тема EPS8266 — довольно таки непростая. Но, если работать с этими Wi-Fi модулями в среде разработки Arduino IDE — порог вхождения опускается до приемлемого для обычного ардуинщика уровня.
Да и не только ардуинщика, а любого человека, у которого есть желание сварганить что-то по теме IoT(интернет вещей), причём не затрачивая много времени читая документацию для микросхемы и изучение API для этих модулей.
Данное видео, полностью дублирует материал, представленный в статье ниже.
Ну что же, мы уже умеем подключать ESP8266 и переводить его в режим программирования, теперь давайте перейдём к чему-то более полезному.
Скажу сразу — один раз запрограммировав модуль в среде разработки ардуино, мы сносим родную прошивку, и у нас пропадёт возможность работать с модулем при помощи AT-команд. Лично мне, от этого, не холодно/не жарко, но если кому-то это будет нужно — ближе к концу статьи я покажу, как обратно прошить в модуль родную прошивку, ну или какой-то загручик типа NodeMcu.
Для начала, на офф.сайте качаем последнюю версию Arduino IDE, на данный момент это 1.6.7. Более старые версии типа 1.0.5. не подойдут, потому что банально не имеют нужного функционала, а танцы с бубном нас не интересуют, не так ли?
Запускаем среду разработки и тут же идём в Файл/Настройки:
Вставляем ссылку в поле «Дополнительные ссылки для Менеджера плат:» и жмём «OK».
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Данную ссылку я взял на странице проекта Arduino core for ESP8266 WiFi chip.
Потом идём Инструменты/Плата:/Менеджер плат…:
Перед нами появится окно менеджера плат, листаем его до самого низа, и если всё сделано правильно мы увидим что-то подобно этому:
Кликаем курсором по надписи “esp8266 by ESP8266 Community” после этого, у нас появилась кнопка «Установка», выбираете нужную версию, я беру последнюю, на сегодняшний день это 2.1.0. и устанавливаю её. Среда разработки закачает нужные ей файлы(около 150 мегабайт) и напротив надписи “esp8266 by ESP8266 Community” появится «INSTALLED» то есть установлено:
Листаем список плат вниз и видим, что в списке у нас появилось много разных ESP, берём «Generic ESP8266 Module»:
Идём в «Инструменты» и выбираем нужный COM порт(у меня это COM32) Arduino или USB UART конвертора, потом ставим Upload Speed:«115200»:
Далее открываем консоль в Arduino IDE, подаём питание на модуль, если всё было сделано правильно, то мы увидим что-то в этом роде:
Выставляем скорость 74880 и «NL & CR» и опять же отключаем и подаём питание и он ответит кое какой отладочной информацией:
Заметьте, 74880 — не основная скорость ESP8266, просто он всего лишь на ней отправляет отладочную информацию. Если модуль ничего не отправляет в консоль, тогда возможно что-то подключили не так как надо.
По умолчанию скорость должна быть 115200, но в отдельных случаях может быть и 9600 и другие… Так что попробуйте подобрать.
После подбора нужной скорости отправляем модулю «AT» и он должен ответить что всё «ОК». Команда «AT+GMR» выводит информацию о прошивке.
Прежде чем начать прошивать ESP8266 в Arduino IDE я советую дочитать статью до конца.
Теперь давайте попробуем прошить ESP8266 через Arduino IDE. Переводим модуль в режим программирования(как это сделать я писал в предыдущей статье).
Давайте зашьём мигалку штатным светодиодом:
// By MrПоделкинЦ youtube.com/RazniePodelki
// special to geektimes.ru/post/271754/ #define TXD 1 // GPIO1/TXD01 void setup() { pinMode(TXD, OUTPUT);
} void loop() { digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay(1000);
}
Замигал? Значит всё сделано правильно. Откуда я взял что светодиод подключен на первый пин? В предыдущей статье есть картинка с распиновкой разных модулей, и там есть разметка портов, при использовании загрузчика Arduino(пины отмечены розовым цветом).
Мигание светодиодом это конечно хорошо, но надо бы какой-то веб-сервер заделать или начать управлять светодиодом хотя бы при помощи кнопок в браузере, не так ли? Но об этом я расскажу уже как-нибудь в другой раз.
А теперь как прошить назад родную прошивку, да и как вообще прошивать модуль сторонними загрузчиками. Для ESP8266 есть такая программа как NodeMCU Flasher, которая изначально предназначена для прошивки загрузчика NodeMCU. Но как оказалось, она отлично прошивает и другие прошивки.
Я прикреплю к статье архив с данной программой и прошивкой для удобства, но тут всегда можно скачать новую версию NodeMCU Flasher.
В папке «nodemcu-flasher-master» есть 2 папки Win64 и Win32 и в зависимости от того какая разрядность у вашей ОС выбираем нужную. Дальше в папке Release запускаем «ESP8266Flasher.exe» и видим интерфейс программы:
Выбираем нужный COM порт и идём во вкладку «Config», убираем хрестик около «INTERNAL://NODEMCU» и ставим его на один пункт ниже, как на скрине:
(Если захотите прошить загрузчик NodeMCU — убираете хрестик там где его не было, и ставите — где он был, то есть около «INTERNAL://NODEMCU»).
Потом жмём по шестеренке и выбираем где лежит наша прошивка, прошивка как правило в формате *.bin(в прикреплённом архиве это «v0.9.5.2 AT Firmware.bin» которая лежит в основной папке), и так же выбираем «0x00000» как и выше.
Дальше идём во вкладку «Advanced» и меняем там скорость на 115200, именно эта скорость будет основная и модуль будет отзываться по ней на AT-команды в случае соответствующей прошивки.
Возвращаемся опять на вкладку «Operation» переводим модуль в режим программирования и жмём «Flash»:
Всё, модуль начал прошиваться, после перепрошивки не забываем перезагрузить модуль и вуаля, он прошит нужной нам прошивкой.
Проверяем AT-командой «AT+GMR» сделали ли мы всё верно:
Как ведите всё нормально прошилось.
Ссылки:
Архив с NodeMCU Flasher, прошивкой и кодом для Arduino IDE;
EPS8266 и Arduino, подключение, распиновка;
Свежая версия Arduino IDE всегда лежит тут;
NodeMCU Flasher;
Русскоязычное сообщество по ESP8266;
Много разных прошивок к ESP8266;
Все мои публикации на geektimes.
By Сергей ПоделкинЦ ака MrПоделкинЦ.
P.S. Если в статье что-то не так — пишите в личку, исправлю. Час ночи сейчас, однако.
Источник: http://www.pvsm.ru/programmirovanie/113560
Sonoff Basic Tasmota Arduino IDE – Мир Электроники
- One of the supported ESP8266 modules
- 3.3V FTDI USB-to-Serial Converter/Programmer
- Soldering iron and header pins
- Arduino IDE
- Исходный код прошивки здесь
- Брокер MQTT
- Клиент MQTT для взаимодействия с модулем Sonoff (настольный клиент, приложение для Android, openHAB, …)
Необходимо интерфейс последовательного программирования модуля Sonoff / чипа ESP8266. В большинстве случаев контакты доступны на печатной плате, но разъемы должны быть спаяны. Вам также понадобится USB UART TTL 3.3V Converter / Programmer (например, CP2102, CH340G, FT232, PL2303).
Будьте осторожны — некоторые так называемые 3V3 FTDI кабели фактически дают 5v на линии VCC. Нужно измерить, прежде чем подключиться к вашему Sonoff.
Приведение модуля в режим загрузки прошивки
Модул Sonoff (как правило, ESP8266) должен быть помещен в Flash-режим до того, как прошивка Sonoff-Tasmota может быть загружена.
Это делается путем замикания вывода GPIO0 в GND, когда чип загружается. На большинстве модулей установленная кнопка управления и подключена к GPIO0 и GND, что упрощает вход в режим прошивки.
На других модулях вам нужно будет подключить контакты на печатной плате.
Чтобы привести модуль Sonoff в режим загрузки прошивки:
-
- Отключить USB UART и питание
-
- Подключите GPIO0 и GND (например, нажав на встроенную кнопку)
-
- Подключите USB UART (VCC, RX, TX, GND)
-
- Отключите GPIO0 от GND (через одну-две секунды)
Если все пойдет хорошо, вы теперь находитесь в режиме Flash и готовы продолжить загрузку прошивки Sonoff-Tasmota. Если загрузка не может быть запущена, отключите модуль и начните подготовку оборудования с самого начала.
Как настроить Arduino IDE для компиляции и загрузки Tasmota
Установите Arduino IDE
Установите программное обеспечение платы ESP8266
Откройте Arduino IDE и выберите «File — Preferences» и добавьте следующий текст для поля «Additional Boards Manager»: http://arduino.esp8266.com/stable/package_esp8266com_index.json и выберите «ОК».
Откройте «Tools — Boards … — Boards Manager …» и прокрутите вниз и нажмите на esp8266 от сообщества ESP8266. Нажмите кнопку «Установить», чтобы загрузить и установить последнее программное обеспечение платы ESP8266. Выберите «Закрыть».
Загрузить Tasmota Загрузите последний исходный код Source code (zip) выпуска Tasmota с https://github.com/arendst/Sonoff-Tasmota/releases и распакуйте в другую известную папку. Скопировать файлы Версия ESP8266 Board 2.4.
Чтобы удалить параметры компиляции по умолчанию для printf и scanf с плавающей запятой, которые не используются Tasmota и сохранит пространство с кодом 15k, замените в папке IDE Arduino Portable packages esp8266 hardware esp8266 2.4.0 файл platform.txt с исходным кодом Tasmota файл arduino версия 2.4.0 platform.txt.
Скопируйте все файлы из папки lib исходного кода Tasmota в папку sketchbook libraries.
Скопируйте исходный код папки sonoff с исходным кодом Tasmota в свой sketchbook.
Настройка Arduino IDE
Выберите Tools и проверьте следующие настройки для всех устройств Tasmota:
Дополнительно: Подготовьтесь к загрузке OTA
Исходный код Tasmota Исходный код содержит сценарии, которые должны быть установлены в среде Arduino и веб-сервере для копирования скомпилированного двоичного файла на ваш веб-сервер. Затем этот веб-сервер может предоставить прошивку через OTA на устройство.
Если недоступно, установите PHP на свой веб-сервер и скопируйте папку источника исходного кода Tasmota api в корень вашего веб-сервера.
Если это еще не сделано в предыдущих шагах, замените папку Arduino IDE portable packages esp8266 hardware esp8266 2.3.0 file boards.txt с файлом исходного кода Tasmota arduino version 2.3.0 boards.txt.
Замените в папке IDE Arduino portable packages esp8266 hardware esp8266 2.3.0 файл platform.txt с файлом исходного кода Tasmota arduino version 2.3.0 platform.txt.
Скопируйте из папки Tasmota исходный код файла arduino espupload.py в папку Arduino IDE portable packages esp8266 hardware esp8266 2.3.0 tools и измените в скрипте HOST_ADDR, чтобы указать на ваш IP-адрес веб-сервера.
После перезагрузки вашей Arduino IDE теперь у вас есть дополнительная опция для инструментов — Загрузка с использованием: «OTA_upload».
Конфигурация устройства
Перед компиляцией измените STA_SSID1 и STA_PASS1 внутри user_config.h, чтобы соответствовать вашим WiFi-идентификаторам SSID и WiFi.
#define STA_SSID1 “indebuurt1” // [Ssid1] WID SSID
#define STA_PASS1 “VnsqrtnrsddbrN” // [Password1] Wifi password
Эта операция упрощает дальнейшие первые шаги, так как Sonoff автоматически распознает и присоединяется к вашему WiFi.
Не пытайтесь использовать другие типы плат в среде Arduino IDE (например, при программировании Wemos и т. Д.), Если вы хотите использовать OTA-обновление Tasmota, так как это может привести к сбою и потребовать перепрограммирования. Всегда используйте плату Generic ESP, как указано выше.
Если ваша новая конфигурация, не применяется вы можете выполнить любое из следующих действий, чтобы исправить ее:
- Измените значение CFG_HOLDER в user_config.h и повторно запустите
- Удерживайте кнопку на устройстве в течение как минимум 4 секунд, чтобы начать команду RESET
- Сброс устройства через веб-консоль
Компиляция Tasmota
Откройте Arduino IDE и выберите файл sonoff.ino из папки sketchbook sonoff.
Скомпилируйте Tasmota и Загрузите Tasmota на устройство.
Поставить устройство в режим загрузки прошивки
При выполнении загрузки прошивки не подключайте устройство к сети переменного тока, а используйте источник питания, обеспечиваемый вашим последовательным интерфейсом (тип FTDI).
Поместите устройство в режим загрузки прошивки, заземляя контакт GPIO00 при подаче питания.
Штырь заземления GPIO00 часто может быть достигнут, нажав кнопку 1 на устройстве Sonoff или используя провод между GPIO00 и Gnd, если кнопка недоступна.
Выполнение загрузки
Сделайте правильный выбор последовательного интерфейса в среде Arduino через Tools — Port: «COM5».
Загрузите скомпилированную прошивку с помощью Sketch — Upload.
ПРИМЕЧАНИЕ. Для правильной инициализации устройства после первой прошивки отключите и включите питания устройства.
Дополнительно: загрузка Tasmota на сервер OTA
Если веб-сервер доступен, вы можете загрузить скомпилированную прошивку с помощью дополнительных скриптов и подготовить ее для загрузки OTA любым устройством Tasmota с помощью команды MQTT upgrade 1 или upgrade 5.1.2.
Убедитесь, что выбраны Инструменты — Загрузка с использованием: «OTA_upload».
Загрузите скомпилированную прошивку на сервер OTA с помощью Sketch — Upload.
Начальная конфигурация
Вы успешно загрузили прошивку Sonoff-Tasmota в свой модуль.
Подключите к (AC) (UART не подключен)
Если ваш Wi-Fi не был установлен ранее, как описано в разделе «Конфигурация устройства», настройте Wi-Fi, используя один из предоставленных режимов конфигурации: Использование кнопки Подключитесь к веб-странице устройства (http: // sonoff-ip / cn) Выберите правильный тип модуля Sonoff из интерфейса конфигурации Настройте соединение брокера MQTT, выберите уникальную тему, например. «Sonoff-kitchenlight» Проверьте связь с клиентом MQTT по вашему выбору
Интеграция с интерфейсом для домашней автоматизации по вашему выбору
Использование кнопки в Tasmota
Основная кнопка модуля Sonoff-Tasmota обеспечивает следующие функции:
- 1 короткое нажатие: переключает реле напрямую или отправляет сообщение MQTT, например, cmnd / sonoff / 1 / light on. светодиод будет мигать ом дважды и отправлят сообщение состояния MQTT, например stat / sonoff / LIGHT on. Если используется cmnd / sonoff / ButtonRetain on, сообщение MQTT также будет содержать флаг сохранения MQTT.
- 2 коротких нажатия: переключает реле. светодиод будет мигать дважды и отправлят сообщение состояния MQTT, например stat / sonoff / POWER. Для Sonoff Dual это переключит второе реле.
- 3 коротких нажатия: запуск Wifi smartconfig, позволяющий настроить SSID и пароль с помощью мобильного телефона Android с приложением SmartConfig ESP8266. Сервер MQTT по-прежнему необходимо настроить в файле user_config.h. Светодиод будет мигать в течение периода конфигурации. Одно нажатие кнопки в течение этого периода отменяет и перезапускает sonoff.
- 4 коротких нажатия: Запустить диспетчер Wifi, обеспечивающий точку доступа с IP-адресом 192.168.4.1 и веб-сервером, позволяющим конфигурировать параметры Wifi и MQTT. Светодиод будет мигать в течение периода конфигурации. Одно нажатие кнопки в течение этого периода отменяет и перезапускает sonoff.
- 5 коротких нажатий: Запустите Wifi Protected Setup (WPS), разрешающую настройку SSID и пароля с помощью кнопки WPS маршрутизатора или веб-страницы. Светодиод будет мигать в течение периода конфигурации. Одно нажатие кнопки в течение этого периода отменяет и перезапускает sonoff.
- 6 коротких нажатий: перезапустит модуль
- 7 коротких нажатий: начнет загрузку прошивки OTA. Во время обновления горит зеленый светодиод
- Нажатие кнопки более четырех секунд: Сброс настроек по умолчанию, как определено в user_config.h, и перезапуск устройства
Кнопка подключена к GPIO 0 (вывод NodeMCU D3)
Обзор MQTT
Сообщение | отправленное | цель |
cmnd | К Сонофф | контролировать Сонофф; настройка конфигурации; спросить статус |
stat | Sonoffs | сообщить о статусе или сообщении конфигурации |
tele | некоторые Sonoffs (например, приборы для измерения температуры) | сообщить незапрашиваемые данные телеметрии через определенные интервалы времени |
Эти переменные prefix1, prefix2 & prefix3 в коде Tasmota.
Настройка MQTT Tasmota
Настройки MQTT можно первоначально настроить в веб-интерфейсе, а после этого настроены командами.
Включить MQTT с помощью флажка в веб-интерфейсе в разделе Configuration → Configuration Other.
Настройка параметров MQTT После включения MQTT можно настроить в Configuration → Configure MQTT.
Host name | 32 | MQTT_HOST=domus1 | URL или IP-адрес. Обратите внимание: без специальной сборки прошивки SSL не поддерживается. |
Port | uint | MQTT_PORT=1883 | 0-65535 |
Client Id | 32 | MQTT_CLIENT_ID=DVES_%06X | Уникальный идентификатор этого устройства должен быть уникальным для каждого устройства; регистрируется сервером MQTT |
Username | 32 | MQTT_USER=DVES_USER | Имя пользователя для аутентификации сервера MQTT |
Password | 32 | MQTT_PASS=DVES_PASS | Пароль для аутентификации сервера MQTT |
Topic | 32 | MQTT_TOPIC=sonoff | Удобное название темы (MQTT Topic); обычно описывает местоположение или использование этого устройства; используется в командах и ответах MQTT; должtы быть уникальными |
Full Topic | 100 | %prefix%/%topic% | Строка формата, используемая для сборки команд MQTT |
Примечание. По умолчанию прошивка будет искать брокера MQTT с использованием mDNS, выполнив поиск записи tcp mqtt.local. После настройки в веб-интерфейсе, в разделе Main Menu → Information
MQTT Host → 192.168.0.150
MQTT Port → 1883
MQTT Client & Fallback Topic → DVES_A3B70D
MQTT User → mqtuser
MQTT Topic → sonoff-B1
MQTT Group Topic → sonoffs
MQTT Full Topic → cmnd/sonoff/
Примеры для Sonoff-MQTT
MQTT Overview
MQTT Features
Sonoff-Tasmota Commands
См. Список команд для окончательного списка операций, которые вы можете выполнить. Первое слово в столбце с пометкой «Command» — это текст, который вам нужно поставить в конце строки cmnd при публикации сообщения MQTT. Второе слово — это содержимое команды. Если нет второго слова, вы можете просто отправить пустую команду.
Например, Реле можно контролировать с помощью Android client MyMQTT Publish cmnd/sonoff-B1/power Message → on . Sonoff отправит сообщение статуса MQTT, например stat / sonoff-B1 / POWER ON.
Определение темы MQTT
До версии 5.0.5 тема MQTT была жестко определена с помощью команд Prefix
Начиная с версии 5.0.5 тема MQTT более гибкая, используя команду FullTopic и токены, которые должны быть помещены в определяемую пользователем строку размером до 100 символов. Предоставляемые токены:
- %prefix% для динамической замены одним из трех префиксов, определенных командами Prefix1 (по умолчанию: «cmnd»), Prefix2 (по умолчанию: «stat») и Prefix3 (по умолчанию: «tele»).
- %topic% будет динамически заменяться одним из пяти тем, как определено командами Topic, GroupTopic, ButtonTopic, SwitchTopic и MqttClient.
Используя токены, можно сделать следующие примеры тем (MQTT Topic):
- FullTopic: %prefix%/%topic%/ — прежняя ситуация до версии 5.0.5
- FullTopic: tasmota/% topic% /% prefix% /
- FullTopic: tasmota / bedroom /% topic% /% prefix% /
- FullTopic: penthouse/bedroom1/bathroom2/%topic%/%prefix%/
Рекомендовано использовать token %prefix% во всех FullTopics.
Использование токена % topic% также является обязательным, если вы хотите использовать ButtonTopic и / или SwitchTopic. Он также обеспечивает групповую и резервную функциональность.
Интеграция openHAB
Требования
- Рабочая установка openHAB (http://docs.openhab.org)
- Конфигурированный модуль Sonoff-Tasmota (т. е. Модуль, доступный из вашей локальной сети)
- Доступен брокер MQTT (например, Eclipse Mosquitto )
- Рабочее и проверенное соединение между openHAB и брокером MQTT MQTT Binding — Начало работы 101
- (необязательно) Автономный клиент MQTT (например, mqtt-spy) для наблюдения и идентификации сообщений в брокере MQTT
Прежде чем продолжить, убедитесь, что вы назначили уникальные «Темы» MQTT в конфигурационном интерфейсе Sonoff-Tasmota каждого модуля Sonoff.
Тема MQTT по умолчанию — MQTT Topic → sonoff, в приведенных ниже примерах мы будем использовать такие имена, как «sonoff-B1».
В конфигурации примера вы можете увидеть определение полной темы по умолчанию, которое не используется в следующих примерах.
интеграция
Нужно настроить элементы для всех интересующих тем MQTT Sonoff-Tasmota. Некоторые темы Sonoff-Tasmota кодируются JSON, можно использовать преобразование JSONPATH для извлечения этих данных. Дополнительные темы легко идентифицируются путем чтения в вики Сонофф-Тасмота и подписки на темы модулей.
Подпишитесь на все темы одного модуля с помощью строки подстановочных символов MQTT + / sonoff-XYZ / # (строка зависит от настроенной пользователем темы / FullTopic). Это минимальный набор элементов для базовой функциональности различных модулей Sonoff.
Вам нужно будет заменить указанное имя дайвера примера (например, «sonoff-B1») на тот, который выбран для вашего модуля.
sonoff.items:
Sonoff Basic / Sonoff S20 Smart Socket (Read and switch on-state)
Switch BedRoom_Light “BedRoom Light”
myhome.sitemap
Switch item=BedRoom_Light icon=”light”
Status Topics / Items Кроме того, рекомендуется добавить следующие статусные элементы для каждого устройства Sonoff-Tasmota.
sonoff.items:
Переключатель «ON», пока устройство доступно
Switch BedRoom_Light_Reachable “Bed Room Light: reachable” (gReachable)
{ mqtt=”
Тема «LWT» (Last Will and Testament») будет получать регулярные «Online» сообщения от модуля и сообщение «Offline» после отключения модуля, сгенерированного брокером MQTT.
Эти сообщения преобразуются в действительное состояние ON/OFF с помощью преобразования MAP. Требуется следующий файл преобразования в папке /etc/openhab2/transform/:
reachable.
map:
Online=ON
Offline=OFF
Источник: http://electronicsworld.ru/sonoff-basic-tasmota-arduino-ide/
Программируем ESP8266 в Arduino IDE
В предыдущей статье про «народные» WiFi модули я делал обзор купленных почти за $2.6 ES-07 с платами адаптерами.
Сейчас расскажу о программировании модулей в среде Arduino IDE. Заодно в этой статье можно узнать, как сделать часы с синхронизацией времени по NTP протоколу.
Короткий экскурс по программированию ESP-шек
Изначально с завода ESP8266 идут с прошивкой от компании Espressif. В данной прошивке реализована работа с WiFi модулем как с модемом, через AT команды, подаваемые в последовательный порт. В таком режиме хорошо управлять ESP-шкой с внешнего контроллера, тем же Arduono, правда интерфейс обмена данными с контроллером, на мой взгляд, довольно тормозной.
Компания Espressif выпускает SDK для этих модулей, позволяющей разрабатывать собственные прошивки. Здесь подробно описано о данном процессе. Здесь все хорошо по возможностям, но довольно сложно по среде разработки и программировании.
Можно воспользоваться готовыми прошивками со встроенными интерпретаторами. Например, в этой статье я экспериментировал с прошивкой NodeMCU, позволяющей реализовывать логику работы модуля на встроенном интерпретаторе LUA.
Можно использовать прошивку со встроенным JavaScript.
К недостаткам таких прошивок я бы отнес «прожорливость» встроенных интерпретаторов к ресурсам ESP, в первую очередь ОЗУ, медленную работу и небольшое количество готовых библиотек.
Есть еще ряд прошивок, которые позволяют настроить работу модуля через WEB-интерфейс. Например коммерческая HOME-SMART, работа с которой описана мною здесь.
Данная прошивка дает быстрый старт на ряд применений, но, к сожалению, никаких возможностей к расширению и созданию собственных алгоритмов работы не имеет.
Хотя авторы очень быстро развивают возможности данной прошивки и в новой версии недавно появилась возможность разработки собственных модулей на Си к ней.
И, наконец, я подошел к еще одному способу программирования ESP8266 — из среды Arduino IDE. Мне, реализовавшему десятки проектов в этой среде, такой способ работы очень понравился. К тому же, большая часть библиотек для Arduino, не использующий внутренние порты и прочие аппаратные возможности микроконтроллера, отлично работают и на ESP-модулях.
Подключение и настройка ESP8266 в среде Arduino IDE
Очень хорошо работа с ESP8266 в среде Ардуино IDE описана в этой статье.
Хочу немного добавить, что купленные мною модули ESP-07 распаянные на платы-адаптеры уже практически готовы к использованию. Подключаем TX/RX и GND к TTL-USB конвертеру, например, такому. Подключаем питание 3.3В к VCC. Для загрузки прошивки GPIO0 присоединяем к земле. Собственно и все. Подключить GPIO0 и RESET к данному конвертеру у меня не получилось, но это оказалось не сильно нужно.
При подсоединенном GPIO0 к земле ESP находится в режиме загрузки прошивки во флэш-память, но после загрузки происходит запуск программы без отсоединения данного GPIO. Это позволяет вполне комфортно отлаживать свою программу. Нужно перед загрузкой только перезагрузить модуль передергиванием питания или кратковременно подав на вывод RESET на землю.
Я припаял для этого специальную кнопку
На снимке виден еще и припаянный конденсатор, так как были подозрения неустойчивой работы ESP-шки от пульсаций по питанию. Два последних модуля вполне стабильно работают без этого конденсатора.
Итак модуль подключен, среда настроена. Для ES07 все настройки ESP8266 ставятся «по умолчанию»:
Пример разработки прошивки для ESP8266 в Ardiuno IDE
Итак, среда установлена и настроена. Модуль подключен и тестовое «Hello, World!» грузится.
Теперь разработаем что-нибудь полезное. Например, часы на четырехразрядном семисегментном индикаторе с микросхемой TM1637.
Для работы с этим модулем я взял готовую библиотеку для Ардуино DigitalTube. «По умолчанию», дополнительные библиотеки устанавливаются в каталог: «Мои документыArduinolibraries». Чтобы оправдать использование WiFi-модуля, эти часы буду синхронизировать время с NTP сервером в интернете.
Подключаем ESP, дисплей к CLK -> GPIO4, DIO ->GPIO5, стабилизатор 3.3В и USB-TTL конвертер макетными проводами
Загружаем прошивку: Скетч для ESP8266 часов NTP.
Настраиваем параметры своей точки доступа: AP_SSID и AP_PASS, свою таймзону TIMEZONE. У меня установлена TIMEZONE 5 для Перми/Екатеринбурга. Для Москвы будет TIMEZONE 3.
Функцией tm1637.set(2) устанавливаем необходимую яркость индикатора от 0 до 7.
Получаем готовые часы:
Собирать все это в корпусе я не буду, так как это заготовка для будущего проекта.
Пока работал, кот следил за процессом через зеркало
The post Программируем ESP8266 в Arduino IDE appeared first on самопал.pro.
Источник: http://all-rss.ru/item-2474545-programmiruem-esp8266-v-arduino-ide/
Arduino UNO + ESP8266 как точка доступа WiFi
Модуль ESP8266 будет сконфигурирован как самостоятельная точка доступа WiFi. Для такого режима работы не требуется привязка к существующей WiFi сети. Для соединения смартфон должен подключиться к созданной точке доступа.
Шаг 1. Создайте проект графического интерфейса
Войдите в редактор RemoteXY. Установите в поле смартфона одну кнопку. Выделите эту кнопку, затем в правой панели во вкладке «Элемент» выберите свойство «Привязать к выводу» в значение 13(LED).
Шаг 2. Настройте конфигурацию проекта
В правой панели во вкладке «Конфигурация», выберите следующие настройки.
В правой панели во вкладке «Подключение модуля» установите следующие настройки.
Настройки указывают, что ESP8266 подключается к Arduino через аппаратный Serial (контакты 0 и 1) на скорости 115200.
В настройках так же указано имя будущей точки доступа и пароль точки доступа.
Шаг 3. Сформируйте скетч для Arduino
Нажмите кнопку «Получить исходный код».
В открывшейся странице с исходным кодом скетча загрузите его на свой компьютер (ссылка «Загрузить код») и откройте его в Arduino IDE.
Так же с этой страницы загрузите библиотеку RemoteXY (ссылка «Загрузить библиотеку»).
С правильно установленной библиотекой исходный код скетча должен компилироваться без ошибок.
Подробнее об установке библиотеки RemoteXY для Arduino IDE
Шаг 4. Настройте ESP8266
Модуль ESP8266 нуждается в настройке. Возможно ваш модуль уже имеет необходимые настройки по умолчанию, но лучше это проверить.
Что необходимо проверить:
- Модуль имеет прошивку с поддержкой AT команд версии не ниже v0.40;
- Модуль настроен на скорость работы 115200.
Подробнее о настройке ESP8266 для работы с RemoteXY
Шаг 5. Подключите ESP8266 к Arduino Uno
Подключите ESP8266 к Arduino Uno по схеме приведенной ниже. Обратите внимание, что контакты RX-TX соединяются перекрестием.
Так как уровни сигналов модуля ESP8266 составляют 3.3В а у Arduino они 5В, необходимо использовать резистивный делитель напряжения для преобразования уровня сигнала.
Шаг 6. Загрузите скетч в Arduino
Скетч загружается в Arduino обычным способом. Однако из за того что модуль ESP8266 подключен к контактам 0 и 1, программирование становится невозможным. Компилятор будет показывать ошибку.
Перед программированием отсоедините провода идущие к ESP8266 от контактов 0 и 1. Произведите программирование. Затем верните контакты на место. Нажмите кнопку сброса Arduino.
Примечание: Первый признак того, что программирование прошло успешно, это мерцание синего светодиода на модуле ESP8266 в течении полсекунды сразу после сброса. Мерцание синего светодиода означает обмен данными между Arduino и ESP8266. В эти полсекунды Arduino производит настройку ESP8266 для работы в качестве точки доступа.
Установите мобильное приложение на ваш смартфон/планшет.
Примечание: В приложении для iOS перед подключением необходимо вручную подключить смартфон к точке доступа, используя системные настройки операционной системы. Приложение для Android умеет самостоятельно переключить систему на точку доступа устройства и вернуть предыдущую точку доступа после отключения.
В приложении нажмите кнопку нового подключения «+» в верхней панели. В открывшемся окне выберите подключение «WiFi точка доступа».
В приложении для iOS предварительно зайдите в системные настройки и подключитесь к точке доступа «RemoteXY» с паролем «12345678». Подключенная точка доступа должна отображаться в открывшемся окне. Нажмите кнопку «Connect».
В приложении для Android включите WiFi и нажмите кнопку обновления списка доступных точек доступа. Выберите точку доступа RemoteXY. В открывшемся окне введите пароль точки доступа «12345678», нажмите кнопку «Подключиться».
Вы можете проверить наличие связи между Arduino и ESP8266 используя Serial Monitor, который можно открыть во вкладке Tools в Arduino IDE.
Откройте Serial Monitor и установите скорость 115200. Нажмите кнопку сброса на плате Arduino.
Проверьте наличие правильно загруженной программы
Если после сброса Arduino в Serial Monitor нет никаких сообщений, это скорее всего означает, что Arduino не выполнят вашу программу. Возможно:
- нужный скетч не был загружен;
- ваша Arduino не включена;
- Serial Monitor не подключился к Arduino;
- с вашей Arduino что то не так.
Проверьте связь между Arduino и ESP8266
Если после сброса Arduino в Serial Monitor вы видите следующую последовательность команд, это означает, что инициализация ESP8266 проходит успешно и связь между Arduino и ESP8266 есть:
AT AT+RST ATE0 AT+CWMODE=2 AT+CWDHCP=0,1 AT+CWSAP=”RemoteXY”,”12345678″,10,4 AT+CIPMODE=0 AT+CIPMUX=1 AT+CIPSERVER=1,6377
Если вы видите только повторяющиеся команды «AT», это означает что нет связи между Arduino и ESP8266.
AT AT AT AT
Связь может отсутствовать по разным причинам. Ниже перечислены основные:
- контакты RX и TX подключены не верно, перепутаны контакты, или подключены не к тем контактам, или не подключены совсем;
- нет питания на ESP8266, при подаче питания на ESP8266 должен светиться красный светодиод;
- не хватает мощности источника питания 3.3 В для ESP8266;
- модуль ESP8266 неисправен.
Проверьте прошивку ESP8266
Если после сброса Arduino в Serial Monitor вы видите только начало последовательности команд, но нет завершающей команды AT+CIPSERVER=1,6377 это означает, что модуль ESP8266 имеет устаревшую прошивку. Требуется обновление прошивки.
Подробнее об обновлении прошивки ESP8266
Если инициализация проходит успешно и вы видите последнюю команду AT+CIPSERVER=1,6377, но при попытке подключения с мобильного приложения возникает ошибка, возможно, что модуль ESP8266 имеет устаревшую прошивку.
Проверьте объем памяти вашего ESP8266. Это можно сделать так же посмотрев маркировку чипа памяти, который находится на плате рядом с чипом ESP8266. Если размер памяти составляет 4 Mbit и меньше (установлен чип 25Q40), скорее всего этот модуль не будет работать как точка доступа для RemoteXY.
Проверьте питание ESP8266
Так же возможно, что вашей ESP8266 не хватает мощности источника питания. Некоторые платы Arduino имеют слабый стабилизатор напряжения 3.3 В, который не способен выдавать 200-300 мА в пиковых режимах. В этом случае в Serial Monitor вы так же увидите обрыв последовательности команд.
Проверьте особенности вашего смартфона
Некоторые модели смартфонов на Android имеют особенности подключения точек доступа WiFi, и возможно точка доступа не включается автоматически.
Попробуйте подключиться к точке доступа предварительно в ручную, используя системные настройки. После этого попробуйте соединиться с устройством из приложения RemoteXY.
Если в этом случае соединение устанавливается, значит ваш смартфон имеет такую особенность. Сообщите нам об этом.
Источник: http://remotexy.com/ru/help/start/arduino-esp8266-ss/
Инсталляция
Разработка Arduino Mega Server для ESP8266 велась в Arduino IDE версии 1.6.5 r2 и крайне желательно использовать для работы именно эту версию. Если у вас другая версия среды разработки, то, возможно, вам удастся скомпилировать проект, но поведение системы в этом случае будет непредсказуемым, поэтому лучше не рисковать и использовать рекомендуемую версию.
Важный момент! У вас на компьютере может быть несколько проектов Arduino Mega Server для разных плат и модулей и каждый из этих проектов может требовать особой модификации системных библиотек.
Для того, чтобы изменения, вносимые в библиотеки в одном проекте, не мешали соседним и не приводили к их неработоспособности, в системе Arduino Mega Server под каждый проект выделяется отдельная папка, которая кроме проекта содержит и полный комплект библиотек к нему.
Переключение между проектами производится выбором пункта «Размещение папки скетчей» в меню Файл/Настройки среды Arduino. Обратите внимание! Несоблюдение этого пункта приводит к невозможности компиляции проекта и работы с ним. Вы должны указать путь к вашему проекту с точностью до папки «Arduino», например:
C:Sketchesesp8266Arduino
Не забудьте исправить этот путь на реальный, который существует в вашей системе.
Драйвера ESP8266
После инсталляции среды разработки вам нужно установить пакет программного обеспечения, необходимого для работы с модулями ESP8266 в среде Arduino, который далее мы будем называть «драйверами».
Для этого в настройках среды Arduino Файл/Настройки, в пункте «Additional Boards Manager URLs» вам нужно ввести следующую строку
http://arduino.esp8266.com/stable/package_esp8266com_index.json
После этого в менеджере плат (Boards Manager) Инструменты/Плата/Boards Manager вам нужно найти «esp8266 by ESP8266 Community» версии 2.0.0 и нажать «Install». Версию крайне желательно выбирать именно указанную, с другими версиями, даже если компиляция пройдёт успешно, результат непредсказуем.
Выбор платы
После инсталляции драйверов, вам, в менеджере плат, станут доступны различные версии модулей ESP8266. В большинстве случаев нужно выбирать «Generic ESP8266 Module». Если у вас модуль известной марки и он есть в списке, то лучше выбрать пункт, соответствующий вашему модулю.
Настройка параметров модуля
Это важный пункт инструкции, к которому нужно отнестись со всей ответственностью потому, что от него зависит как будет работать ваш модуль.
От выбора платы зависит и набор параметров. доступный для редактирования. Мы рассмотрим настройку стандартного варианта «Generic ESP8266 Module».
Модули бывают разные и каждый модуль может иметь разный набор параметров и для того, чтобы правильно их указать в настройках среды Arduino, вы можете воспользоваться сторонними утилитами или посмотреть, что выводит модуль при загрузке — часто там можно увидеть много полезной информации.
Flash Mode (режим работы с памятью)
Выбор этого режима зависит от вашего модуля — одни модули работают в DIO, другие в QIO. Часто это написано на самом модуле. Также есть модули, работающие в обоих режимах.
В вашем конкретном случае нужно отталкиваться от того, что написано на модуле, если установить на какой режим рассчитан модуль не удаётся, то можно протестировать его работу сначала в одном режиме, затем в другом.
В тестовой конфигурации использовался модуль с надписью «QIO» на корпусе и, соответственно, в QIO режиме.
Flash Frequency (частота работы памяти)
40 или 80 МГц. В тестовой конфигурации использовалось значение 40 МГц, вы можете поэкспериментировать с этим параметром, если значительной разницы в скорости работы не обнаружите, то лучше оставить 40 МГц.
Upload Using (метод загрузки)
В тестовой конфигурации использовалось значение Serial
CPU Frequency (частота работы процессора)
В тестовой конфигурации использовалось значение 80 МГц. Вы можете поэкспериментировать с этим параметром, если значительной разницы в скорости работы не обнаружите, то лучше оставить 80 МГц.
Flash Size (размер флеш памяти)
Прежде всего вы должны установить реальный размер флеш памяти вашего модуля. Она может варьироваться в широких пределах — от 1-го до 16-и мегабайт. В тестовой конфигурации использовался модуль с 4-я мегабайтами.
На что стоит обратить внимание. Система Arduino Mega Server использует флеш память модуля в двух разных качествах. Первая часть — это память под скетч, вторая — память под флеш диск для хранения файлов. Среда Arduino предоставляет возможность по-разному разделить всё пространство флеш памяти модуля, эти настройки находятся в меню «Flash Size».
В тестовой конфигурации использовалось разбиение 4M (3M SPIFFS). Это означает, что под флеш диск используется 3 мегабайта памяти, а под скетч — оставшийся 1 мегабайт. Скетч Arduino Mega Server занимает около 300 килобайт, а 700 килобайт остаются свободными.
Если у вас модуль с другим объёмом флеш памяти, то вы можете попробовать разбить её по-другому, но в этом случае вам нужно учитывать, что под скетч нужно оставить не менее 512 КБ, а файлы сервера занимают около двух мегабайт. Если вы выделите под файловую систему SPIFFS менее двух мегабайт, то вам придётся удалить часть файлов из системы и, соответственно, потерять часть функциональности Arduino Mega Server.
Reset Method (метод сброса модуля)
В тестовой конфигурации использовался метод «ck»
Upload Speed (скорость загрузки)
В проекте Arduino Mega Server для ESP8266 используется значение «115200»
Порт
В этом пункте вы должны указать порт, к которому подключён ваш модуль ESP8266.
Источник: https://hi-lab.ru/arduino-mega-server/documentation/esp8266/setup/install