一、 MQTT 概念
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于 TCP/IP协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用
二、 阿里云 MQTT 服务器搭建
1 阿里云平台注册及认证
登录阿里云平台网址:help.aliyun.com/product/305… 并要注册与认证, 注册与认证,注册与认证。重要的事情说三遍
2 添加平台
直接上图,清晰明了
找到产品与服务
点击立即开通 (免费试用),由于我之前用过,所以要重新开通下
进入管理控制台
开通中
稍等片刻
2 创建产品与设备
直接上图,清晰明了
产品名称根据自己情况填写
点击蓝色方框
设备名称根据自己情况填写
依次添加属性
发布上线
通过上面的配置后,
才有了下面的
添加设备
DeviceName 的名字可以随意起
获取 MQTT 连接相关信息
直接上图
记住要使用的产品键\设备名\设备\设备密匙
{"ProductKey": "gqe6BM9224e",//注意每一个人的都不一样"DeviceName": "TESTDEVICE01",//你自己起的名字"DeviceSecret": "c6af7073d61c45826f63f02345c9d540"}
根据官方给出的信息记得出下面的信息,并留备用
第一个注意是你的: 公钥.iot...........
点击下载 Password 生成小工具,生成密码 (以前要用 现在选用 )
| files.alicdn.com/tpsservice/… |
|---|
最终可以记录 User Name 与 password
现在阿里云已经自动生成了 看上图
User Name:TESTDEVICE01&gj64h3QCehCpassword:F04E282D9E92364B9C67AB2B946E6EACF0BEEBF1
三、MQTT.fx 测试
1 MQTT.fx 下载及安装
使用 MQTT.fx 模拟为客户机,通过 MQTT.fx 来与阿里云进行通信。MQTT.fx 工具下载网址:
选择下面版本,安装之后并安装
| 链接:pan.baidu.com/s/1jwA7GUcT… 提取码:1234 |
|---|
2 配置登录信息
这里的信息都是用上面获取的
Broker Address:gqe6BM9224e.iot-as-mqtt.cn-shanghai.aliyuncs.com
其实经过我的测试,可以直接将阿里云的参数输入也能达到效果。
打开 MQTT 服务器,获取属性上报与属性设置 这个软件如同客户端是用来连接服务器的,
里面的参数 对应填入即可
属性上报:/sys/gqe6BM9224e/${deviceName}/thing/event/property/post属性设置:/sys/gqe6BM9224e/${deviceName}/thing/service/property/set//根据自己的设备名,填入属性信息即可属性上报:/sys/gqe6BM9224e/TESTDEVICE01/thing/event/property/post属性设置:/sys/gqe6BM9224e/TESTDEVICE01/thing/service/property/set
3 从 MQTT.fx 上报数据到阿里云服务器
点击上报:
/sys/gqe6BM9224e/${deviceName}/thing/event/property/post
上报信息:
{"method":"thing_service.property.set","id":"gqe6BM9224e.TESTDEVICE01|securemode=2,signmethod=hmacsha256,timestamp=2524608000000|", "params": { "CurrentTemprature":20.0, "CurrentHumidity":60.0, "switch_led_r":1, "switch_led_g":1, "switch_led_b":0},"version":"1.0.0"}
填入上报信息:
{"method":"thing_service.property.set", "id":"00001", //可变的 id"params": { "CurrentTemprature":20.0, "CurrentHumidity":60.0, "switch_led_r":1, "switch_led_g":1, "switch_led_b":0},"version":"1.0.0"}
调整后全部获取成功如下
【连接-上报数据已完成 MQTT.ft->阿里云 物联网平台】
4 阿里云下发数据到 MQTT.fx将属性 set 填入
【连接-获取数据已完成 MQTT.ft<-阿里云 物联网平台】
不懂就问哈,乐意效劳,以上就是阿里云 MQTT 服务器搭建与测试步骤,精彩分享不断,一健三联哦克。
Qt历险记
一名技术分享师,分享方向:->Qt(C/C++、linux、STM32、MySql/Sqlite3、TCP/UDP),设计方面->Ai、PS、visio、AD、Protues。 **