- Что такое программирование OTA?
- ESP8266 NodeMCU
- Необходимые компоненты
- Подготовка NodeMCU к беспроводному получению обновления OTA
- ESP8266 Программа мигающего светодиода для OTA Transfer
- Мигание светодиода на ESP8266 через OTA update
Что такое программирование OTA?
OTA-программирование (по воздуху) - это процесс, который позволяет устройствам обновлять прошивку или программное обеспечение по беспроводной сети без какого-либо физического доступа. Он использует беспроводные технологии, такие как Wi-Fi, Bluetooth, GPRS или 4G / 3G, а не проводную последовательную связь. OTA используется для перепрограммирования таких устройств, как микроконтроллеры, мобильные телефоны, компьютеры, телевизионные приставки и т. Д. Обновления OTA обычно отправляются для обновления программного обеспечения, устранения ошибок, добавления некоторых функций и т. Д. С увеличением использования устройств IoT OTA передается с использованием полосы частот с низкой скоростью передачи данных (868 МГц, 900 МГц, 2400 МГц).
Здесь, в этом руководстве, мы отправим обновление OTA на ESP8266 NodeMCU, чтобы мигал светодиод.
ESP8266 NodeMCU
NodeMCU - это платформа IoT с открытым исходным кодом. Он включает в себя прошивку, которая работает на недорогой Wi-Fi-совместимой ESP8266 Wi-Fi SoC от Espressif Systems, и аппаратное обеспечение, основанное на модуле ESP-12. Он имеет контакты GPIO, SPI, I2C, ADC, PWM и UART. Его можно запрограммировать с помощью Arduino IDE. На плате NodeMCU есть микросхема CP2102, которая обеспечивает функциональность USB to TTL. Чтобы узнать больше о ESP8266, просмотрите другие проекты на основе ESP8266.
Необходимые компоненты
- NodeMCU ESP8266
- Кабель Micro USB
- IDE Arduino
Подготовка NodeMCU к беспроводному получению обновления OTA
Сначала подключите NodeMCU ESP8266 к ПК с помощью кабеля micro USB. Затем, чтобы загрузить прошивку с помощью OTA, нам нужно последовательно загрузить скетч с помощью micro USB для генерации IP-адреса ESP. Это необходимый шаг для беспроводной загрузки микропрограммы в следующий раз. Выберите последовательный порт, к которому подключен кабель, в Инструменты -> Порт .
ESP8266 поставляется с библиотеками и примерами, к которым можно получить прямой доступ из Arduino IDE. Откройте Arduino IDE, а затем откройте пример BasicOTA.
Отредактируйте эскиз, заменив «your-ssid» и «your-password» своим SSID и паролем Wi-Fi, а затем загрузите эскиз.
Откройте серийный монитор после успешной загрузки программы. Установите скорость передачи 115200 на последовательном мониторе и нажмите кнопку сброса на NodeMCU ESP8266. Подключение NodeMCU ESP8266 к Wi-Fi занимает некоторое время, поскольку он проверяет учетные данные Wi-Fi. Если SSID и пароль верны, NodeMCU ESP8266 подключится к Wi-Fi, и IP-адрес ESP будет отображаться на последовательном мониторе.
ESP8266 Программа мигающего светодиода для OTA Transfer
Полный код для передачи программы мигающего светодиода через OTA приведен в конце, здесь мы объясняем некоторые важные части кода.
Импорт необходимых библиотек - это первый шаг в написании кода. Библиотека ESP8266WiFi.h предоставляет специальные процедуры Wi-Fi для ESP8266, необходимые для подключения к сети. Также он предоставляет методы и свойства для работы ESP8266 в режиме станции или в режиме программной точки доступа. ESP8266mDNS.h позволяет скетчу отвечать на многоадресные запросы DNS.
#включают
Определите переменные для SSID и пароля сети Wi-Fi, к которой должен быть подключен ESP. Мы должны подключить наш компьютер и ESP к одной сети Wi-Fi.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * пароль = STAPSK;
ESP8266 настроен как режим станции, и соединение Wi-Fi инициируется путем ввода учетных данных. Для подключения ESP к модулю Wi-Fi требуется некоторое время. Если SSID и пароль верны, он подключается к Wi-Fi, а если SSID и пароль неверны, он будет перезагружаться каждые 1 секунду.
Serial.begin (115200); // Установите скорость передачи 115200 Serial.println ("Booting"); // Шаг для подключения ESP с Wi-Fi WiFi.mode (WIFI_STA); // Установить ESP как режим станции WiFi.begin (ssid, пароль); // Учетные данные Wi-Fi while (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Подключение ESP к Wi-Fi занимает некоторое время, поэтому подождите, пока он подключится { Serial.println ("Connection Failed! Rebooting…"); задержка (1000); ESP.restart (); }
IP-адрес ESP печатается на последовательном мониторе при подключении к модулю Wi-Fi. WiFi.localIP () дает IP-адрес ESP.
После загрузки кода успешно откройте монитор последовательного порта на скорости 115200 бод. Нажмите кнопку сброса, и через несколько секунд вы сможете увидеть IP-адрес ESP на последовательном мониторе. Теперь вы можете загрузить прошивку по беспроводной сети.
Мигание светодиода на ESP8266 через OTA update
Перед загрузкой следующего скетча перейдите в Инструменты и измените PORT на IP-адрес ESP для беспроводной загрузки прошивки в NodeMCU.
Теперь загрузите приведенный ниже эскиз мигающего светодиода на NodeMCU по беспроводной сети с помощью Arduino IDE и убедитесь, что ваш компьютер и ESP подключены к одной и той же сети Wi-Fi, а ESP питается от какого-либо источника питания.
После успешной загрузки кода светодиод на NodeMCU ESP8266 начнет мигать каждую 1 секунду. Вы также можете установить имя хоста и пароль в скетче для безопасности при загрузке прошивки на ESP.