阿里云微消息队列(MQTT)的基本使用
2020-12-02 本文已影响0人
BugChang
最近应系统功能需求,采购了一款云喇叭的物联网设备,就是插着4G卡那种,可以播放各种语音,仔细阅读了开发文档之后发现使用的是MQTT的协议,记录一下在对接中遇到的各种问题
MQTT简介
MQTT是一个轻量的发布订阅模式消息传输协议,专门针对低带宽和不稳定网络环境的物联网应用设计。
MQTT特点:
- 开放消息协议,简单易实现
- 发布订阅模式,一对多消息发布
- 基于TCP/IP网络连接
- 1字节固定报头,2字节心跳报文,报文结构紧凑
- 消息QoS支持,可靠传输保证
阿里云MQTT
阿里云的MQTT有两个版本,这里只说没有RocketMQ依赖的3.1.1及以上版本。
- 首先开通MQTT服务,然后创建一个实例
- 创建一个Topic,这个就是订阅的父级主题,子级主题不需要简历,开发时直接指定即可
- 创建一个Group,需要以
GID_
前缀命名,这个代表一类设备,比如:GID_CloudHorn
代表所有云喇叭,GID_Printer
代表所有打印机 - 下载MQTT测试工具
mqttfx
,下载地址:http://mqttfx.jensd.de/index.php/download - 配置MQTTFX
这里会自动生成用户名密码
image.png- 配置订阅,格式为Topic_1/p2p/GID_BugChang_01@@@123456(主题/p2p/ClientId),p2p为固定值
- 控制台发消息测试
云端SendMessage接口:https://help.aliyun.com/document_detail/178119.html?spm=a2c4g.11186623.6.616.441f7947A29Hib