美文网首页
ESP8266在线升级OTA的Arduino IDE实现方法之W

ESP8266在线升级OTA的Arduino IDE实现方法之W

作者: interboy | 来源:发表于2019-07-11 11:28 被阅读0次

    1 安装及配置Arduino IDE开发ESP8266的环境

    参考《如何利用Arduino IDE开发ESP8266程序?》https://www.jianshu.com/p/d236f8983871

    2 利用WebServer上传文件实现OTA

    2.1 修改sample代码

    在【File】-【Examples】-【ESP8266HttpWebServer】下,打开WebUpdater工程。
    修改代码中的宏值为本地的WiFi信息

    #define STASSID "your-ssid"
    #define STAPSK  "your-password"
    

    并对原demo中几处做出修改,如:Wifi改为STA模式,建立WiFi链接是增加等待避免重复链接,删除MDNS等。
    完整代码参考如下:

    /*
      An OTA sample for ESP8266 by Victor.Cheung
    */
    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>
    #include <ESP8266HTTPUpdateServer.h>
    
    #ifndef STASSID
    #define STASSID "your-ssid"
    #define STAPSK  "your-password"
    #endif
    
    const char* ssid = STASSID;
    const char* password = STAPSK;
    
    ESP8266WebServer httpServer(80);
    ESP8266HTTPUpdateServer httpUpdater;
    
    void setup(void) {
    
      Serial.begin(115200);
      Serial.println();
      Serial.println("Booting Sketch...");
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);
    
      Serial.print("Connecting...");
      while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(300);
      }
    
      Serial.println();
    
      httpUpdater.setup(&httpServer);
      httpServer.begin();
    
      Serial.print("HTTPUpdateServer ready! Open http://");
      Serial.print(WiFi.localIP());
      Serial.println("/update in your browser");
    }
    
    void loop(void) 
    {
      httpServer.handleClient();
    }
    

    2.2 获取bin文件

    在IDE配置中启用compilation输出信息。


    启用compilation

    编译后,可以在输出信息的窗口中最后一行看到一个临时目录。


    获取文件目录

    在此目录下,可以找到WebUpdater.ino.bin文件。

    2.3 运行

    COM输出log如下:


    log

    2.4上传bin文件

    使用Chrome打开URL后,可以上传bin文件。


    image.png

    上传成功后,开发板会自动重启,OTA完成。


    OTA成功

    ESP8266相关文章阅读

    《利用USB转TTL链接mini ESP8266进行开发和调试》 https://www.jianshu.com/p/2207a44dedc5
    《ESP8266在线升级OTA的Arduino IDE实现方法之WebServer》 https://www.jianshu.com/p/b54b18f56d6a
    《ESP8266串口数据错误不准确问题的解决》https://www.jianshu.com/p/7ddefcfc2acd
    《如何利用Arduino IDE开发ESP8266程序?》https://www.jianshu.com/p/d236f8983871
    《将ESP8266通过MQTT协议链接阿里云IoT物联网平台》 https://www.jianshu.com/p/4d6e216c2280

    相关文章

      网友评论

          本文标题:ESP8266在线升级OTA的Arduino IDE实现方法之W

          本文链接:https://www.haomeiwen.com/subject/zgfrkctx.html