基于 arduino开发的esp8266 经过阿里云实现固件升级

简介:html

  既然是固件升级那么要求咱们必需要每一个固件指定一个版本,固然这个东西还不能只有你本身知道,你还要将这个版本信息经过 发布PUB 的方式让别人知道;而后再说说更新这回事,其实就是阿里云那边为你准备一个固件的下载连接,你要作的就是经过他所指定的方法获取该固件的URL,再经过你系统只带的 HttpUpdate 的方式,进行升级就能够了,这时候要注意的就是版本号咯,版本号也是要跟着改变的撒。函数

 

代码实现:阿里云

第一步:指定版本号,及 device/inform 这个 Topicurl

#define ALINK_OTA_BODY_FORMAT     "{\"id\":\"123\",\"params\":{\"version\": \"1.0.1\"}}"
#define ALINK_OTA_TOPIC_PROP_POST "/ota/device/inform/" PRODUCT_KEY "/" DEVICE_NAME

第二步:在以前的心跳位置,加入上报版本的信息spa

boolean ota = client.publish(ALINK_OTA_TOPIC_PROP_POST, ALINK_OTA_BODY_FORMAT);

第三步:订阅升级先关的 Topic,不然收不到系统下发的升级信息.net

#define ALINK_TOPIC_OTA_UPGRADE "/ota/device/upgrade/" PRODUCT_KEY "/" DEVICE_NAME client.subscribe(ALINK_TOPIC_OTA_UPGRADE); /* 订阅升级操做的 Topic 这个写在 setup 函数中就能够 */

第四步:接收更新信息,并升级固件code

// 接收到固件更新相关的 Topic 的时候进行相关的操做
WiFiClient client; update_url.replace("https://", "http://"); /* 简化操做,替换成 HTTP 协议 */ t_httpUpdate_return ret = ESPhttpUpdate.update(client, update_url);

 

参考资料设备端orm

参考资料控制台htm

相关文章
相关标签/搜索