最小 PlatformIO ESP32 ArduinoOTA 示例

基于我们的最小 PlatformIO ESP8266 ArduinoOTA 示例,这是运行 ArduinoOTA 的 ESP32 程序的最小起点。

minimal_platformio_esp32_arduinoota_example.cpp
#include <Arduino.h>
#include <WiFi.h>
#include <ArduinoOTA.h>


void setup() {
  Serial.begin(115200);
  /**
   * 连接到 Wifi
   */
  WiFi.begin("MyWifi", "abc123abc");
  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();
}

platformio.ini

将以下部分添加到你的 platformio.ini 以启用通过 OTA 刷写以及通过串口刷写:

extends = env:esp32dev

platformio.ini
[env:OTA]
extends = env:esp32dev
upload_protocol = espota
upload_port = 10.19.50.80
upload_flags = --host_port=55910

Check out similar posts by category: ESP8266/ESP32, PlatformIO