开始使用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