本文共 1567 字,大约阅读时间需要 5 分钟。
ESP8266的浏览器更新的过程是这样的
ESP8266HTTPUpdateServer
)先刷入以下代码
/**/* To upload through terminal you can use: curl -F "image=@firmware.bin" esp8266-webupdate.local/update*/#include#include #include #include #include const char* host = "esp8266-webupdate";const char* ssid = "........";const char* password = "........";ESP8266WebServer httpServer(80);ESP8266HTTPUpdateServer httpUpdater;void setup(void) { Serial.begin(115200); Serial.println(); Serial.println("Booting Sketch..."); WiFi.mode(WIFI_AP_STA); WiFi.begin(ssid, password); while(WiFi.waitForConnectResult() != WL_CONNECTED){ WiFi.begin(ssid, password); Serial.println("WiFi failed, retrying."); } MDNS.begin(host); httpUpdater.setup(&httpServer); httpServer.begin(); MDNS.addService("http", "tcp", 80); Serial.printf("HTTPUpdateServer ready! Open http://%s.local/update in your browser\n", host);}void loop(void){ httpServer.handleClient();}
然后在偏好设置中的Show verbose output dump选项中选中"Complation"
当固件刷新后,打开串口调试器就可以看到OTA的更新页面的地址:
直接在浏览器打开该地址:
是不是很丑?而且你是无法进行任何的美化的!
对代码进行编译,在最后就会出现便宜后的二进制格式的固件更新文件:
回到浏览器点击"Choose file" 按钮就可以将固件上传到ESP8266中去:
更新结束。
这种更新模式其实只适用于在开发期的一些应急的场景,例如:ESP8266已安装到原型机或者产品内且
这种更新界面是无法提供给最终用户使用的,因为要进行固件更新的话用户得先获得固件的文件,然后还得通过一个非常丑的Web页面将文件上传上去。所以说这种方式只能给开发人员在应急的情况下将就地用一下。
转载地址:http://czdeo.baihongyu.com/