13.5.9 “Upgrade”按钮的操作
点击下图所示的“Upgrade”按钮时:
会弹出如下页面:
上图所示页面在如下代码中使用“file_explorer_upgrade_page_init”函数创建,但是平时是隐藏的:
“file_explorer_upgrade_page_init”函数的机制跟“add_new_item”是类似的,不再赘述。它的页面里有一个“Upgrade”按钮,对应的回调函数是“file_explorer_upgrade_btn_event_handler”,代码如下:
“file_explorer_upgrade_btn_event_handler”函数里,功能如下图所示:
在定时器函数“update_progress_timer”里面,使用RPC调用获得升级进度,代码如下:
13.5.10 “MQTT Setting”按钮的操作
点击下图所示的“MQTT Setting”按钮时:
会弹出如下页面:
上图所示页面在如下代码中使用“mqtt_conf_page_init”函数创建,但是平时是隐藏的:
“mqtt_conf_page_init”函数的机制跟“add_new_item”是类似的,不再赘述。它的页面里有一个“OK”按钮,对应的回调函数是“mqtt_opt_btn_event_handler”,代码如下:
“mqtt_opt_btn_event_handler”函数里,功能如下图所示:
13.5.11 实现Modbus数据可视化
对于每个点,它的界面里右边是“数据可视化”区域,它被称为“chart”:
在“add_new_item”函数中,如下创建chart:
在“读点”’的函数里,读到点的值后,会去更新chart数据。前面分析过,是在“btn_send_event_handler”函数里读点的,也会在里面更新chart数据,代码如下:
13.6 MQTT开发基础
13.6.1 MQTT概述
MQTT协议全称是Message Queuing Telemetry Transport,即“消息队列遥测传输协议”,它是物联网常用的应用层协议,运行在TCP/IP中的应用层中,依赖TCP协议,因此它具有非常高的可靠性。同时它是基于TCP协议的“客户端-服务器”模型发布/订阅主题消息的轻量级协议。
MQTT协议提供一对多的消息发布,可以降低应用程序的耦合性,用户只需要编写极少量的应用代码就能完成一对多的消息发布与订阅,该协议是基于“客户端-服务器”模型,在协议中主要有三种身份:发布者(Publisher)、服务器(Broker)以及订阅者(Subscriber)。其中,MQTT消息的发布者和订阅者都是客户端,服务器只是作为一个中转的存在,将发布者发布的消息进行转发给所有订阅该主题的订阅者;发布者可以发布在其权限之内的所有主题,并且消息发布者可以同时是订阅者,实现了生产者与消费者的脱耦,发布的消息可以同时被多个订阅者订阅。
MQTT通信模型示意图如下:
MQTT客户端的功能:
①发布消息给其它相关的客户端。
②订阅主题请求接收相关的应用消息。
③取消订阅主题请求移除接收应用消息。
④从服务端终止连接。
MQTT服务器常被称为Broker(消息代理),以是一个应用程序或一台设备,它一般为云服务器,比如BTA三巨头的一些物联网平台就是常使用MQTT协议,它是位于消息发布者和订阅者之间,以便用于接收消息并发送到订阅者之中,它的功能有:
①接受来自客户端的网络连接请求。
②接受客户端发布的应用消息。
③处理客户端的订阅和取消订阅请求。
④转发应用消息给符合条件的已订阅客户端(包括发布者自身)。
需要产品及方案支持
请扫码登记
如您在使用瑞萨MCU/MPU产品中有任何问题,可识别下方二维码或复制网址到浏览器中打开,进入瑞萨技术论坛寻找答案或获取在线技术支持。
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
未完待续
推荐阅读
框架设计 - RZ MPU工业控制教程连载(48)
LVGL相关与JSON-RPC相关 - RZ MPU工业控制教程连载(49)
后台程序开发相关操作 - RZ MPU工业控制教程连载(50)
需要产品及方案支持
请扫码登记