- Ano ang Programming ng OTA?
- ESP8266 NodeMCU
- Kinakailangan ang Mga Bahagi
- Paghahanda ng NodeMCU upang makatanggap ng OTA Update Wirelessly
- Ang programa ng ESP8266 Blinking LED para sa OTA Transfer
- Pinapikit ang LED sa ESP8266 sa pamamagitan ng pag-update ng OTA
Ano ang Programming ng OTA?
Ang OTA Programming (Over the Air) ay isang proseso na nagpapahintulot sa mga aparato na i-upgrade ang kanilang firmware o software nang wireless nang walang pisikal na pag-access. Gumagamit ito ng wireless na teknolohiya tulad ng Wi-Fi, Bluetooth, GPRS o 4G / 3G kaysa sa wired na serial na komunikasyon. Ginagamit ang OTA upang muling pagprogram ng mga aparato tulad ng microcontrollers, cellphone, computer, set-top box atbp. Ang mga pag- update ng OTA sa pangkalahatan ay ipinadala para sa pag-update ng software, paglutas ng mga bug, pagdaragdag ng ilang mga tampok atbp Sa pagdaragdag ng paggamit ng mga IoT device OTA ay inililipat gamit dalas ng mga banda na may mababang rate ng paghahatid ng data (868 MHz, 900 MHz, 2400 MHz).
Dito sa tutorial na ito, magpapadala kami ng pag- update ng OTA sa ESP8266 NodeMCU upang magpikit ng isang LED.
ESP8266 NodeMCU
Ang NodeMCU ay isang bukas na mapagkukunan ng IoT platform. Kasama rito ang firmware na tumatakbo sa murang gastos na pinagana ng Wi-Fi sa ESP8266 Wi-Fi SoC mula sa Espressif Systems, at hardware na batay sa module na ESP-12. Mayroon itong GPIO, SPI, I2C, ADC, PWM AT UART na mga pin. Maaari itong mai-program sa Arduino IDE. Sa board NodeMCU ay may CP2102 IC na nagbibigay ng pag-andar ng USB sa TTL. Upang matuto nang higit pa tungkol sa ESP8266, suriin ang iba pang mga proyekto na nakabatay sa ESP8266.
Kinakailangan ang Mga Bahagi
- NodeMCU ESP8266
- Micro USB Cable
- Arduino IDE
Paghahanda ng NodeMCU upang makatanggap ng OTA Update Wirelessly
Ikonekta muna ang NodeMCU ESP8266 sa PC gamit ang micro USB cable. Pagkatapos, upang mai-upload ang firmware gamit ang OTA, kailangan naming i-upload ang sketch nang serial gamit ang micro USB upang mabuo ang ESP IP address. Ito ang kinakailangang hakbang upang mai-upload ang firmware nang wireless sa susunod. Piliin ang serial port kung aling cable ang nakakabit mula sa Tools -> Port .
Ang ESP8266 ay mayroong mga aklatan at halimbawa na maaaring direktang ma-access mula sa Arduino IDE. Buksan ang Arduino IDE at pagkatapos ay buksan ang halimbawa ng BasicOTA.
I-edit ang sketch sa pamamagitan ng pagpapalit ng "iyong-ssid" at "iyong-password" ng iyong Wi-Fi SSID at password at pagkatapos ay i-upload ang sketch
Buksan ang serial monitor pagkatapos ng matagumpay na pag-upload ng programa. Itakda ang Baud Rate na 115200 sa Serial Monitor at pindutin ang I-reset ang pindutan sa NodeMCU ESP8266. Ang pagkonekta sa NodeMCU ESP8266 sa Wi-Fi ay tumatagal ng ilang oras habang sinusuri nito ang mga kredensyal ng Wi-Fi. Kung tama ang SSID at password kung gayon ang NodeMCU ESP8266 ay makakonekta sa Wi-Fi at ang IP address ng ESP ay ipapakita sa serial monitor.
Ang programa ng ESP8266 Blinking LED para sa OTA Transfer
Ang kumpletong code para sa paglilipat ng kumikislap na LED na programa sa pamamagitan ng OTA ay ibinibigay sa dulo, narito ipinapaliwanag namin ang ilang mahalagang bahagi ng code.
Ang pag-import ng kinakailangang mga aklatan ay ang unang hakbang sa pagsulat ng code. Nagbibigay ang library ng ESP8266WiFi.h ng tukoy na mga gawain sa Wi-Fi ng ESP8266 na kinakailangan upang kumonekta sa isang network. Nagbibigay din ito ng mga pamamaraan at pag-aari upang mapatakbo ang ESP8266 sa mode ng istasyon o mode na soft access point. Pinapayagan ng ESP8266mDNS.h ang sketch na tumugon sa mga multicast na query sa DNS.
# isama
Tukuyin ang mga variable para sa SSID at password ng Wi-Fi network kung saan makakonekta ang ESP. Kailangan naming ikonekta ang aming PC at ESP sa parehong Wi-Fi network.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID; const char * password = STAPSK;
Ang ESP8266 ay itinakda bilang mode ng istasyon at ang koneksyon sa Wi-Fi ay sinimulan sa pamamagitan ng pagbibigay ng mga kredensyal. Ito ay tumatagal ng ilang oras para sa ESP upang kumonekta sa Wi-Fi module. Kung tama ang SSID at password nakakakonekta ito sa Wi-Fi at kung hindi tama ang SSID at password pagkatapos ay magre-reboot ito sa bawat 1 segundo.
Serial.begin (115200); // Itakda ang Baud Rate sa 115200 Serial.println ("Booting"); // Hakbang upang ikonekta ang ESP sa Wi-Fi WiFi.mode (WIFI_STA); // Itakda ang ESP bilang istasyon mode WiFi.begin (ssid, password); // Wi-Fi Credentials habang (WiFi.waitForConnectResult ()! = WL_CONNected) // Ang pagkonekta sa ESP sa wi-fi ay tumatagal ng ilang oras, kaya maghintay hanggang sa makakonekta ito { Serial.println ("Nabigo ang Koneksyon! Rebooting…"); pagkaantala (1000); ESP. restart (); }
Ang IP address ng ESP ay nakalimbag sa serial monitor bilang pagkonekta sa module ng Wi-Fi. Ibinibigay ng WiFi.localIP () ang IP address ng ESP.
Matapos ang pag-upload ng code matagumpay na buksan ang serial monitor sa 115200 Baud Rate. Pindutin ang pindutan ng pag-reset at pagkatapos ng ilang segundo ay makikita mo ang ESP IP address sa Serial Monitor. Ngayon ay magagawa mong i-upload ang firmware nang wireless.
Pinapikit ang LED sa ESP8266 sa pamamagitan ng pag-update ng OTA
Bago i-upload ang susunod na sketch pumunta sa Mga Tool at baguhin ang PORT sa ESP IP address para sa pag-upload ng firmware nang wireless sa NodeMCU.
Ngayon i-upload ang ibinigay na sketch ng kumukurap na LED sa NodeMCU nang walang wireless gamit ang Arduino IDE at tiyaking nakakonekta ang iyong PC at ESP sa parehong Wi-Fi network at ang ESP ay pinalakas ng ilang mapagkukunan ng kuryente.
Matapos ang matagumpay na pag-upload ng code, ang LED sa NodeMCU ESP8266 ay magsisimulang kumukurap bawat 1 segundo. Maaari mo ring itakda ang pangalan ng host at password sa sketch para sa seguridad habang ina-upload ang firmware sa ESP.