最小 PlatformIO ESP8266 ArduinoOTA 示例
此简单固件将连接到 Wifi 并在任何 ESP8266 模块上使用 ArduinoOTA 启用空中更新 (OTA)。将其作为你自己的固件的起点以启用 OTA。
minimal_arduinoota_example.cpp
#include <Arduino.h>
#include <ArduinoOTA.h>
#include <ESP8266WiFi.h>
void setup() {
Serial.begin(115200);
/**
* 连接到 Wifi
*/
WiFi.begin("MyWifiSSID", "MyWifiPassword");
uint32_t notConnectedCounter = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println("Wifi 连接中...");
notConnectedCounter++;
if(notConnectedCounter > 150) { // 15 秒后未连接则重置板
Serial.println("由于 Wifi 未连接而重置...");
ESP.restart();
}
}
Serial.print("Wifi 已连接,IP 地址:");
Serial.println(WiFi.localIP());
/**
* 启用 OTA 更新
*/
ArduinoOTA.begin();
}
void loop() {
// 检查空中更新请求并(如果存在)刷写它
ArduinoOTA.handle();
}extends = env:d1_mini
platformio.ini
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
monitor_speed = 115200
[env:d1_mini_ota]
extends = env:d1_mini
upload_protocol = espota
upload_port = 192.168.178.166有关两个目标(d1_mini 和 d1_mini_ota)如何工作的更多详细信息,请参见如何在 platformio.ini 中同时处理 OTA 和串行上传。注意你需要输入 ESP8266 的 IP 地址或 mDNS 名称才能使 OTA 工作。
固件将在串口上打印 Wifi IP 地址,因此你可以使用 PlatformIO 的 Monitor 功能查看它。
Check out similar posts by category:
Electronics, Embedded, ESP8266/ESP32, PlatformIO
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow