Разное

Esp 8266 программирование: ESP8266 прошивка, программирование в Arduino IDE / Хабр

Содержание

подключение, распиновка, прошивка в IDE [Амперка / Вики]

Модуль ESP-01 с чипом ESP8266 предназначен для связи устройства с беспроводными сетями по WiFi.

Видеообзор

Общие сведения

ESP-01 — плата-модуль WiFi на базе популярного чипсета ESP8266EX. На борту платы находится микросхема Flash-памяти объёмом 2 МБ, чип ESP8266EX, кварцевый резонатор, два индикаторных светодиода и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Flash-память необходима для хранения программного обеспечения. При каждом включении питания, ПО автоматически загружается в чип ESP8266EX.

По умолчанию модуль настроен на работу через «AT-команды». Управляющая плата посылает команды — Wi-Fi модуль выполняет соответствующую операцию.

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

Работа с AT командами

Подключение и настройка

В стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу UART.

На всех платах Iskra и Arduino присутствует хотя бы один аппаратный UART — HardwareSerial. Если же по каким то причинам он занят другим устройством, можно воспользоваться программным UART — SoftwareSerial.

HardwareSerial

На управляющей плате Iskra JS и Arduino платах с микроконтроллером ATmega32U4 / ATSAMD21G18, данные по USB и общение через пины 0 и 1 осуществляется через два раздельных UART. Это даёт возможность подключить Wi-Fi модуль к аппаратному UART на пинах 0 и 1.

Список поддерживаемых плат:

Для примера подключим модуль Wi-Fi к платформе Iskra Neo.

Прошейте управляющую платформу кодом ниже.

Код прошивки
HardwareSerialAT115200.ino
// serial-порт к которому подключён Wi-Fi модуль
#define WIFI_SERIAL    Serial1
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  while (!Serial) {
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  }
  Serial.print("Serial init OK\r\n");
  // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод
  WIFI_SERIAL.begin(115200);
}
 
void loop()
{
  // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера
  if (WIFI_SERIAL.available()) {
    Serial.write(WIFI_SERIAL.read());
  }
  // если приходят данные из компьютера - отправим их в Wi-Fi модуль
  if (Serial.available()) {
    WIFI_SERIAL.write(Serial.read());
  }
}
SoftwareSerial

Некоторые платы Arduino, например Arduinio Uno, прошиваются через пины 0 и 1. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Wi-Fi модулем. Решение проблемы — программный UART. Подключите пины TX и RX ESP-модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.

Для примера подключим управляющие пины Wi-Fi модуля TX и RX — на 8 и 9 контакты управляющей платы.

Прошейте управляющую платформу кодом ниже.

Код прошивки
SoftwareSerialAT115200.ino
// библиотека для работы программного Serial
#include <SoftwareSerial.h>
 
// создаём объект для работы с программным Serial
// и передаём ему пины TX и RX
SoftwareSerial mySerial(8, 9);
 
// serial-порт к которому подключён Wi-Fi модуль
#define WIFI_SERIAL    mySerial
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  while (!Serial) {
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  }
  Serial.print("Serial init OK\r\n");
  // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод
  WIFI_SERIAL.begin(115200);
}
 
void loop()
{
  // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера
  if (WIFI_SERIAL.available()) {
    Serial.write(WIFI_SERIAL.read());
  }
  // если приходят данные из компьютера - отправим их в Wi-Fi модуль
  if (Serial.available()) {
    WIFI_SERIAL.write(Serial.read());
  }
}
HardwareSerial Mega

На платах форм-фактора Arduino Mega 2560 аппаратный UART, который отвечает за передачу данных через пины 1 и 0, отвечает также за передачу по USB. Это означает невозможность использовать одновременно UART для коммуникации с Wi-Fi модулем и отладки по USB.

Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:

  • Serial1: пины 19(RX1) и 18(TX1);

  • Serial2: пины 17(RX2) и 16(TX2);

  • Serial3: пины 15(RX3) и 14(TX3).

Список поддерживаемых плат:

Подключите Wi-Fi модуль к объекту Serial1 на пины 18 и 19 на примере платы Arduino Mega 2560
Прошейте управляющую платформу кодом ниже.

Код прошивки
HardwareSerialAT115200.ino
// serial-порт к которому подключён Wi-Fi модуль
#define WIFI_SERIAL    Serial1
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  while (!Serial) {
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  }
  Serial.print("Serial init OK\r\n");
  // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод
  WIFI_SERIAL.begin(115200);
}
 
void loop()
{
  // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера
  if (WIFI_SERIAL.available()) {
    Serial.write(WIFI_SERIAL.read());
  }
  // если приходят данные из компьютера - отправим их в Wi-Fi модуль
  if (Serial.available()) {
    WIFI_SERIAL.write(Serial.read());
  }
}

Примеры работы

Рассмотрим несколько примеров по работе с «AT-командами»

Тестовая команда «AT»

Откройте монитор порта. Настройте скорость соединения — 9600 бод. Конец строки — NL & CR. Введите команду AT и нажмите «Отправить». Это — базовая команда для проверки работы Wi-Fi модуля.

В ответ получим «OK»:

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

Настройка режима работы

Wi-Fi модуль умеет работать в трёх режимах:

  • Режим точки доступа

  • Режим клиента

  • Смешанный режим

Переведём чип в смешанный режим командой:

AT+CWMODE_DEF=3

После установки модуль должен ответить «OK»:

В отличии от аппаратного UART (HardwareSerial), за работу программного UART (SoftwareSerial) отвечает микроконтроллер, который назначает другие пины в режим работы RX и TX, соответственно и данные которые приходят от Wi-Fi модуля обрабатывает сам микроконтроллер во время программы. По умолчанию скорость общения Troyka Wi-Fi равна 115200, что значительно выше чем позволяет библиотека SoftwareSerial. В итоге часть информации которая приходит с Wi-Fi модуля будет утеряна. Если вы используете плату с HardwareSerial подключением модуля можете пропустить пункт настройки скорости и сразу перейти к дальнейшей работе с модулем.

AT установка скорости общения

Для корректной работы с большими объемами необходимо понизить скорость соединения модуля и микроконтроллера. Для этого используйте «AT-команду»:

AT+UART_DEF=9600,8,1,0,0

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

SoftwareSerialAT9600.ino
// библиотека для работы программного Serial
#include <SoftwareSerial.h>
 
// создаём объект для работы с программным Serial
// и передаём ему пины TX и RX
SoftwareSerial mySerial(8, 9);
 
// serial-порт к которому подключён Wi-Fi модуль
#define WIFI_SERIAL    mySerial
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  while (!Serial) {
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  }
  Serial.print("Serial init OK\r\n");
  // открываем Serial-соединение с Wi-Fi модулем на скорости 9600 бод
  WIFI_SERIAL.begin(9600);
}
 
void loop()
{
  // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера
  if (WIFI_SERIAL.available()) {
    Serial.write(WIFI_SERIAL.read());
  }
  // если приходят данные из компьютера - отправим их в Wi-Fi модуль
  if (Serial.available()) {
    WIFI_SERIAL.write(Serial.read());
  }
}

По итогу программный UART успеет обработать каждый пришедший байт с Wi-Fi модуля.

AT сканирование WI-FI сетей

Откройте Serial-порт и отправьте на модуль «AT-команду» для сканирования всех доступных Wi-Fi сетей:

AT+CWLAP

При наличии доступных WI-FI сетей в ответ получим сообщение:

AT+CWLAP

+CWLAP:(0,"AI-THINKER_03842B",-65,"62:01:94:03:84:2b",1,1,-40)
+CWLAP:(3,"PiRExternal",-90,"f0:29:29:26:b8:31",1,-12,0)
+CWLAP:(3,"PiRGroup",-84,"44:ad:d9:87:c8:f0",1,-4,0)
+CWLAP:(4,"corp.Catherine.ru",-82,"f8:1a:67:4c:bf:59",2,10,0)
+CWLAP:(3,"PiRGroup",-87,"f0:29:29:26:b8:30",1,-11,0)
+CWLAP:(3,"Amperka",-44,"6c:3b:6b:ff:0f:4d",6,8,0)
+CWLAP:(3,"SEC_LinkShare_ddd43e",-79,"d0:66:7b:08:93:dd",6,23,0)
+CWLAP:(3,"DIT_AMPP",-82,"1c:b9:c4:25:13:68",1,32767,0)
+CWLAP:(3,"MZPK",-89,"24:a2:e1:eb:5d:08",11,-16,0)
+CWLAP:(0,"Arduino-Yun-B4218AF05F28",-62,"b4:21:8a:f0:5f:28",11,25,0)
+CWLAP:(3,"PiRExternal",-85,"44:ad:d9:87:c8:f1",1,-4,0)

OK

Wi-Fi модуль как самостоятельный контроллер

Настройка железа

Ввиду отсутствия у платформы ESP-01 собственного USB-порта, понижающего преобразователя и отсутствия толерантности к 5 вольтам, подключите её к компьютеру, используя один из перечисленных способов:

Схема через Arduino Uno

Для сборки программатора понадобится:

  1. Соберите схему, представленную ниже.
  2. Переведите модуль в режим программирования:

    Необходимо каждый раз выполнять перед прошивкой модуля.

    1. Отключите питание от модуля;

    2. Подключите пин 0 к GND — фиолетовый провод к земле;

    3. Подключите модуль к питанию;

    4. Притяните пин 0 к 3.3V — фиолетовый провод через резистор к питанию.
  3. Железо готово, приступайте к программной части.

Схема через USB-Serial адаптер

Для сборки программатора понадобится:

  1. Соберите схему, представленную ниже.
  2. Переведите модуль в режим программирования:

    Необходимо каждый раз выполнять перед прошивкой модуля.

    1. Отключите питание от модуля;

    2. Подключите пин 0 к GND — фиолетовый провод к земле;

    3. Подключите модуль к питанию;

    4. Притяните пин 0 к 3.3V — фиолетовый провод через резистор к питанию.
  3. Железо готово, приступайте к программной части.

Программирование на C++

  1. Для начала работы с платформой ESP на языке C++ скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
  2. В в пункте меню выбирайте Generic ESP8266 Module.

После выполненных действий модуль ESP-01 готов к программированию через Arduino IDE.

Подробности о функциях и методах работы ESP-01 (ESP8266) на языке C++ читайте на ESP8266 Arduino Core’s.

Программирование на JavaScript

После выполненных действий модуль ESP-01 готов к программированию через Espruino Web IDE.

Подробнее о функциях и методах работы ESP8266 на языке JavaScript читайте на Espruino.

Восстановление стандартной АТ-прошивки

После программирования платформы в режиме самостоятельного контроллера может понадобиться восстановить на модуле стандартную AT-прошивку. Для этого необходимо воспользоваться утилитой Flash Download Tool.

Элементы платы

Чип ESP8266EX

Чип ESP8266 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем WiFi IEEE 802.11 b/g/ и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки.

Программное приложение пользователя должно храниться на внешней микросхеме Flash-памяти и загружаться в ESP8266EX через один из доступных интерфейсов (SPI, UART, SDIO и др.) каждый раз в момент включения питания системы.

Чип ESP8266 не содержит в себе Flash-память и многих других компонентов для пользовательского старта. Микросхема является основой на базе которой выпускаются модули с необходимой периферией, например ESP-01.

Светодиодная индикация

Имя светодиода Назначение
LEDИндикаторный светодиод подключённый к цифровому пину 1
POWERИндикатор питание на модуле

Распиновка

Пины питания

  • 3.3V: Вывод питания модуля. Потребляемый ток не менее 250 мА.

  • GND: Выводы земли.

Пины ввода/вывода

В отличии от большинства плат Arduino, родным напряжением платформы ESP-01 является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить модуль!

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

  • Цифровые входы/выходы: 4 пина; 03
    Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.

  • ШИМ: 4 пинов; 03
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ – 10 бит.

  • UART: пины 3(RX) и 3(TX)
    Используется для коммуникации модуля Wi-Fi с компьютером или другими устройствами по интерфейсу UART.

Характеристики

  • Модуль: ESP-01 с чипом ESP8266EX

  • Выходной интерфейс: UART

  • Объём Flash-памяти: 2 МБ

  • Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц

  • Режимы работы:

  • Напряжение питания: 3,3 В

  • Потребляемый ток: до 250 мА

  • Габариты: 25×15 мм

В режиме контроллера

  • Тактовая частота: 80 МГц

  • Портов ввода-вывода всего: 4

  • Портов с ШИМ (Программный): 4

  • Разрядность ШИМ: по умолчанию 10 бит

  • Максимальный ток с пина или на пин: 12 мА

Ресурсы

Подготовка к программированию ESP8266 на micropython / Хабр

Micropython — это реализация Python 3, написанная на C, которая оптимизирована для микроконтроллеров. Nodemcu v1.0 — самая удобная плата с микроконтроллером ESP8266 и поддержкой Wi-Fi. Комбинация её и micropython — это мощность, скорость и простота написания. Поскольку это мой первый опыт работы с micropython (и с МК в принципе), я столкнулся с рядом нюансов, способами решения которых я и хочу поделиться с читателем. Примеры будут для MacOS, однако они легко адаптируются под Linux и Windows.

Драйвер

Сначала необходимо установить драйвер. Это несложно, здесь не буду останавливаться. Для MacOS я использовал ch440g-ch44g-ch44x-mac-os-x-driver

Прошивка

Теперь необходимо залить micropython прошивку на ваш ESP8266. Процесс подробно и качественно описан в документации micropython для ESP8266, поэтому я только кратко освещу основные пункты.

Скачиваем прошивку здесь. Рекомендую последний stable билд.

Устанавливаем esptool:

pip install esptool

Pip — это система управления пакетами для python. Если у вас нет pip или python в целом — сначала необходимо установить их.

Далее очищаем флеш-память устройства:

esptool.py --port /dev/ttyUSB0 erase_flash

И прошиваем:

esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin

Порт /dev/ttyUSB0 нужно заменить на свой. Для MacOS можно просто подставить /dev/$(ls /dev | grep cu.wchusbserial) и нужный порт будет определён автоматически.
Например:

esptool.py --port /dev/$(ls /dev | grep cu.wchusbserial) erase_flash

Обратите внимание, я использую baud rate 115200 как стандартный для esp.

REPL

Отлично, теперь наш мк оснащен micropython’ом, а это означает, что к нему можно подключиться и выполнять команды в REPL (Read Evaluate Print Loop). По факту, это аналог командной строки интерпретатора классического Python. Подключиться можно через сериал порт или через WiFi. Подробная информация о использовании доступна здесь, я же снабжу её несколькими комментариями.

Для MacOS удобно использовать picocom:

picocom /dev/$(ls /dev | grep cu.wchusbserial) -b115200

После выполнения команды, консоль перейдет в интерактивный режим.
Для выхода используйте Control-A, затем Control-X (не отжимая Control).
Автор утилиты активно отвечает на issues на гитхабе, для кого-то это может отыграть важную роль. Также, начиная с версии 3, добавлен неинтерактивный режим, что позволяет использовать picocom в написании своих скриптов.

Также можно использовать screen:

screen /dev/$(ls /dev | grep cu.wchusbserial) 115200

Для выхода: Control-A, Control-\

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

IDE

С REPL поигрались, диодом помигали, TCP сокеты использовали. Что дальше? Необходим быстрый способ доставки нашего кода на esp. Не будем же мы всё писать через REPL. На ум сразу же приходит IDE. Так я скачал ESPlorer 0.2.0-rc6. Поддержка micropython находится в активной разработке и, как я понял, была добавлена совсем недавно, в rc3. После некоторого времени, проведённого в этой IDE, я столкнулся с целым рядом багов, которые не дают нормально записывать файлы в flash и выполнять код. Я написал issue на гитхаб и отложил ESPlorer до лучших времен. Для Windows есть несколько альтернатив: espcut, EsPy.

Код я решил писать в Sublime — тут всё просто и понятно. А как его доставлять на мк?

К счастью, существут замечастельная утилита ampy и она делает как раз то, что нам нужно — позволяет пересылать файлы через serial connection. Также она позволяет выполнять файлы и создавать/удалять папки.

Для удобства использования, я написал простой скрипт, который является оберткой для ampy.

Он умеет делать всего две вещи:

  1. Если вызван с параметром -f, то передает в МК все питоновские файлы, которые находятся в той же папке, в которой лежит скрипт.
  2. Если вызван без параметров, то все аргументы передаются непосредственно в ampy (избавляет от необходимости постоянно указывать порт в ampy).

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

ESP8266 в основном используется для несложных задач, поэтому этих простых инструментов будет вполне достаточно.

Итоги

Итого, мы прошили нашу esp8266, настроили необходимое ПО для общения с МК и обеспечили себе быструю и удобную разработку с помощью ampy и ampyw, что даёт нам независимость от IDE. Теперь всё, что требуется от вас — писать код и создавать девайс своей мечты!

ESP8266 + FLProg – Создание web интерфейса настройки / Блог компании FLProg / Хабр

Источник

Предыдущий пост, посвящённый связке FLProg и ESP8266, был обзорным, а теперь рассмотрим работу в программе с этим контроллером более подробно.


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

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

Основная работа при создании web интерфейса настройки производится в дереве проекта.

Для начала настроим точку доступа.

Раскрываем дерево проекта до пункта “Точка доступа” включительно и двойным кликом по ветке “Отключён” включаем точку доступа в работу.

В открывшихся ветках настраиваем параметры точки доступа. Для изменения необходимого параметра производим двойной клик на соответствующей ветке.

Имя сети (SSID) – Имя сети которую будет организовывать точка доступа.

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

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

Остальные параметры (Маска подсети и Сетевой шлюз) заполнятся автоматически после установки IP адреса, но при необходимости их можно изменить, если требуются нестандартные значения.

В результате должно получиться, что то подобное.

С точкой доступа закончили, можем свернуть этот узел, и переходим к клиенту. Так же разворачиваем его узел, и включаем его в работу двойным кликом по ветке “Отключён

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

Обратите внимание, что в целях безопасности пароль подключения в дереве проекта не показывается.

С настройкой Wi-Fi интерфейсов закончили. Сворачиваем (если нужно) узел клиента и переходим к настройке режима обновления прошивки по Wi-Fi (если это требуется). Данный узел появляется только при включённом в работу клиенте.

Включаем этот режим двойным кликом по ветке “Отключён

Задаём необходимые параметры (изменение значения параметров производится с помощью двойного клика на соответствующей ветке).

Пароль – при задании пароля перед заливкой новой прошивки потребуется его ввод.
Имя устройства – Это имя будет фигурировать в названии порта соединения в Arduino IDE.

Подробнее о режиме Arduino OTA можно почитать здесь.

Теперь переходим непосредственно к созданию web интерфейса настройки. Открываем узел “Web интерфейс настройки” и включаем его двойным кликом по ветке “Отключён

Web интерфейс настроек представляет собой набор страниц с параметрами. Если страниц более одной, автоматически формируется меню для доступа к ним. Для каждой страницы можно задать собственные стили CSS, если использовать общие стили для всего Web интерфейса настройки.

Для настройки общих стилей CSS для всего web интерфейса совершаем двойной клик по ветке «Общий стиль»

Откроется окно настроек общего стиля.

На закладке «Описание стилей» находится поле ввода непосредственно описания стилей применяемых для всех страниц настройки. По умолчанию это поле уже заполнено стилями для создания стандартного интерфейса. Но если есть желание изменить дизайн страниц, то можно их изменить.

На закладке «Стили» можно задать названия стилей используемых для конкретных элементов страницы.

Эта закладка так же заполнена по умолчанию.

На закладке «Тексты» можно ввести тексты основных элементов используемых на странице.

Для восстановления всех значений данного диалога значениями по умолчанию, можно воспользоваться кнопкой «По умолчанию».

Настройки стилей и текстов заданные в общих стилей применяются на всех страницах настроек, если они не перекрыты настройками стилей конкретной страницей (это рассмотрим ниже)

Страницы показаны в узле «Страницы настроек». Раскрываем его.

По умолчанию всегда присутствует одна страница. Раскрыв её узел, получаем доступ к её настройкам.

Адрес главной страницы – адрес основной страницы настроек. По умолчанию – host – то есть адрес контроллера в сети. При необходимости можно сменить. Сменим его на адрес host/setting (двойной клик по данной ветке).

Имя страницы – название страницы в меню. Оставим ей название – «Главная«
Стиль страницы — двойной клик по данной ветке вызывает диалог настройки стиля для конкретно этой страницы.

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

В узле “Параметры” задаются параметры, отображаемые на странице. На главной странице мы зададим отображение IP адреса полученного от роутера по DHCP в виде простого текста. Параметр добавляется с помощью двойного клика по ветке «Добавить параметр»

Открывается диалог создания нового параметра. В нём для начала нажимаем кнопку выбора системного параметра.

Откроется список доступных системных параметров. Выбираем параметр “Wi-Fi клиент – IP адрес”.

В поле надписи вводим текст лейблы для этого параметра, а в поле тип параметра выберем значение “Текст

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

Узлы «Кнопка “Save”» и «Кнопка “Reset”» задают наличие кнопок сохранения данных и перезагрузки контроллера на странице. Поскольку никаких изменяемых данных на главной странице у нас нет, отключим эти кнопки на странице двойным кликом на ветке «Используется» (по умолчанию кнопки присутствуют на странице).

Добавим новую страницу двойным кликом по ветке «Добавить страницу»

Откроется диалог создания новой страницы. В нём заполним имя страницы (как она будет называться в меню интерфейса настройки) и адрес. Адреса вспомогательных страниц всегда продолжают адрес главной страницы. На данной странице мы будем настраивать параметры точки доступа.

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

Добавим на страницу параметр “Wi-Fi точка доступа – имя сети (SSID)

И выберем для него тип «Поле ввода» и лейблу «Имя сети»

Таким же образом добавим остальные параметры точки доступа.

Если параметров на странице более одного в узлах параметров появляются ветки позволяющие изменить порядок вывода параметров на странице.

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

Для данной страницы в диалоге стилей зададим заголовок для данной страницы

По такому же сценарию создадим страницу с настройками клиента. Для параметра «Wi-Fi клиент – получение IP по DHCP» зададим тип параметра «Чек бокс»

При наличии в интерфейсе более двух страниц в узлах страниц так же появляются ветки управляющие положением страниц в меню интерфейса. Но главная страница всегда остаётся первой.

В данный момент доступ к интерфейсу и всем страницам свободный. Введём ограничение доступа. Для этого сделаем двойной клик по ветке «Свободный доступ» узла «Доступ к интерфейсу»

Теперь для доступа к интерфейсу необходимо будет авторизоваться. Время активной авторизации можно задать. По умолчанию оно составляет 15 минут. Через это время после последней активности пользователя будет произведён автоматический сброс текущего пользователя. Это время можно изменить путём двойного клика по соответствующей ветке.

В узле «Пользователи» можно задать необходимое количество пользователей. Там всегда присутствует супер пользователь (по умолчанию логин — admin). Ему всегда доступны все страницы и параметры. Как и для любого пользователя в его узле можно задать логин и пароль.

Создадим нового пользователя, который будет иметь право настраивать точку доступа. Для этого произведём двойной клик по ветке «Добавить пользователя». Откроется диалог добавления пользователя. В нем мы зададим логин и пароль нового пользователя

И создадим ещё одного пользователя, который сможет настраивать клиента.

После включения доступа по логину и паролю на всех страницах появилась кнопка «Exit», которая служит для выхода текущего пользователя. Оставим ее на всех страницах.

Теперь настроим доступ на страницах. Главная страница всегда доступна всем пользователям. А в узлах остальных страниц появилась новая ветка «Доступ». Дважды кликнем на этой ветке в узле страницы «Точка доступа».

Откроется диалог выбора пользователей для доступа к странице. По умолчанию доступ открыт всем пользователям. Снимем галочку с пользователя «User_Client» тем самым ограничив его доступ к данной странице.

Таким же способом ограничим доступ к странице настроек клиента пользователю «User_Tochka»

Создадим ещё одну страницу для настроек логинов и паролей

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

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

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

На этом настройку web интерфейса считаем законченной.

Нажимаем кнопку «Компилировать проект» в главном интерфейсе программы и получаем готовый скетчь в Arduino IDE.

В Arduino IDE выбираем нашу плату.

И порт, к которому подключен контроллер

После чего заливаем прошивку в контроллер

Итак, что у нас получилось…

После загрузки появляется новая точка доступа.

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

Вводим пароль и логин администратора, и попадаем на главную страницу

Видим в меню все страницы

А на странице логина и пароля все параметры.

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

Перелогиниваемся под User_Client и картина соответствующая – видим только то, что положено

Открываем Arduino IDE и в настройках порта видим, что контроллер готов к обновлению прошивки «по воздуху».

На сегодня всё.

На следующем уроке рассмотрим пользовательские системные параметры, и синхронизацию с серверами точного времени. Скачать проект, созданный на этом уроке, можно здесь.

UPD.

Данный урок создан для версии 3.1.4, которая сейчас находится в предрелизовом тестировании. Скачать её можно здесь. Более подробно о проекте FLProg можно узнать из блога компании на хабре, сайта проекта и форума. Кроме того на канале ArduinoProm можно посмотреть огромное множество видео уроков.

Прошивка esp8266 через Arduino IDE

ESP8266 – это популярный китайский микроконтроллер от компании Espressif, основным достоинством которого является встроенный интерфейс WiFi и совместимость с ардуино. Совместимость означает возможность писать программы и загружать их через  Arduino IDE,ведь большинство скетчей могут с минимальными доработками использоваться в ESP8266. В этой статье мы узнаем, что из себя представляет стандартная прошивка ESP 8266, как можно программировать эти модули в привычной для многих ардуинщиков Arduino IDE. Мы узнаем, как подготовить среду программирования, как с ее помощью написать скетч и как затем подключить и прошить WiFi-модуль.

Начальная прошивка ESP8266 с WiFi

Сегодня на базе чипа ESP8266 выпускается большое количество модулей, о них мы писали в отдельной статье, посвященной этому микроконтроллеру. Заводские ESP8266 идут со стандартной прошивкой от компании Espressif. Этот софт позволяет работать с модулем вай-фай как с обычным модемом, то есть посредством AT команд, которые подаются на последовательный порт.  Таким образом, вы можете использовать модули «из коробки» как внешнее WiFi устройство (в зависимости от режима работы это может быть и точка доступа, и ретранслятор).

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

Как прошить ESP8266

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

  • Использование “родного” SDK. Компания Espressif выпустила набор программных средств для разработки собственных прошивок. SDK предоставляет широкий спектр возможностей, тем не менее, пользоваться им довольно-таки трудно в виду не совсем очевидного и приятного интерфейса.
  • Загрузка готовых решений. На просторах Всемирной паутины есть множество уже готовых со встроенным интерпретатором. Среди множества решений наверняка найдутся и тем, которые подойдут вашему проекту. Тем не менее, у готовых прошивок есть недостатки. Они могут быть ненадежными, решать не совсем те задачи и быть избыточно большими. Из-за встроенного интерпретатора софт сильно загружает ОЗУ, что приводит к медленной работе.
  • Настройка работы через WEB-интерфейс. Существует ряд прошивок, которые позволяют изменить конфигурации ESP8266 через интернет-интерфейс. В качестве примера можно привести коммерческий софт HOME-SMART. Недостатком подобных прошивок является довольно-таки узкий спектр возможностей.
  • Использование Arduino IDE. Пожалуй, один из лучших способов написания прошивки для ESP, который используется чаще всего. Это связано с тем, что у рассматриваемой IDE есть целый ряд достоинств, речь о которых пойдет в следующем разделе.

Прошивка ESP 8266 в Arduino IDE

Почему для прошивки ESP 8266 многие предпочитают использовать Arduino IDE? Есть целый ряд причин, которые оправдывают использование именно данной среды разработки. Во-первых, она очень проста. Скетчи в Arduino IDE пишутся на языке, который в плане синтаксиса напоминает С/С++. Большинство функций, которые используются для программирования платы Ардуино, можно применять для написания прошивки к ESP8826 (к примеру, pinMode(), digitalRead() и пр.). Поэтому если вы писали скетчи для платы Arduino, то проблем с написание прошивки возникнуть не должно.

Во-вторых, Arduino IDE поддерживает множество различных библиотек, которые значительно облегчают процесс программирования. Некоторые из них можно использовать для того, чтобы писать прошивку для ESP8266. К примеру, при создании софта наверняка пригодятся такие модули, как:

  • WiFi ESP8266. Объемная библиотека для работы с беспроводной сетью. Позволяет получать IP и MAC адрес в различных режимах (клиент, точка доступа), выводить диагностическую информацию, создавать открытую точку доступа и пр.
  • Программный модуль, с помощью которого можно выполнять различные операции через заданное количество времени.
  • Библиотека используется для работы с ПЗУ.
  • Программный модуль, которые обеспечивает поддержку нескольких, специфических для ESP 8266 функций. К примеру, библиотека позволяет активировать режим глубокого сна и управлять сторожевым таймером. Кроме этого, в состав программного модуля входят функции для перезагрузки девайса, определения размера свободной памяти и т.д.

И это лишь верхушка айсберга. У Arduino IDE есть еще несколько менее значимых преимуществ.

Чтобы использовать среду разработки Ардуино с ESP8266, для начала необходимо произвести предварительную настройку. Именно о ней мы сейчас и поговорим.

Подготовка Arduino IDE

Для начала необходимо установить на свой ПК крайнюю версию среды Arduino IDE. Сделать это можно на официальном интернет-сайте. На момент написания статьи крайняя версия IDE – это 1.8.5. После загрузки и инсталляции среды разработки, необходимо запустить ее и перейди в раздел Файл > Настройки. Там есть поле для дополнительных ссылок менеджера плат. В него необходимо вписать http://arduino.esp8266.com/stable/package_esp8266com_index.json и клацнуть на кнопочку ОК.

Затем нужно перейти в Инструменты > Плата. Там будем представлен список доступных плат. Но на интересует пункт Менеджер плат. Это приведет к запуску нового диалога. В нем необходимо найти пункт под названием esp8266 by ESP8266 Community и кликнуть по нему. Вышеописанные манипуляции приведут к появлению кнопочки Установка. Нужно выбрать подходящую версию (лучше всего крайнюю). Далее надо нажать на кнопку, отвечающую за установку. После этого среда разработки начнет скачивать необходимые файлы. Это не займет много времени, так как нужный пакет весит всего 150 МБ.

Возвращаемся к списку плат. После инсталляции программного модуля там появилось несколько новых пунктов, которые соответствуют рассматриваемому микроконтроллеру. Надо выбрать вариант Generic ESP8266 Module. Затем следует определить входящий пункт, через уже знакомый раздел Инструменты. Там же следует задать параметры модуля (частота, объем flash-паммяти). На этом настройка программной среды завершена.

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

Для подключения ESP8266 не потребуется много коннекторов, так как рассматриваемый аппаратный модуль использует всего несколько пинов. Выходы TX/RX и землю нужно подключить к конвертору TTL-USB (его, в свою очередь, надо подключить к USB). Далее следует подсоединить питание в 3.3В к пину VCC.

Важно! Не стоит использовать питание от USB-TTL конвертера, так как это может привести к нестабильной работе аппаратного модуля. Лучше используйте внешний источник питания.

Чтобы иметь возможность загружать на микроконтроллер прошивку, необходимо подсоединить GPIO0 к земле. При таком подключении аппаратный модуль загружает прошивку во flash-память. Запуск программы происходит сразу же, без отсоединения от GPIO.

Важно! Перед загрузкой прошивки для ESP8266 необходимо перезагрузить модуль. Сделать это можно, передёрнув питание или же подав землю на RESET.

Последовательность действий при загрузке скетча

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

Важно! Если аппаратный модуль был подключен без автопрошивки, то надо отсоединить пин GPIO0 от земли и передернуть питание.

Далее следует перейти в Инструменты > Монитор последовательного порта. Надо выбрать скорость 115200. После этого стоит обратить внимание на терминал. Если модуль подключен к сети, то в таком случае на мониторе должны появится соответствующие надписи. Внизу будет расположен IP адрес аппаратного модуля.

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

Волшебная палочка POV на ESP8266

Проект который Вы можете сделать со своим ребенком на новогодних каникулах 🙂

Прошивка: MagicWandPOW
Схема: Волшебная палочка POV на ESP8266


ESP8266 Библиотека WebSocketsServer

Скетч: Step14-WebSockedServer


Программирование по порядку.
Как установить плагин в среду ARDUINO IDE, который позволяет загрузить файловую систему в ESP8266.
Если у нас есть возможность использовать файловую систему прямо на кристалле ESP8266 зачем нам SD карты и веб страницы помещенные в код?

Ссылка на загрузку плагине здесь:  ESP8266FS-0.3.0.zip


Программирование по порядку.
Пример использования библиотеки TickerScheduler.
Библиотека позволяет выполнять различные задачи с различными промежутками времени.

Скетч: Step13-TickerScheduler


Программирование по порядку.
Пример связи Web страницы и датчиков DHT11, DHT22/AM2302/RHT03   – передаем данные температуры и влажности на страницу из ESP8266 в виде графика.
Возможности page.htm?*

Step12-Graf-DHT

 


Программирование по порядку.
Как создать свои WEB страницы не используя HTML продолжение – передаем данные на страницу из ESP8266 в виде графика.
Возможности page.htm?*

Step11-GrafNoHTML


Программирование по порядку.
Как создать свои WEB страницы не используя HTML продолжение – передаем данные на страницу из ESP8266.
Возможности page.htm?*

Step10-DataNoHTML


Программирование по порядку.
Как создать свои WEB страницы не используя HTML.
Возможности page.htm?*

Step9-CodNoHTML


Архив качать здесь: https://github.com/tretyakovsa/Sonoff_Loader


Начало работы — ESP8266 RTOS SDK Programming Guide Documentation

Этот документ предназначен для помощи пользователям в настройке программной среды для разработки приложений с использованием оборудования на базе Espressif ESP8266EX. На простом примере мы хотели бы проиллюстрировать, как использовать ESP8266_RTOS_SDK (стиль ESP-IDF), включая конфигурацию на основе меню, компиляцию ESP8266_RTOS_SDK и загрузку прошивки на платы ESP8266EX.

Введение

Микроконтроллер ESP8266EX объединяет 32-разрядный RISC-процессор Tensilica L106, который обеспечивает сверхнизкое энергопотребление и максимальную тактовую частоту 160 МГц.Операционная система реального времени (RTOS) и стек Wi-Fi позволяют использовать около 80% вычислительной мощности для программирования и разработки пользовательских приложений.

Espressif предоставляет базовые аппаратные и программные ресурсы, которые помогают разработчикам приложений строить свои идеи на основе оборудования серии ESP8266EX. Среда разработки программного обеспечения от Espressif предназначена для быстро развивающихся приложений Интернета вещей (IoT) с Wi-Fi, управлением питанием и некоторыми другими функциями системы.

Что вам нужно

Для разработки приложений для ESP8266EX необходимо:

  • ПК с операционной системой Windows, Linux или Mac
  • Набор инструментов для создания приложения для ESP8266EX
  • ESP8266_RTOS_SDK , который по существу содержит API для ESP8266EX и скрипты для работы с Toolchain
  • Текстовый редактор для написания программ ( проектов, ) на C, напримерЗатмение
  • Сама плата ESP8266EX и USB-кабель для подключения к ПК

Разработка приложений для ESP8266EX

Подготовка среды разработки состоит из трех этапов:

  1. Настройка Toolchain
  2. Получение ESP8266_RTOS_SDK из GitHub
  3. Установка и настройка Eclipse

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

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

  1. Конфигурация проекта и написание кода
  2. Компиляция проекта и его связывание для создания приложения
  3. Перепрошивка (загрузка) приложения с на ESP8266EX
  4. Мониторинг / отладка приложения

См. Инструкции ниже, которые помогут вам выполнить эти шаги.

Направляющие

Если у вас есть одна из плат для разработки ESP8266, перечисленных ниже, нажмите на предоставленные ссылки, чтобы начать работу.

Если у вас другая плата, перейдите к разделам ниже.

Получить ESP8266_RTOS_SDK

Помимо набора инструментов (который содержит программы для компиляции и сборки приложения), вам также нужны специальные API / библиотеки для ESP8266. Они предоставляются Espressif в репозитории ESP8266_RTOS_SDK.

Чтобы получить локальную копию: откройте терминал, перейдите в каталог, в который вы хотите поместить ESP8266_RTOS_SDK, и клонируйте репозиторий с помощью команды git clone :

 кд ~ / esp
git clone --recursive https: // github.com / espressif / ESP8266_RTOS_SDK.git
 

ESP8266_RTOS_SDK будет загружен в ~ / esp / ESP8266_RTOS_SDK .

Примечание

Эта команда клонирует основную ветвь, которая имеет последнюю развитую («передовую») версию ESP8266_RTOS_SDK. Он полностью функционален и еженедельно обновляется с учетом самых последних функций и исправлений.

Примечание

Функция

GitHub «Загрузить zip-файл» не работает с ESP8266_RTOS_SDK, требуется git clone .В качестве запасного варианта можно установить стабильную версию без Git.

Путь установки к ESP8266_RTOS_SDK

Программы инструментальной цепочки обращаются к ESP8266_RTOS_SDK, используя переменную среды IDF_PATH . Эта переменная должна быть настроена на вашем ПК, иначе проекты не будут построены. Настройка может производиться вручную при каждом перезапуске ПК. Другой вариант — настроить его постоянно, указав IDF_PATH в профиле пользователя.

Установите необходимые пакеты Python

Пакеты

Python, необходимые для ESP8266_RTOS_SDK, находятся в папке $ IDF_PATH / requirements.txt файл. Вы можете установить их, запустив:

 python -m pip install --user -r $ IDF_PATH / requirements.txt
 

Примечание

Вызовите ту версию интерпретатора Python, которую вы будете использовать с ESP8266_RTOS_SDK. Версия
интерпретатор можно проверить, выполнив команду python --version , и в зависимости от результата вы можете захотеть
используйте python2 , python2.7 или аналогичный вместо python , например:

 python2.7 -m pip install --user -r $ IDF_PATH / requirements.txt
 

Начать проект

Теперь вы готовы подготовить приложение для ESP8266. Чтобы быстро начать, мы будем использовать проект get-start / hello_world из каталога примеров в IDF.

Скопируйте get-start / hello_world в каталог ~ / esp :

 кд ~ / esp
cp -r $ IDF_PATH / examples / get-start / hello_world.
 

Вы также можете найти ряд примеров проектов в каталоге примеров в ESP-IDF.Каталоги этих примеров проектов можно скопировать так же, как описано выше, чтобы начать свои собственные проекты.

Важно

Система сборки ESP8266_RTOS_SDK не поддерживает пробелы в путях к ESP8266_RTOS_SDK или к проектам.

Подключить

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

Настроить

Находясь в окне терминала, перейдите в каталог приложения hello_world , набрав cd ~ / esp / hello_world . Затем запустите утилиту настройки проекта menuconfig :

 компакт-диск ~ / esp / hello_world
сделать menuconfig
 

Если предыдущие шаги были выполнены правильно, отобразится следующее меню:

Конфигурация проекта — Главное окно

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

Примечание

В Windows последовательные порты имеют такие имена, как COM1. В MacOS они начинаются с / dev / cu. . В Linux они начинаются с / dev / tty .

Вот пара советов по навигации и использованию menuconfig :

  • Используйте клавиши со стрелками вверх и вниз для навигации по меню.
  • Используйте клавишу Enter для входа в подменю, клавишу Escape для выхода или выхода.
  • Тип ? , чтобы увидеть экран справки. Клавиша Enter закрывает экран справки.
  • Используйте клавишу пробела или клавиши Y и N для включения (Да) и отключения (Нет) элементов конфигурации с помощью флажков « [*] »
  • Нажатие ? при выделении элемента конфигурации отображает справку по этому элементу.
  • Введите / для поиска элементов конфигурации.

Примечание

Если вы являетесь пользователем Arch Linux , перейдите к Конфигурация инструмента SDK и измените имя интерпретатора Python 2 с python на python2 .

Сборка и прошивка

Теперь вы можете собрать и прошить приложение. Бега:

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

 esptool.py v2.4.0
Прошивка двоичных файлов на последовательный порт / dev / ttyUSB0 (приложение по смещению 0x10000) ...
esptool.py v2.4.0
Подключение ....
Чип ESP8266EX
Особенности: WiFi
MAC: ec: fa: bc: 1d: 33: 2d
Загрузка заглушки ...
Выполняется заглушка ...
Заглушка работает ...
Настройка размера флэш-памяти ...
Сжато 7952 байта до 5488 ...
Записал 7952 байта (5488 сжатых) при 0x00000000 за 0,5 секунды (эффективная скорость 129,9 кбит / с) ...
Хеш данных подтвержден.
Сжато 234800 байт до 162889 ...
Написал 234800 байт (162889 сжатых) по адресу 0x00010000 в 14.4 секунды (эффективная 130,6 кбит / с) ...
Хеш данных подтвержден.
Сжато 3072 байта до 83 ...
Записал 3072 байта (83 сжатых) по адресу 0x00008000 за 0,0 секунды (эффективная 1789,8 кбит / с) ...
Хеш данных подтвержден.

Уезжаем ...
Аппаратный сброс через пин RTS ...
 

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

Если вы хотите использовать Eclipse IDE вместо make , ознакомьтесь с руководством по Eclipse.

Монитор

Чтобы проверить, действительно ли запущено приложение «hello_world», введите make monitor .

$ сделать монитор
МОНИТОР
— idf_monitor на / dev / ttyUSB0 74880 —
— Выйти: Ctrl +] | Меню: Ctrl + T | Справка: Ctrl + T, затем Ctrl + H —

и 8 января 2013 г., первая причина: 1, режим загрузки: (3,6)

нагрузка 0x40100000, лен 4400, комната 16
0x40100000: _stext в ??:?

хвост 0
chksum 0x6f
нагрузка 0x3ffe8408, лен 3516, комната 8
хвост 4
chksum 0x5d

Через несколько строк ниже после запуска и журнала диагностики вы должны увидеть «Версия SDK: xxxxxxx», распечатанную приложением.

 ...
Версия SDK: v3.1-dev-311-g824cd8c8-dirty
 

Для выхода из монитора используйте ярлык Ctrl +] .

Примечание

Если вместо сообщений выше вы видите случайный мусор, похожий на:

 e���) (Xn@�y.!�� (�PW +) ��Hn9a ؅ / 9�! � t5��P� ~ �k��e�ea�5�jA
~ zY��Y (1�, 1�� e���) (Xn@�y.!Dr�zY (�jpi� | � + z5Ymvp
 

Чтобы выполнить make flash и сделать монитор за один раз, введите make flash monitor .

Это все, что вам нужно для начала работы с ESP8266!

Теперь вы готовы попробовать другие примеры или перейти к разработке собственных приложений.

Переменные среды

Некоторые переменные среды могут быть указаны при вызове make , что позволяет пользователям переопределять аргументы без необходимости перенастраивать их с помощью make menuconfig .

Переменные Описание и использование
ESPPORT

Заменяет последовательный порт, используемый в flash и monitor .

Примеры: make flash ESPPORT = / dev / ttyUSB1 ,
сделать монитор ESPPORT = COM1

ESPBAUD

Отменяет скорость последовательной передачи данных при прошивке ESP32.

Пример: make flash ESPBAUD = 9600

МОНИТОРБАУД

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

Пример: сделать монитор MONITORBAUD = 9600

Примечание

Пользователи могут экспортировать переменные среды (например,г. экспорт ESPPORT = / dev / ttyUSB1 ).
Все последующие вызовы делают в рамках одного терминального сеанса, будут использовать
экспортируемое значение, учитывая, что переменная не переопределяется одновременно.

.

Программирование ESP8266 с помощью Arduino IDE за 3 простых шага

ESP8266 — это недорогой WiFi-модуль, созданный Espressif Systems. Его популярность среди аппаратного сообщества растет благодаря приятным функциям и стабильности, до такой степени, что его можно легко запрограммировать с помощью вашей Arduino IDE.

В этом посте мы узнаем, как программировать ESP8266 с помощью UARTbee или Arduino UNO, а также Arduino IDE.

Требования

  1. Модуль ESP8266.
  2. Arduino UNO, UARTbee или любой UART к USB-устройству.
  3. Перемычки.
  4. Arduino IDE версии 1.6.6 или выше.

Подключи!

Сначала нам нужно определить распиновку ESP8266.

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

ESP8266 UARTbee Ардуино UNO
RXD TXD RX
GPIO0 GND GND
GPIO2 ——- ——-
ЗЕМЛЯ GND GND
VCC 3.3 3,3 В
RST ——– ———–
CH_PD 3,3 В 3,3 В
TXD RXD TX

ПРИМЕЧАНИЕ: Если вы используете Arduino UNO, вам необходимо установить Arduino RST на GND. Будьте осторожны с VCC ESP8266, он работает только от источника питания 3,3 В.

Установите Arduino IDE

  1. Загрузите Arduino IDE.
  2. Откройте свою среду IDE и нажмите «Файл -> Настройки».
  3. В «URL-адресах диспетчера дополнительных плат» добавьте эту строку и нажмите «ОК»:
  http://arduino.esp8266.com/stable /package_esp8266com_index.json
  

4. Перейдите в «Инструменты -> Плата -> Менеджер плат» , введите «ESP8266» и установите его.

5. Снова перейдите к «Инструменты -> Плата» и выберите «Стандартный модуль ESP8266».

Прошить код!

Теперь вы готовы использовать ESP8266 в качестве автономного модуля без внешнего микроконтроллера.Ознакомьтесь с дополнительными ресурсами ESP8266 здесь, чтобы узнать, как создавать продукты и проекты IoT с помощью этого замечательного модуля.

Движение вперед

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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *