小熊派学习笔记6 原创
MQTT介绍
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/s ubscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。
Paho是IBM在2011年建立的Eclipse开源项目,该项目包含以C、Java、Python、Javascript等语言编写的可用客户端。
Paho MQTT相关接口函数
MQTTClientInit :创建一个客户端对象
MQTTConnect :发送MQTT连接数据包
MQTTConnectWithResults :发送MQTT连接数据包并等待返回
MQTTPublish :发送MQTT发布数据包
MQTTSetMessageHandler :发送每个topic消息处理函数
MQTTSubscribe :发送MQTT订阅数据包
MQTTSubscribeWithResults :发送MQTT订阅数据包并等待返回结果
MQTTUnsubscribe :发送MQTT取消数据包
MQTTDisconnect :发送MQTT断开连接数据包并关闭连接
创建MQTT客户端步骤
-
连接wifi
-
初始化创建一个客户端对象
- 发送MQTT连接数据包
- 发送MQTT订阅数据包
- 发送MQTT发布数据包
- 在Paho工具中新建一个客户端
- 连接,在工具连接中添加一个订阅,主题为代码发布的主题"pubtopic"
- 在工具连接中发布一个订阅,主题为代码订阅的主题"test",可以进行消息的发布
华为IoT平台
华为云物联网平台即华为设备接入服务(IoT Device Access),提供海量设备连接上云、设备和云端 双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵 活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。
华为IoT平台产品创建
产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款 设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息,如颜色、开关等。![image-20210725172637507]
步骤
- 自定义模型并添加属性和命令
- 编写对接代码
注:这一步的ID和密钥可以在IoT平台的测试设备上获取
在这个网址(Huaweicloud IoTDA Mqtt ClientId Generator (myhuaweicloud.com))输入获取的设备ID和密钥即可获得客户端id、username、password
-
编译运行代码
-
编译成功后在IoT平台的调试界面即可查看属性参数与下发命令