主要内容

使用MQTT块在ThingSpeak上发布和订阅消息

这个例子展示了如何使用Simulink®支持包为树莓派™硬件在Thi金宝appngSpe金宝appak™MQTT代理中从树莓派发布消息到主题。这个例子还展示了如何订阅一个主题,并从ThingSpeak MQTT代理接收到树莓派的消息。有关MQTT协议的更多信息,请参见MQTT基础知识而且发布MQTT消息并订阅消息主题.在这个例子中,ThingSpeak是MQTT代理,树莓派板是MQTT客户端(发布者和订阅者)。

先决条件

所需的硬件

  • 树莓派硬件

  • Micro USB数据线

硬件设置

  1. 将micro USB线缆连接到树莓派硬件的micro USB接口。

  2. 将USB线的另一端连接到主机上。

  3. 将树莓派的以太网口连接至局域网。

配置发布MQTT消息Simulink模型金宝app

此支持包提金宝app供了一个预配置的Simulink模型,该模型使用MQTT Publish块。金宝app这个块接受一个数据类型uint8的消息,该消息将被发布到broker。

open_system (“raspberrypi_MQTT_publish”

的“块参数”对话框中配置MQTT发布块。

  1. 设置树莓派发布消息的主题。主题必须使用以下格式:渠道/ < channelID > /发布/字段/字段< fieldNumber >

  2. QoS0.ThingSpeak MQTT代理只支持QoS 0。金宝app

在模型中,MQTT Publish块的输出被标记为日志记录。有关日志信号的信息,请参见标记一个测井信号

配置订阅MQTT消息Simulink模型金宝app

此支持包提金宝app供了一个预配置的Simulink模型,该模型使用MQTT订阅块。金宝app此块接收来自主题的MQTT代理的消息。

open_system (“raspberrypi_MQTT_subscribe”

的“块参数”对话框中配置MQTT订阅块。

  1. 设置树莓派订阅的消息主题。主题必须使用以下格式:渠道/ < channelID > /订阅/字段字段< fieldNumber >

  2. QoS0.ThingSpeak MQTT代理只支持QoS 0。金宝app

  3. 消息长度(N)1

在模型中,MQTT Subscribe块的输出被标记为日志记录。有关日志信号的信息,请参见标记一个测井信号

创建ThingSpeak设备

对信道的MQTT访问,包括凭据,由ThingSpeak MQTT设备处理。您的设备配置了MQTT客户端与ThingSpeak通信以及授权特定通道所需的凭据。有关如何创建MQTT设备的详细信息,请参见创建一个ThingSpeak MQTT设备

配置Simulink模型的MQTT参数金宝app

在订阅MQTT消息和发布MQTT消息Simulink模型中配置这些参数。金宝app

  1. 在Simuli金宝appnk模型中,在硬件选项卡上,单击模型设置打开“配置参数”对话框。

  2. 选择硬件实现并设置硬件板参数覆盆子π

  3. 目标硬件资源,在集团部分中,选择MQTT.有关如何配置MQTT属性的详细信息,请参见MQTT.在创建ThingSpeak MQTT设备时使用与设置相同的参数。

  4. 外部模式节,保证通信接口设置为TCP/IP上的XCP

在树莓派上部署发布MQTT消息Simulink模型金宝app

  1. 硬件项中的“发布MQTT消息Simulink模型”选项卡金宝app模式部分中,选择在船上跑,然后按构建、部署和启动.模型窗口的左下角显示了Simulink在树莓派上准备、下载和运行模型时的状态。金宝app该模型作为独立应用程序部署在树莓派上。模型成功部署后,树莓派将消息发布到字段1ThingSpeak MQTT代理的。

  2. 若要查看代理上发布的消息,请选择To渠道>我的频道,然后单击消息发布的频道。

在外部模式下运行订阅MQTT消息Simulink模型(金宝app监视和调优)

  1. 在Publish MQTT Message Simuli金宝appnk模型中,将仿真停止时间设置为

  2. 的输出进行标记,以监视模拟过程中参数调优的效果MQTT发布用于日志记录的块。金宝appSimulink为记录的信号显示一个记录信号指示器。有关更多信息,请参见标记一个测井信号

  3. 硬件选项卡中的Simuli金宝appnk模型模式部分中,选择在船上跑,然后按监视和调优.模型窗口的左下角显示了Simulink在树莓派上准备、下载和运行模型时的状态。金宝app模型成功开始运行后,树莓派订阅字段1ThingSpeak的MQTT代理,并接收消息。的Display_Message块显示接收到的消息。当新的仿真数据在仿真数据检查器(SDI)中可用时,“仿真数据检查器”按钮将高亮显示。

  4. 在模拟过程中,更改要发布的值,并观察中显示的新值Display_Message块。

  5. 单击“仿真数据检查器”按钮,检查和比较来自多个仿真的数据,以验证模型设计。有关SDI的更多信息,请参见分析仿真结果

  6. 在您对结果感到满意之后,禁用外部模式,并保存模型。

另请参阅