每谈及物联网都难以离开的MQTT协议!
Posted mini梁翊洲MAX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每谈及物联网都难以离开的MQTT协议!相关的知识,希望对你有一定的参考价值。
MQTT梗概
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:
(1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);
(2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。
使用MQTT.fx接入
以Windows系统下MQTT.fx为例,介绍模拟设备以MQTT协议接入物联网平台的步骤。
1、我们在MQTT.fx官网下载并安装MQTT.fx,建议安装最新版本。
2、打开MQTT.fx软件,单击螺纹图案。
3、在该界面填写好相应的参数
Profile Name:可以任意填写
Profile Type:选择MQTT Broker
Broker Address:YourProductKey.iot-as-mqtt.YourRegionId.aliyuncs.com
我们将上一篇文章《物联网却不能物物相联?阿里云物联网平台得这么设置!》中的设备所属产品的ProductKey替换YourProductKey;YourRegionId根据你的服务器注册时的位置填写,例如如果你的地区显示是华东2的,则可以YourRegionId替换为cn-shanghai,具体可以在地域和可用区查询。
Broker Port:1883
Client ID:ClientID|securemode=Mode,signmethod=SignMethod|
ClientID建议替换为12345;Mode,securemode=3:TCP直连模式,无需设置SSL/TLS信息。securemode=2:TLS直连模式,需要设置SSL/TLS信息,建议为3;SignMethod建议替换为hmacsha1;
单击User Credentials
User Name:DeviceName&ProductKey
由设备名DeviceName、and(&)和产品ProductKey组成。
Password:
点击下载Password生成小工具,解压文件后,双击sign.html文件。
productKey、deviceName、deviceSecret:具体在上一篇《物联网却不能物物相联?阿里云物联网平台得这么设置!》有提及。
timestamp:可不填写
clientId:设备的ID信息,与MQTT.fx的Client ID中clientId一致。
method:选择签名算法类型,与MQTT.fx的Client ID中SignMethod一致。
点击Generate即可生成password
设置完成后,单击右下角的OK。
单击Connect。右侧亮绿灯,表示连接成功
下行通信测试
在MQTT.fx上单击Subscribe,在Subscribe文本框中,输入《物联网却不能物物相联?阿里云物联网平台得这么设置!》获取的具有订阅权限的自定义Topic,比如我的其中一个/sys/a16OKk6dTya/deviceName/thing/event/property/post_reply,需替换deviceName为对应的设备名称。
单击Subscribe。
订阅成功后,该Topic将显示在列表中。
返回物联网平台,进入该设备的设备详情页面,在Topic列表页签下,单击已订阅Topic对应的发布消息。
输入消息内容,单击确认。
回到MQTT.fx上,查看接收到的消息。
上行通信测试
在MQTT.fx上,单击Publish,在Publish文本框中,输入一个具有发布权限的自定义Topic。在文本编辑页面,输入要发送的消息内容,然后单击Publish。
回到物联网平台,在设备详情页面,单击日志服务页签的前往查看,在日志服务页面,查看设备到云消息。
与下行通信测试类似。
“本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/kasami_/article/details/117387096。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。”
以上是关于每谈及物联网都难以离开的MQTT协议!的主要内容,如果未能解决你的问题,请参考以下文章