订阅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