主要内容

订阅MQTT主题和一个回调函数

这个例子展示了如何使用MQTT客户订阅一个主题一个回调函数。

ThingSpeak™用作代理在这个例子。

消息队列遥测传输(MQTT)是物联网的OASIS标准消息传递协议(物联网)。它被设计为一个非常轻量级的发布/订阅消息传输,非常适合连接远程设备代码占用空间小,最小的网络带宽。

ThingSpeak是一个物联网分析平台服务,允许您总、可视化和分析实时数据流在云中。你可以从你的设备,将数据发送给ThingSpeak创建即时的可视化实时数据和发送警报。

创建MQTT客户机和连接到代理

建立一个ThingSpeak代理和客户机ID,用户名和密码。从thingspeak.com下载根证书和使用其本地路径。在MATLAB®分配这些值。

clientID =“你的客户机ID”;用户名=“用户名”;密码=“你的密码”;rootCert =“C: \ \ thingspeakcert.cer下载”;

建立一个安全连接,ThingSpeak使用适当的端口号mqttclient函数。

brokerAddress =“ssl: / / mqtt3.thingspeak.com”;端口= 8883;mqClient = mqttclient (brokerAddress端口=端口,ClientID = ClientID,用户名=用户名、密码=密码,CARootCertificate = rootCert);

订阅一个主题一个回调函数

订阅一个回调函数,创建一个回调函数showmessage。的showmessage函数输出接收到的数据和相应的话题时触发。

使用订阅函数订阅感兴趣的话题。使用一个名称-值对参数指定回调函数在同一时间。显示表显示订阅主题和相应的回调函数。

topicToSub =“渠道/ 1393455 /订阅/字段/ field2”;订阅(mqClient topicToSub,回调=“showmessage”)
ans =1×3表主题QualityOfService调__________________________________________ ___________ _________________,“渠道/ 1393455 /订阅/字段/ field2”0“showmessage”

写信给订阅的主题

触发回调函数,MQTT客户机需要接收消息的订阅的主题。使用函数编写消息订阅的主题。

topicToWrite =“渠道/ 1393455 /发布/字段/ field2”;味精=“70”;写(mqClient topicToWrite味精)

触发回调函数

暂停允许MQTT客户机的消息传输,MQTT代理,回客户端。

暂停(2)

当MQTT客户机接收消息的订阅主题,回调函数showmessage自动触发。下面的上下文是印在MATLAB命令窗口。

主题:渠道/ 1393455 /订阅/字段/ field2,消息:70

关闭MQTT客户机

接近ThingSpeak通过清除MQTT客户机从工作空间变量。

清晰的mqClient