主要内容

开始使用MQTT

这个例子展示了如何在MATLAB中使用MQTT代理建立安全连接,并与MQTT代理通信。

在本例中,ThingSpeak™被用作代理。

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

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

设置代理并获得根证书

要与ThingSpeak建立连接,请参见创建ThingSpeak MQTT设备.在创建ThingSpeak MQTT设备之后,您可以从中获得它的客户端ID、用户名和密码。在MATLAB中指定这些值。

clientID =“你的客户机ID”;用户名=“用户名”;密码=“你的密码”

从thingspeak.com下载根证书到下载文件夹中。获取下载的根证书的路径。

rootCert =“C: \ \ thingspeakcert.cer下载”

创建MQTT客户机并使用SSL连接到代理

准备要连接的代理地址和端口号。在这种情况下,使用适当的端口号通过SSL建立到ThingSpeak的安全连接。

brokerAddress =“ssl: / / mqtt3.thingspeak.com”;端口= 8883;

方法创建MQTT客户机mqttclient函数。

mqClient = mqttclient(brokerAddress, Port = Port, ClientID = ClientID,...Username = Username, Password = Password, CARootCertificate = rootCert);

请注意,连接属性指示已建立到代理的连接。

mqClient。连接
ans =int321

订阅主题

对于已连接的MQTT客户机,使用订阅函数订阅感兴趣的主题。显示的表显示了订阅的主题。有关ThingSpeak中订阅主题的详细信息,请参见订阅一个频道字段提要

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

围绕一个主题写作

要验证订阅是否成功,请确保MQTT客户机接收到写入订阅主题的消息。

使用函数向感兴趣的主题写入消息。有关ThingSpeak中写作主题的详细信息,请参见发布到通道字段提要

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

查看MQTT客户机

使用偷看函数可以查看MQTT客户机中所有订阅主题的最近收到的消息。显示的时间表表明MQTT客户机已经成功地从代理接收到消息。

peek (mqClient)
ans =1×2时间表时间主题数据  ____________________ __________________________________________ ____ 06 - 1月- 2022 10:42:29“渠道/ 1393455 /订阅/字段/ field2”“70”

关闭MQTT客户机

通过从工作空间清除MQTT客户端变量,关闭到ThingSpeak的连接。

清晰的mqClient
Baidu
map