使用MQTT块在ThingSpeak上发布和订阅消息
这个例子展示了如何使用Simulink®支持包为树莓派™硬件在Thi金宝appngSpe金宝appak™MQTT代理中从树莓派发布消息到主题。这个例子还展示了如何订阅一个主题,并从ThingSpeak MQTT代理接收到树莓派的消息。有关MQTT协议的更多信息,请参见MQTT基础知识而且发布MQTT消息并订阅消息主题.在这个例子中,ThingSpeak是MQTT代理,树莓派板是MQTT客户端(发布者和订阅者)。
先决条件
有关如何使用Raspberry Pi硬件的Simulink支持包在Ra金宝appspbe金宝apprry Pi上运行Simulink模型的详细信息,请参见树莓派硬件的Simulink支持包入门金宝app金宝app.
有关MQTT协议的更多信息,请参见发布MQTT消息并订阅消息主题.
所需的硬件
树莓派硬件
Micro USB数据线
硬件设置
将micro USB线缆连接到树莓派硬件的micro USB接口。
将USB线的另一端连接到主机上。
将树莓派的以太网口连接至局域网。
配置发布MQTT消息Simulink模型金宝app
此支持包提金宝app供了一个预配置的Simulink模型,该模型使用MQTT Publish块。金宝app这个块接受一个数据类型uint8的消息,该消息将被发布到broker。
open_system (“raspberrypi_MQTT_publish”)
的“块参数”对话框中配置MQTT发布块。
设置树莓派发布消息的主题。主题必须使用以下格式:
渠道/ < channelID > /发布/字段/字段< fieldNumber >
.集QoS来
0
.ThingSpeak MQTT代理只支持QoS 0。金宝app
在模型中,MQTT Publish块的输出被标记为日志记录。有关日志信号的信息,请参见标记一个测井信号.
配置订阅MQTT消息Simulink模型金宝app
此支持包提金宝app供了一个预配置的Simulink模型,该模型使用MQTT订阅块。金宝app此块接收来自主题的MQTT代理的消息。
open_system (“raspberrypi_MQTT_subscribe”)
的“块参数”对话框中配置MQTT订阅块。
设置树莓派订阅的消息主题。主题必须使用以下格式:
渠道/ < channelID > /订阅/字段字段< fieldNumber >
.集QoS来
0
.ThingSpeak MQTT代理只支持QoS 0。金宝app集消息长度(N)来
1
.
在模型中,MQTT Subscribe块的输出被标记为日志记录。有关日志信号的信息,请参见标记一个测井信号.
创建ThingSpeak设备
对信道的MQTT访问,包括凭据,由ThingSpeak MQTT设备处理。您的设备配置了MQTT客户端与ThingSpeak通信以及授权特定通道所需的凭据。有关如何创建MQTT设备的详细信息,请参见创建一个ThingSpeak MQTT设备.
配置Simulink模型的MQTT参数金宝app
在订阅MQTT消息和发布MQTT消息Simulink模型中配置这些参数。金宝app
在Simuli金宝appnk模型中,在硬件选项卡上,单击模型设置打开“配置参数”对话框。
选择硬件实现并设置硬件板参数
覆盆子π
.下目标硬件资源,在集团部分中,选择MQTT.有关如何配置MQTT属性的详细信息,请参见MQTT.在创建ThingSpeak MQTT设备时使用与设置相同的参数。
在外部模式节,保证通信接口设置为
TCP/IP上的XCP
.
在树莓派上部署发布MQTT消息Simulink模型金宝app
在硬件项中的“发布MQTT消息Simulink模型”选项卡金宝app模式部分中,选择在船上跑,然后按构建、部署和启动.模型窗口的左下角显示了Simulink在树莓派上准备、下载和运行模型时的状态。金宝app该模型作为独立应用程序部署在树莓派上。模型成功部署后,树莓派将消息发布到字段1ThingSpeak MQTT代理的。
若要查看代理上发布的消息,请选择To渠道>我的频道,然后单击消息发布的频道。
在外部模式下运行订阅MQTT消息Simulink模型(金宝app监视和调优)
在Publish MQTT Message Simuli金宝appnk模型中,将仿真停止时间设置为
正
.的输出进行标记,以监视模拟过程中参数调优的效果
MQTT发布
用于日志记录的块。金宝appSimulink为记录的信号显示一个记录信号指示器。有关更多信息,请参见标记一个测井信号.在硬件选项卡中的Simuli金宝appnk模型模式部分中,选择在船上跑,然后按监视和调优.模型窗口的左下角显示了Simulink在树莓派上准备、下载和运行模型时的状态。金宝app模型成功开始运行后,树莓派订阅字段1ThingSpeak的MQTT代理,并接收消息。的
Display_Message
块显示接收到的消息。当新的仿真数据在仿真数据检查器(SDI)中可用时,“仿真数据检查器”按钮将高亮显示。在模拟过程中,更改要发布的值,并观察中显示的新值
Display_Message
块。单击“仿真数据检查器”按钮,检查和比较来自多个仿真的数据,以验证模型设计。有关SDI的更多信息,请参见分析仿真结果.
在您对结果感到满意之后,禁用外部模式,并保存模型。