admin管理员组文章数量:1567245
做了好多玩意儿,想升级程序还得拆机接串口。很是麻烦。所以就研究了一下云端更新固件。别说真得很好用。分享一下程序过程。给有需要得人。
我不用arduino IDE写程序,敲代码太麻烦。我用Mixly拼程序。哈哈!省事。
第一步,用米思器写拼完程序后,复制到arduino IDE 里导出二进制文件 后缀为bin文件。然后复制到你更新得网址站地址。
然后可以在esp8266添加更新条件。如按钮进行判断更新。如blynk添加按钮更新等等。可以随意控制
以下为图片教程+测试源码
程序使用方法为:下载到esp8266后,在串口调试窗口输入“R” 点发送 即可触发更新固件函数。更新状态串口输出
米思器测试程序图
测试源代码:
#include <ESP8266httpUpdate.h>
#include <ESP8266WiFi.h>
String data;
String updateUrl;
void update() {
WiFiClient client;
ESPhttpUpdate.setLedPin(LED_BUILTIN, LOW);
ESPhttpUpdate.onStart(update_started);
ESPhttpUpdate.onEnd(update_finished);
ESPhttpUpdate.onProgress(update_progress);
ESPhttpUpdate.onError(update_error);
t_httpUpdate_return ret = ESPhttpUpdate.update(client, updateUrl);
}
void update_error(int err) {
Serial.print(String(" HTTP 升级固件错误或失败!") + String(err));
}
void update_progress(int cur, int totaol) {
Serial.println(String(String(String(String("正在更新文件") + String(cur)) + String("bit")) + String(totaol)) + String("bytes"));
}
void update_finished() {
Serial.println("恭喜你,更新固件成功!系统将会重新启动!");
}
void update_started() {
Serial.println("开始更新固件");
}
void shibai() {
Serial.println("联网失败!请配网");
}
void setup(){
data = "";
updateUrl = "http://www.lnwqh.xyz:8066/update/update.bin";
Serial.begin(115200);
WiFi.mode(WIFI_STA);
int cnt = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (cnt++ >= 10){
WiFi.beginSmartConfig();
while (1) {
delay(1000);
if (WiFi.smartConfigDone()) {
Serial.println();
Serial.println("SmartConfig: Success");
break;
}
Serial.print("|");
shibai();//无判断条件:可不创建函数。加判断条件:请创建shibai();。
}
}
}
WiFi.printDiag(Serial);
Serial.println(WiFi.localIP());
Serial.println("网络配置成功。可以上网啦!");
}
void loop(){
if (Serial.available() > 0) {
data = Serial.readString();
if (data == "R") {
update();
}
}
}
有问题留言或加公众号。希望志同道合的伙伴加入
让我们一起学习一起进步。嗨起来!哈哈哈
本文标签: 固件OTAwifiupdate
版权声明:本文标题:esp8266 OTA 云远程更新固件 wifiupdate 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1725866537a1045776.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论