- Какво е OTA програмиране?
- ESP8266 NodeMCU
- Необходими компоненти
- Подготовка на NodeMCU за безжично получаване на OTA актуализация
- ESP8266 Мигаща LED програма за OTA трансфер
- Мига LED на ESP8266 чрез OTA актуализация
Какво е OTA програмиране?
Програмирането на OTA (по въздуха) е процес, който позволява на устройствата да надстройват своя фърмуер или софтуер безжично, без физически достъп. Той използва безжична технология като Wi-Fi, Bluetooth, GPRS или 4G / 3G, вместо кабелна серийна комуникация. OTA се използва за препрограмиране на устройства като микроконтролери, мобилни телефони, компютри, декодери и т.н. OTA актуализациите обикновено се изпращат за актуализиране на софтуера, отстраняване на грешки, добавяне на някои функции и т.н. С нарастващото използване на IoT устройства OTA се прехвърля чрез честотни ленти с ниска скорост на предаване на данни (868 MHz, 900 MHz, 2400 MHz).
Тук в този урок ще изпратим 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 IC, който осигурява USB към TTL функционалност. За да научите повече за ESP8266, проверете други проекти, базирани на ESP8266.
Необходими компоненти
- NodeMCU ESP8266
- Микро USB кабел
- IDE на Arduino
Подготовка на NodeMCU за безжично получаване на OTA актуализация
Първо свържете NodeMCU ESP8266 с компютъра с помощта на микро USB кабел. След това, за да качим фърмуера с помощта на OTA, трябва да качим скицата последователно, използвайки micro USB, за да генерираме IP адреса на ESP. Това е необходимата стъпка за следващо качване на фърмуера безжично. Изберете серийния порт, към който е прикрепен кабелът, от Инструменти -> Порт .
ESP8266 се предлага с библиотеки и примери, които могат да бъдат директно достъпни от Arduino IDE. Отворете Arduino IDE и след това отворете пример BasicOTA.
Редактирайте скицата, като замените “your-ssid” и “your-password” от вашия Wi-Fi SSID и парола и след това качете скицата
Отворете серийния монитор след успешно качване на програмата. Задайте скорост на предаване от 115200 на сериен монитор и натиснете бутона за нулиране на NodeMCU ESP8266. Свързването на NodeMCU ESP8266 с Wi-Fi отнема известно време, докато проверява идентификационните данни за Wi-Fi. Ако SSID и паролата са правилни, тогава NodeMCU ESP8266 ще се свърже с Wi-Fi и IP адресът на ESP ще се покаже на серийния монитор.
ESP8266 Мигаща LED програма за OTA трансфер
Пълният код за прехвърляне на мигащата светодиодна програма чрез OTA е даден в края, тук обясняваме някои важни части от кода.
Импортирането на необходимите библиотеки е първата стъпка при писане на кода. Библиотеката ESP8266WiFi.h предоставя специфични за ESP8266 Wi-Fi подпрограми, необходими за свързване към мрежа. Също така предоставя методи и свойства за работа с ESP8266 в режим на станция или режим на мека точка за достъп. ESP8266mDNS.h позволява скица да отговаря на многоадресни DNS заявки.
#include
Дефинирайте променливи за 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 ("Стартиране"); // Стъпка за свързване на ESP с Wi-Fi WiFi.mode (WIFI_STA); // Задайте ESP като режим на станция WiFi.begin (ssid, парола); // Wi-Fi идентификационни данни докато (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Свързването на ESP с wi-fi отнема известно време, така че изчакайте, докато се свърже { Serial.println ("Свързването не бе успешно! Рестартиране…"); забавяне (1000); ESP.restart (); }
IP адресът на ESP се отпечатва на серийния монитор като свързване към Wi-Fi модула. WiFi.localIP () дава IP адреса на ESP.
След качването на кода успешно отворете сериен монитор със скорост 115200 бод. Натиснете бутона за нулиране и след няколко секунди ще можете да видите IP адреса на ESP на серийния монитор. Сега ще можете да качите фърмуера безжично.
Мига LED на ESP8266 чрез OTA актуализация
Преди да качите следващата скица, отидете на Инструменти и променете PORT на ESP IP адрес за безжично качване на фърмуера в NodeMCU.
Сега качете посочената по-долу скица на мигащ светодиод на NodeMCU безжично с помощта на Arduino IDE и се уверете, че вашият компютър и ESP са свързани към една и съща Wi-Fi мрежа и ESP се захранва от някакъв източник на захранване.
След като качете кода успешно, светодиодът на NodeMCU ESP8266 ще започне да мига на всеки 1 секунда. Можете също така да зададете име и парола на хоста в скицата за сигурност, докато качвате фърмуер на ESP.