esp8266 OTA 云远程更新固件 wifiupdate

4 篇文章 0 订阅
2 篇文章 0 订阅

做了好多玩意儿,想升级程序还得拆机接串口。很是麻烦。所以就研究了一下云端更新固件。别说真得很好用。分享一下程序过程。给有需要得人。

我不用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();

    }

  }

}

有问题留言或加公众号。希望志同道合的伙伴加入
让我们一起学习一起进步。嗨起来!哈哈哈

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琢磨侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值