乐鑫技术交流
直播中

颜立歆

7年用户 934经验值
擅长:控制/MCU
私信 关注
[问答]

使用OTA在mDNS中不起作用的原因?

我设法让基本的 OTA 示例代码在带有自​​定义分线板的 ESP-07 上运行,并且我可以轻松地通过我们的本地网络刷新我自己的固件。然后我尝试将代码刷写到其他一些板上,但我没有成功。固件的其余部分工作 - 我正在使用 MQTT 传输传感器数据,因此我可以连接到我们的 WiFi 和 MQTT 代理等。OTA 不起作用。
我正在使用 platformio,我的 ini 是:
代码:全选[env:esp07]
platform = espressif8266
board = esp07
framework = arduino
upload_port = COM16
upload_speed = 115200
build_flags = -Wl,-Tesp8266.flash.1m64.ld

monitor_port = COM16
monitor_baud = 115200

OTA 设置代码如下。其余代码有效,所以我认为问题出在这里:
代码:全选void configure_OTA()
{
  /** OTA CONFIG **/
  ArduinoOTA.onStart([]() {
    String type;
    if (ArduinoOTA.getCommand() == U_FLASH)
      type = "sketch";
    else // U_SPIFFS
      type = "filesystem";

    // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
    Serial.println("Start updating " + type);
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR)
      Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR)
      Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR)
      Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR)
      Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR)
      Serial.println("End Failed");
  });

  // Should be default, but let's be explicit.
  String chip_id = String(system_get_chip_id());
  String hostname = "sensor_" + chip_id;

  ArduinoOTA.setHostname(hostname.c_str());
  ArduinoOTA.setPassword("my_password");
  ArduinoOTA.setPort(8266);

  ArduinoOTA.begin();

  Serial.println("OTA setup");
  /** OTA CONFIG **/
}

这不起作用,即使使用 Basic OTA 示例也是如此。芯片在启动时输出如下内容:
代码:全选Chip ID:4266305
Connecting.......Ready
IP address: 192.168.1.6
4266305: Trying to connect to MQQT Broker
4266305: Connected to MQTT Broker

更多回帖

发帖
×
20
完善资料,
赚取积分