Установка espeasy через arduino ide
Умный дом легко и просто без программирования - прошивка "ESP Easy" легко превращает любой модуль на базе ESP в многофункциональный модуль умного дома.
Программировать не нужно, все настраивается интерактивно, хота данное прошивка поддерживает свой язык программирования, правила - Rules, а это значит в прошивке можно писать свою простенькую программу.
Возможности прошивки
К прошивке можно подключить м одули:
Поддерживаются следующие протоколы для передачи данных и работы с системами умных домов:
По объему и предназначению прошивки:
- Тестовые версии (в названии test)
- Обычные (normal_core)
- В зависимости от ядра, пример 241,242, 260 и т. д.
- Минимальные (minimal)
- C IR устройствами (IRext)
В зависимости от объема уставленной памяти на ESP8266
Файл " blank_1MB " или 2,4,16 нужен для затирки памяти нулями (например когда модуль не хочет подключатся к сети)
Последняя стабильная версия ESPEasy R120 для плат с маленьким объемом памяти
Прокручиваем, а затем открываем меню "Assets" и качаем в данном случаем ESPEasy_ESP82xx_mega-20200929.zip (у Вас скорее всего будет новее)
(!) Внимание! Настройки программы работают если программа находится в папках без русских букв (например в корневом каталоге)
Запускаем от имени администратора программу "ESP Easy Flasher" из папки куда мы ее распаковали (если запустить программу без административных полномочий могут не определятся ESP на COM портах)
Разберемся с настройками
COM port - выбор Com порта
Onli active ports -автовыбор подключенного порта
Fimware (.bin) - выбор прошивки, они лежат в папки bin или можно указать другую папку
Baud rate - скорость порта
Force - DOUT - я не знаю что это такое
Post flash action - действия после прошивки, если поставить галочку то все дальнейшие действия после прошивки модуля будут выполнены
Pause after flash (manual reboot) - пауза после прошивки для перезагрузки в ручную
UNIT - настройки модуля
Name - Имя ESP
Number - Номер платы, для каждой платы должен быть индивидуальным
Admin Password - Пароль доступа
Run custom serial commands (Settings\SerialCommands.txt) - Запустите пользовательские последовательные команды
Настройки сети
IP адрес, fixed IP - Постоянный IP адрес
WI-Fi SSID, Password (Main)- Ввод имени и пароля WI-Fi основной сети
WI-Fi SSID, Password (Fallback) - Ввод имени и пароля WI-Fi резервной сети, будет действовать если не подключится к главной
Rules 1-4 - сразу можно вписать правила
Надписи на кнопках
Safe as default settings - Сохранить эти настройки по умолчанию
Open Serial monitor - Открыть монитор последовательного порта
Flash ESP Easy FW - Прошить
Готовая прошивка "ESP Easy" позволит легко превратить любой модуль на базе ESP в многофункциональный сенсор или модуль для умного дома под управлением таких систем, как OpenHab и Domoticz. ESP Easy является отличным инструментом для изучения протокола MQTT.
Всё что вам необходимо сделать - это один раз загрузить прошивку ESP Easy на ваш модуль ESP, а дальше все настройки системы происходят в браузере с помощью удобного веб-интерфейса. Для ежедневной работы с модулем не нужны никакие дополнительные программы.
Последней стабильной версией прошивки ESP Easy является R120. Она хорошо подходит не только для домашних экспериментов, но и для производственных прототипов. Модуль с ESP Easy на борту может выступать в роли низкоуровневого управляющего устройства, но этот функционал в системе еще не полностью стабилен. Полный список возможных подключаемых дачиков, устройств ввода-вывода, реле и дисплеев можно посмотреть здесь.
Прошивка ESP Easy может быть установлена практически на любые платы на базе ESP8266. Вы можете прошить как самые простые модули типа ESP-01 или ESP-12, так и устройства типа NodeMCU development board, Wemos D1 и практически все устройства от производителя Sonoff. После прошивки вы сможете работать с GPIO 0, 1, 2, 3, 4, 5, 12, 13, 14, 15, 16, A0. Пин номер 9 не рекумендуется использовать из-за нестабильной работы. На модулях Sonoff будут доступны пины 0 (кнопка), 12 (Реле), 13 (Светодиод) и, возможно, еще несколько в зависимости от конкретной модели устройства.
С чего начать?
В большинстве случаев модули ESP продаются с предустановленными прошивками AT firmware или NodeMCU LUA firmware. Начать делать сенсоры на базе ESPEasy легко: нужно просто заменить стандартную прошивку на ESPEasy, и можно приступать к работе. Это можно сделать с помощью программы flashtool (к сожалению, она доступна только на Windows) или с помощью Arduino IDE. Во время установки мы будем действовать по следующей схеме:
1. С официального сайта скачать стабильную прошивку
В архиве также будет программа flash tool для прошивки
↓
2. Подключить модуль ESP к компьютеру
Используем USB/UART переходник для простых плат типа ESP-01 или просто подключаем Micro-USB к платам типа NodeMCU dev board.
↓
3. Загружаем ESPEasy на плату с помощью flash tool или Arduino IDE
Обратите внимание на то, что GPIO должен быть соединен с GND при включении для запуска режима прошивки на плате.
↓
4. Перезапускаем модуль ESP. Появляется WiFi сеть с названием "ESP_Easy_0". Подключаемся к ней
(в версии прошивки 2.0 точка доступа будет называться ESP_0)
Если страница настройки не открылась автометически, необходимо набрать 192.168.4.1 в вашем браузере
↓
5. В появившемся окне настраиваем подключение к вашей домашей WiFi сети и нажимаем Connect
↓
6. Модуль ESP перезагрузится и подключится к вашей домашней сети
↓
7. Откройте в браузере новый IP адрес платы ESP и начинайте собирать данные с сенсоров
Поздравляем, всё настроено, и вы можете начать работать с ESPEasy!
Скачиваем прошивку
Скачиваем стабильную версию прошивки с официального сайта - ESPEasy R120.
Подключаем модуль ESP к компьютеру
Для всех, кто только начинает разбираться с EPS, MQTT и умными домами, мы рекомендуем обратить внимание на модуль NodeMCU ESP8266 (он же NodeMCU dev board). У него есть ряд плюсов: встроенный преходник USB/UART, большое количество GPIO, аналоговый пин A0, не нужно подключать GPIO к GND для прошивки, наличие питания 5 и 3.3 вольта. Просто подключаете плату к компьютеру с помощью Micro-USB кабеля и начинаете работать. NodeMCU dev board позволит вам сэкономить большое количество времени! При программировании обратите внимание, что номер ножки не соответствует номеру GPIO.
Также встроенный переходник USB/UART есть на плате Wemos D1 Mini:
Если у вас плата без переходника, например, ESP-01 или ESP-12, или вы хотите прошить модули Sonoff, то вам понадобится переходник USB/TTL.
В обоих случаях дополнительно вам понадобится установить на компьютер драйвер для вашего встроенного или внешнего переходника USB/TTL.
Загрузка прошивки ESPEasy с помощью Flash Tool
Данный способ подходит только для компьютеров с Windows, но он самый простой! Сначала необходимо проверить к какому порту компьютера подключен наш ESP помуль. Подключаем модуль к компьютеру по USB. Открываем "Диспетчер устройвств", смотрим вкладку "Порты (COM и LPT)" и видим нашу плату. В моем случае порт COM4. Если ваше устройство не отображается в списке портов - значит вы не поставили драйвер для USB/TTL переходника.
Обратите нимание, что перед прошивкой модулей с внешнем адаптером USB/TTL их необходимо перевести в режим загрузки программного обеспечения. Для этого необходимо соединить GPIO0 на плате ESP с GND, воткнуть переходник в плату, а потом уже в USB. Если у вас NodeMCU или Wemos, то этого делать не нужно.
Распаковываем скаченный архив ESPEasy_R120.zip в папку ESPEasy_R120 и запускаем файл flash.cmd. Откроется черное окно, в котором необходимо будет ответить на несколько вопросов.
1 вопрос: Comport (example 3,4. ) - необходимо ввести номер порта, к которому подключен модуль ESP и нажать Enter. Я ввожу 4. Enter.
2 вопрос: Flash size (example 512, 1024 or 4096) - необходимо ввести количество памяти, которое доступно на нашей плате. Сколько памяти на вашей плате вы можете посмотреть в этой таблице. Для платы NodeMCU dev board вводим 4096. Enter.
3 вопрос: Build - необходимо ввести номер версии прошивки, которую вы загружаете. В нашем случае вводим 120. Enter.
В чёрном окне проскочет несколько строк с системным кодом, и начнут появляться точки, и через некоторое время система напишет, что загрузка завершена. Вы увидете такой экран:
Нажимаем любую клавишу. Прошивка ESPEasy успешно загружена на ваш модуль! Поздавляю! Переходим к пункту "Подключение и первичная настройка" в этой статье.
Возможные проблемы с Flash Tool
Если вы не видите своё устройство в диспетчере устройств, значит у вас не установлен драйвер переходника USB/TTL.
Если файлы не распаковать в папку, а просто запустить из архива, то после вопросов система выдаст ошибку, т.к. не сможет работать с файлом esptool.exe. Просто распакуйте архив в папку и заново запустите flash.cmd.
Если вам так и не удалось прошить модуль ESP с помощью flash.cmd, но плата видна в системе, то вы можете сделать прошивку программой ESPEasy Flasher. В ней надо будет только выбрать порт и соответствующую прошивку. В скаченной папке с прошивками будет 3 разных файла прошивок для плат с разным размером памяти.
Если у вас не получилось сделать загрузку ни одним из этих способов - вы можете попробовать сделать загрузку через Arduino IDE.
Загрузка прошивки ESPEasy с помощью Arduino IDE
Данный способ отлично подходит, если вы уже загружали свои собственные скетчи на плату через Arduino IDE и сейчас хотите попробовать поработать с ESPEasy. Если же вы раньше просто программировали ardunino и ни разу не прошивали esp8266, то предварительно вам необходимо подготовить Arduino IDE. Подробную инструкцию вы можете найти в нашей статье. Через Arduino IDE вы можете сделать загрузку как на Windows, так и на Mac OS.
В папке, которую вы скачали с официального сайта, кроме файлов последней прошивки и программы для загрузки также есть папка Source. В ней находятся два папки: в одной - необходимые библиотеки, во второй - файлы нашей прошивки. Копируете библиотеки из папки librares в папку с библиотеками ArduinoIDE на вашем компьютере.
На компьютерах Windows эта папка обычно: C:\Users\USERNAME\Documents\Arduino\librares - в папке с вашими документами.
На Mac OS: \Users\USERNAME\Documents\Arduino\librares - в папке с вашими документами.
Дальше заходим во вторую папку из скаченного архива (\Source\ESPEasy) и запускаем оттуда файл ESPEasy.ino. Откроется Arduino IDE.
Теперь в меню "Инструменты" необходимо выбрать порт, тип платы, размер памяти. Какие параметры выбирать для разных плат и как настраивать Arduino IDE для работы с ESP вы может прочитать в нашей отдельной статье.
Для NodeMCU dev board выбираем параметры как на картинке + выбираем свой порт.
Заходим в меню "Скетч" и выбираем "Загрузка"
Прошивка загружена на модуль ESP, теперь мы можем переходить к настройке.
Подключение и первичная настройка
Теперь на своём компьютере откройте список доступных Wi-Fi сетей - в списке должна появиться сеть ESP_0 (В некоторых версиях прошивки возможно будет Esp_Easy_0). Подключитесь к ней (стандартный пароль configesp).
Если ваш браузер не открыл автоматически страницу настройки EspEasy, то в адресной строке браузера наберите 192.168.4.1. В появившемся окне необходимо выбрать вашу домашнюю wi-fi, ввести пароль от нее в поле password и нажать кнопку Connect.
После этого ваш компьютер отключится от сети Esp и подключится обратно к вашей домашнией Wi-Fi сети. В браузере покажется ip адрес вашего esp. В адресной строке вашего браузера введите ip esp модуля (например, 192.168.1.65). Откроется окно с основный информацией о модуле esp, на котором вы можете посмотреть: беспрырывное время работы модуля, уровень сигнала, ip адрес модуля и точки доступа, версию прошивки, MAC адреса, информация о свободной памяти и список других esp модулей в сети.
Вверху расположено меню для перехода в разделы системы. Зайдите во вкладку Config. Здесь находятся основные настройки системы, рассмотрим их подробнее.
1. Name - имя вашего ESP модуля. Оно используется как сетевое имя, а также для идентификации каналов при работе по MQTT протоколу.
2. Admin Password используется для установки пароля на настройки. По умолчанию пароля нет, но если его установить, то при открытии ip адреса вашего esp модуля необходимо будет ввести пароль. Только в этом случае вы сможете редактировать настройки. Это очень удобно, если вы используете свои модули в публичных местах.
3. SSID, WPA Key - используется для подключения к вашей домашней Wi-Fi сети.
4. WPA AP Mode Key - данный пароль используется в том случае, если ваш esp модуль работает в режиме точки доступа.
5. Unit nr - это номер машего модуля в сети. Для корректной работы системы он должен быть уникальным для каждого esp модуля.
6. Protocol и следующие за ним поля отвечают за выбор и настройку сетевого протокола, по которому ваш esp модуль взаимодействует с сервером умного дома или облачным сервером сбора данных. Мы можем выбрать OpenHAB MQTT, Domoticz MQTT, PiDome MQTT и ThingSpeak и другие менее популярные варианты.
7. Sensor Delay отвечает за то, как часто данные с модуля ESP отправляются на сервер. Значение необходимо писать в секундах.
8. Sleep Mode используется для перевода устройства в режим глубокого сна. Используйте этот параметр только после полной настройки вашего устройста.
В разделе Hardware вы можете выбрать какой светодиод на плате будет отвечать за состояние Wi-Fi подключения, а также выставить дефолтные состояния пинов. Во вкладке Rules можно настроить простые правила автоматизации. Обратите внимание, что по умолчанию данная вкладка не отображается. В разделе Devices происходит добавление и настройка датчиков и управляемых девайсов. В разделе Tools находятся более тонкие настройки, а также есть поле для выполнения команд.
В данной статье мы рассказали вам о том, что из себя представляет готовая прошивка EspEasy, для чего ее можно использовать, как прошить ее ваш ESP модуль, а также как провести первичные настройки. В следующих статьях мы подробно расскажем о том, как использовать EspEasy в ваших проектах. Поключим к плате ESP самые популярные датчики, поробуем передавать данные с них в облачный сервер ThingSpeak и построить по ним графики. Также мы подключить ESP модуль к умному дому на базе OpenHAB по протоколу MQTT - будем собирать данные с датчиков и управлять светодиодами.
В этом материале мы установим программное обеспечение платы ESP8266 на Arduino IDE, установим драйвер устройства для коммуникационного чипа платы и загрузим эскиз Arduino, который подключается к домашней беспроводной сети Wi-Fi.
Для начала работы понадобятся:
- Компьютер с программным обеспечением Arduino IDE (бесплатно, доступно для Mac/Windows/Linux, к сожалению, в настоящее время веб-редактор не поддерживает ESP8266)
- Плата ESP8266 (Adafruit Feather HUZZAH ESP8266, WiFi со встроенной зарядкой аккумулятора)
- Кабель для программирования (micro USB для Adafruit Feather Huzzah, но для некоторых других требуется программирующее устройство FTDI 3 В)
- Беспроводное подключение к Интернету (не ограничено веб-входом в систему / порталом авторизации или межсетевым экраном) с именем сети и паролем (если применимо)
Добавление поддержки платы ESP8266 в программное обеспечение Arduino
Скачайте и установите последнюю версию программного обеспечения Arduino IDE (скачать) на свой компьютер, если вы этого еще не сделали. Откройте приложение Arduino и перейдите к пункту меню:
Arduino -> Настройки (Arduino -> Preferences)
По умолчанию приложение Arduino поддерживает чипы, используемые на официальных платах Arduino, но не ESP8266.
Эти платы могут быть запрограммированы «из коробки», потому что приложение Arduino уже знает о каждой и ее свойствах. Одна из замечательных особенностей Arduino заключается в том, что вы можете добавить поддержку других плат, и все, что вам нужно сделать, это сообщить Arduino, где можно найти их свойства.
Первым шагом этого процесса является предоставление URL-адреса менеджеру дополнительных плат. В текстовое поле в нижней части окна настроек (см. фото выше) вставьте именно этот текст:
Если поле не было пустым, когда вы открыли окно настроек, возможно, у вас уже установлены некоторые другие платы. Если это так, добавьте содержимое текстового поля к указанному выше URL-адресу, используя запятую для разделения нескольких URL-адресов.
Чтобы получить конкретную информацию, перейдите в пункт меню:
Инструменты -> Плата: (название платы) -> Диспетчер плат (Tools -> Board:(board name) -> Boards Manager)
Подождите некоторое время, пока менеджер плат загрузит содержимое, а затем начните вводить «ESP8266» в строку поиска.
Когда вы увидите «esp8266 от сообщества ESP8266» (англ. - esp8266 by ESP8266 Community), вы можете перестать вводить в поиске и нажать «Установить» (Install), чтобы получить последний пакет для платы, установленный внутри вашего приложения Arduino.
В Feather Huzzah имеется удобный USB-коммуникационный чип, но для его нормальной работы требуется бесплатный драйвер. Без него ваша плата не будет отображаться в списке доступных последовательных устройств. Перейдите на страницу SiLabs (Silicon Lab: CP210x USB to UART Bridge VCP Drivers) и скачайте/установите драйвер, соответствующий вашей операционной системе (доступны Mac/Windows/Linux).
Всё получилось? Отлично, давайте протестируем всё на следующем шаге.
Подключение к Wi-Fi
Пришло время добавить код на плату. Откройте новый эскиз Arduino:
Файл -> Создать (File -> New)
Удалите его содержимое по умолчанию. Скопируйте блок кода и вставьте его в пустой эскиз:
Рекомендуем изучить справочник программиста Ардуино, который подробно описывает различные блоки кода, переменные и другие особенности кода для плат.
Многие использовали этот блок кода в самый первый день знакомства с Arduino. Скажем так, на самом деле мы говорим "Привет, мир!" еще раз, но на этот раз, мигая встроенным светодиодом платы Adafruit Feather Huzzah (подключенного к контакту 0).
Этот код устанавливает переменную для вывода, подключенного к светодиоду, устанавливает этот вывод в качестве выхода, а затем в цикле повторяет схему включения/выключения.
Подключите плату к компьютеру с помощью USB-кабеля и проверьте свои настройки в меню "Сервис" (Tools).
- Плата: (Adafruit Huzzah ESP8266) (или название вашей платы, выберите из списка)
- Размер памяти: "4M (3M SPIFFS)"
- Частота процессора: "80 МГц"
- Скорость загрузки: "115200"
- Порт должен соответствовать вашему последовательному устройству (COMx в Windows, /dev/cu.SLAB_USBtoUART в Mac / Linux), которое будет отображаться только после подключения
- Программер: USBtinyISP
В английской версии программы выглядеть всё будет так:
- Board: Adafruit Huzzah ESP8266
- Flash Size: "4M (3M SPIFFS)"
- CPU Frequency: "80 MHz"
- Upload Speed: "115200"
- Port: COMx
- Programmer: USBtinyISP
Чтобы запрограммировать вашу плату с помощью эскиза мигающего светодиода, нажмите кнопку «Загрузить» (Upload, круглая кнопка в левом верхнем углу со значком стрелки).
Кнопка станет желтой, и текст строки состояния внизу окна сообщит вам о том, что происходит. С помощью ползунка отрегулируйте размер черной консоли отладки под строкой состояния и просмотрите обновления в списке, поскольку приложение компилирует ваш код и загружает его на вашу плату.
Этот процесс будет казаться медленнее, чем вы привыкли, по сравнению с другими Arduino-совместимыми платами. Следите за баром (точки) состояния и терпеливо подтверждайте, что в строке состояния отображается текст «Готово к загрузке» (Done Uploading).
- В меню Arduino -> Настройки (Arduino -> Preferences), есть ли какие-либо случайные символы или ошибки в URL внешних плат?
- Вы видите пакет платы ESP8266 в менеджере плат?
- Если вы используете Feather Huzzah, успешно ли вы закончили установку драйвера SiLabs?
- Если вы используете другую плату, например, с кабелем программирования FTDI, изучали ли вы необходимые шаги установки/настройки? (Некоторые платы требуют комбинации нажатий кнопок для входа в режим загрузчика)
- Ваш кабель USB data + power или только питание?
Если все идет хорошо, красный светодиод на плате должен мигать. Если вы используете другую плату, ваш светодиод может быть подключен к другому выводу или его может не существовать вообще. Код все равно будет успешно загружен, но может не привести к желаемому результату. Благодаря следующему эскизу, который вы загрузите, ваша плата будет подключена к сети Wi-Fi.
Следующий пример кода поставляется с пакетом плат ESP8266 и уже доступен в вашем программном обеспечении Arduino. Получите доступ к нему, перейдя в:
Файл -> Примеры -> ESP8266WiFi -> WifiClientBasic
File -> Examples -> ESP8266WiFi -> WifiClientBasic
Кроме того, вы можете скачать файл ниже и открыть его с помощью программного обеспечения Arduino. Однако, если вы не видите скетч в меню вашего программного обеспечения, вам, вероятно, также не хватает необходимых библиотек для его компиляции - вернитесь к шагу настройки программного обеспечения и дважды проверьте, что вы установили необходимый пакет.
Отредактируйте переменные, описывающие имя (имена) и пароль (пароли) беспроводной сети («SSID» и «passpasspass»). Если в вашей сети нет пароля, оставьте аргумент пароля пустым (""), но не опускайте его. Сохраните эскиз и загрузите его на свою плату.
Поскольку 192.168.1.1 является локальной сетью, которая может существовать или не существовать, соединение, скорее всего, не будет установлено.
Обновите переменную хоста для любого понравившегося вам сайта, например "google.com", просто чтобы проверить ваше соединение. Загрузите новый эскиз на свою плату и откройте Serial Monitor, чтобы увидеть другой результат. Поздравляю, ваша плата только что пообщалась с интернетом.
Установка дополнительных библиотек
Теперь, когда у вас есть базовая настройка ESP8266, давайте установим несколько дополнительных библиотек Arduino, которые будут использоваться для последующих уроков. В вашем программном обеспечении Arduino перейдите в:
Sketch-> Включить библиотеку -> Управление библиотеками
Sketch-> Include Library -> Manage Libraries
Затем найдите и установите последние версии следующих библиотек:
Вы также можете установить библиотеки вручную, скачав их и поместив в папку с библиотеками Arduino. Узнайте больше о библиотеках Arduino в нашем разделе Библиотеки и в статье Установка и подключение библиотек в Arduino IDE.
В конце нам необходимо создать бесплатные учетные записи на двух веб-сайтах облачных сервисов: Adafruit IO и IFTTT.
Adafruit IO - это облачная служба данных, которая позволяет вам настраивать потоки данных, называемые каналами, для сбора информации, поступающей от ваших проектов в области электроники. Вы можете визуализировать и использовать эти каналы в Adafruit IO или расширить его функции, связав его с IFTTT.
IFTTT - это сайт, который объединяет и предоставляет интерфейс для множества приложений и поэтому называется шлюзом API.
Я настоятельно рекомендую включить двухфакторную аутентификацию в вашей учетной записи IFTTT, так как вы, скорее всего, захотите связать ее с другими вашими личными учетными записями, такими как Twitter, Instagram, Fitbit и т.д.
Защитите свои учетные записи от хакеров и спам-ботов! Вам также нужно будет связать свои аккаунты Adafruit и IFTTT, что вы можете сделать через любой сайт. Пока вы на нем, установите приложение IFTTT, если у вас есть устройство iOS или Android.
Теперь, когда ваше программное обеспечение настроено, мы сможем в следующих материалах углубиться в аппаратное обеспечение.
И снова привет Хабр. Этот материал является продолжением моей предыдущей статьи — ESP8266 и Arduino, подключение, распиновка, и, должен сказать, что они взаимосвязаны. Я не буду затрагивать темы, которые уже раскрыты.
А сегодня, я поведаю, как же программировать ESP8266 при помощи Arduino IDE, так же прошивать другие прошивки, например NodeMcu… Вообщем, этот материал не ограничивается только одной темой Ардуино.
Тема ESP8266 — довольно таки непростая. Но, если работать с этими Wi-Fi модулями в среде разработки Arduino IDE — порог вхождения опускается до приемлемого для обычного ардуинщика уровня. Да и не только ардуинщика, а любого человека, у которого есть желание сварганить что-то по теме IoT(интернет вещей), причём не затрачивая много времени читая документацию для микросхемы и изучение API для этих модулей.
Данное видео, полностью дублирует материал, представленный в статье ниже.
Ну что же, мы уже умеем подключать ESP8266 и переводить его в режим программирования, теперь давайте перейдём к чему-то более полезному.
Скажу сразу — один раз запрограммировав модуль в среде разработки ардуино, мы сносим родную прошивку, и у нас пропадёт возможность работать с модулем при помощи AT-команд. Лично мне, от этого, не холодно/не жарко, но если кому-то это будет нужно — ближе к концу статьи я покажу, как обратно прошить в модуль родную прошивку, ну или какой-то загручик типа NodeMcu.
Для начала, на офф.сайте качаем последнюю версию Arduino IDE, на данный момент это 1.6.7. Более старые версии типа 1.0.5. не подойдут, потому что банально не имеют нужного функционала, а танцы с бубном нас не интересуют, не так ли?
Запускаем среду разработки и тут же идём в Файл/Настройки:
Вставляем ссылку в поле «Дополнительные ссылки для Менеджера плат:» и жмём «OK».
Данную ссылку я взял на странице проекта 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. Переводим модуль в режим программирования(как это сделать я писал в предыдущей статье).
Давайте зашьём мигалку штатным светодиодом:
Замигал? Значит всё сделано правильно. Откуда я взял что светодиод подключен на первый пин? В предыдущей статье есть картинка с распиновкой разных модулей, и там есть разметка портов, при использовании загрузчика 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» сделали ли мы всё верно:
Как видите всё нормально прошилось.
By Сергей ПоделкинЦ ака MrПоделкинЦ.
Уже на подходе плата на базе esp32:
Которая значительно круче чем esp8266, так что нас скоро ждёт бум, как мне кажется, темы IoT(интернет вещей).
Платы ESP8266 оснащены микроконтроллером ESP8266 с интерфейсом Wi-Fi, подключаются к компьютеру через WiFi или USB порт.
О том как установить «Arduino IDE» можно прочитать в статье Wiki - Установка среды разработки Arduino IDE для Windows .
Настройка Arduino IDE:
Писать скетчи под микроконтроллер ESP8266 можно в среде разработки «Arduino IDE», но перед загрузкой скетча нужно выбрать тип используемой платы из списка меню «Инструменты» > «Плата», а там по умолчанию нет плат ESP8266. Вся настройка сводится к тому, что бы в этом списке меню появились эти платы.
В среде «Arduino IDE» имеется «Менеджер плат» который поможет быстро добавить интересующие платы в список. Для этого нужно выполнить следующие действия:
Откройте «Arduino IDE» и выберите пункт меню: «Файл» > «Настройки»
Запустите «Менеджер плат» выбрав пункт меню «Инструменты» > «Плата» > «Менеджер плат».
В открывшемся окне «Менеджер плат» выберите пункт «esp8266 by ESP8266 Community» из списка сборок и нажмите на кнопку «Установка» (при желании можно выбрать версию устанавливаемой сборки).
Дождитесь окончания установки сборки. «Менеджер плат» загрузит примерно 150 Мбайт данных.
После успешной установки сборки, в списке, напротив её названия «esp8266 by ESP8266 Community» появится фраза «INSTALLED». Закройте «Менеджер плат» нажав на кнопку «Закрыть».
На этом настройка «Arduino IDE» завершена! Теперь в списке плат есть раздел «ESP8266 Boards».
Первая программа:
Самая первая программа для любой платы под управлением микроконтроллера - это «Hello, World!» (вывод строки) или «Blink» (мигание светодиодом). Данная статья не будет исключением, загрузим скетч для мигания светодиодом.
Для работы с платами ESP 8266 нужно в пункте меню «Инструменты» > «Плата» > «ESP8266 Boards» выбрать соответствующую плату или «Generic ESP8266 Module»
Так же нужно выбрать COM-порт после подключения платы к компьютеру через USB порт. На рисунке выбран порт «COM10», но Вам нужно выбрать тот порт, который появился у Вас в списке доступных портов после подключения платы. Если после подключения платы новый порт не появился, значит не установлен драйвер для чипа CH340G / CP2104, ссылки на драйверы указаны в конце данной статьи.
Осталось загрузить скетч и проверить его работу. На рисунке загружается простой скетч для мигания светодиодом, установленным на плате и подключённым катодом к выводу D4. При написании скетчей, обратите внимание на то что константы имён выводов D0 . D8 хранят нумерацию выводов GPIO микроконтроллера, а не нумерацию выводов платы, так например: digitalWrite(D5, HIGH); // установит «1» на выводе платы D5 (он же вывод GPIO-14 микроконтроллера).
digitalWrite(5, HIGH); // установит «1» на выводе платы D1 (он же вывод GPIO-5 микроконтроллера).
Предыдущий скетч можно не писать вручную, а загрузить из примеров, большое количество которых стало доступно в меню «Файл» > «Примеры» > «Примеры для Generic 8266 Module», после выбора платы «Generic ESP8266 Module».
В примере «Файл» > «Примеры» > «ESP8266» > «Blink» светодиод включается на 1 секунду через паузу в 2 секунды, а вывод к которому подключён светодиод указывается не константой D4, а константой LED_BUILTIN. Обратите внимание на то, что светодиод включается подачей логического «0».
Читайте также: