{PLC,IOT}>ESP32 项目实践——远程升级

一、远程升级是大部分设备软件的基本要求

        基于两种常见的现实原因,远程升级功能成为当下物联网设备软件(或者其他民用设备软件)的基本要求。

        1、赶进度完成实施的项目,在系统运行的初期,会暴露出一些问题,需要修改设计解决。

        2、成熟运行的系统,随着使用环境或者应用需求的变化,需要更改原来的设计以适应变化。

        通过远程升级将已经部署到工作现场的设备软件更新为最新状态,可以节省大量的时间和费用。另外,有些项目的设备安装环境对人并不友好,例如污水处理相关项目等,利用网络实现远程升级,对于确保操作人员的安全至关重要。

二、{PLC,IOT}>ESP32 远程升级

        {PLC,IOT}>ESP32内置了 远程升级功能,并且建议使用者把远程升级功能作为应用项目的默认支持选项。

2.1 使用项目配置变量设置远程升级参数

        {PLC,IOT}>ESP32 远程升级功能包含应用程序升级和平台固件升级,在应用项目的配置变量中添加对应的字符串变量,字符串的初始值指定启动升级的配置参数。

       其中  'UPGRADE_CONFIG@[UP_TR,SVR]' 配置了应用程序升级的参数,UP_TR是升级行为的触发信号(BOOL类型,上升沿触发升级)变量,SVR 是指定远程升级应用程序文件的URL字符串变量,这两个变量必须是应用程序中的局部变量。

       'OTA_CONFIG@[OTA_TR,SVR]'配置了平台固件升级的参数,OTA_TR是升级行为的触发信号(BOOL类型,上升沿触发升级)变量,SVR 是指定远程升级平台固件文件的URL字符串变量,这两个变量必须是应用程序中的局部变量。

2.2 在应用程序中使用MQTT启动远程升级

       在项目设计中,添加POU实现远程升级。

       这个设计让PLC应用程序订阅'cn.mqtt.eweaving.tech' MQTT服务器的'upgrade'主题,如果接收到的消息和消息模板'UP:[@UP_TR],OTA:[@OTA_TR],SVR:[@SVR]'能够匹配,就会对UP_TR、OTA_TR 和 SVR 赋值,平台固件检测到触发信号的上升沿,就启动执行远程升级的过程。

2.3 远程升级服务端的部署

      服务端需要部署一个HTTP服务器程序,开放一个HTTP端口,将要升级的程序文件存放在HTTP的工作目录下,可以用网页浏览器下载程序文件。例如,用一台电脑(IP地址是192.168.31.155),启动开发平台自带的   plc-remote-debug-server.exe  作为 HTTP服务器程序,开放的HTTP端口是21207,在plc-remote-debug-server.exe 的工作目录下 \html 存放升级程序文件为 A.BIN。

2.4 使用MQTT客户端发送消息触发远程升级

      使用 MQTTX客户端程序,连接到mqtt服务器,向upgrade主题发送消息

UP:TRUE,OTA:FALSE,SVR:http://192.168.31.155:21207/html/A.bin, 就可以触发PLC从服务器(IP地址是192.168.31.155)获取升级程序文件A.bin,并且更新现有的应用程序。

      向upgrade主题发送消息UP:FALSE,OTA:TRUE,SVR:https://192.168.31.155:21207/ESP32PLC/OTA,就可以触发PLC从服务器获取平台固件的升级文件。

三、快速使用

        在开发平台软件打开扩展的调试界面,点击【参考设计】,可以看到对应的参考设计介绍,点击【拷贝】,即可在设计中复制示例中的程序。

四、代码下载

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值