mqtt_simple例程 nrf9160做主控连接阿里云——( 二 )


文章插图
2)、选择所属类别
你可以根据自己的需要选择标准品类,或者自定义,我本次选择标准品类,然后选择任意一个类型

mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
3)、节点类型
这里必选选择直连设备
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
4)、连网与数据
联网选择蜂窝,数据必须为ICA的JSON格式
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
5)、认证方式
选择为设备秘钥方式
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
设置以上选项,本次测试在次创建一个产品设备,本次创建的设备信息如下(区别于上一篇博客的是,为了方便后续讲解在联网方式上选择了wifi,如给你是物联网设备(在板子上需要SIM卡的)请你依然选择蜂窝方式):
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
在产品界面我可以看到我们创建好的产品:
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
2.3、在产品中创建物联网设备点击管理设备:
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
然后添加设备:
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
这次随意添加一个设备T123:
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
然后我点击产品界面,test产品的查看,发布一下我们的产品(不理解这一步的可以看一下前面的文章)
三、根据三元组计算链接参数——MQTT的CONNECT(连接服务端)报文3.1、获取三元组重要:在创建好设备后就可以获取设备的三元组,然后根据三元组和阿里云的要求计算获得连接参数写到mqtt_simple程序中,即可进行程序连接了,有些云不一定需要,不同的云可能有不同的要求,可以咨询提供云服务的官方或者参考相关云的官方文档 。
点击设备,找到刚刚创建的设备,然后点击Devicesecret可以获取到我的三元组信息
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
然后一键复制粘贴到剪切板
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
3.2、MQTT协议的CONNECT命令解析——并计算连接信息讲到这想要记录一下我学习的MQTT协议连接命令——CONNECT连接服务端命令,可以便于我们在出现连接错误有不知道为什么时,可以抓包进行分析,这一步我觉得是很有必要的 。下面就让我们来一起学习一下 。
MQTT报文一共有14条,下面附图,在本节主要讲解CONNECT报文:
表3.1:
mqtt_simple例程 nrf9160做主控连接阿里云——

文章插图
本节参考了MQTT 协议 3.1.1 中文版,在现有的NCS中使用的也是mqtt-V3.1.1版本 。
由上图可知CONNECT报文一共由三个部分组成分别是固定报头、可变报头、负载 。
在这之前我们先来了解一下MQTT的消息质量是三个等级(句号后的黄色部分是作者自己理解的,如有错误欢迎指正):