使用移远BC28 模组对接阿里云 MQTT

        MQTT,作为目前物联网的最主要的协议之一,受到各大云平台的青睐,诸如机智云,百度云,腾讯云,阿里云等,均支持设备使用MQTT方式接入平台。为了方便设备的接入,各大平台,都开源了各种编程语言版本的sdk(具体情况可参看各个平台的说明及文档)。协议再牛逼,也离不开通信技术的支持,随着物联网的发展,无线通信模组的事业也逐渐进入一个小高潮。最近比较火技术当属牛逼(NB)技术了。本文主要讲述如何使用移远的BC28模组的MQTT特性接入阿里云。

        阿里云以卓越的科技能力助力各行各业数字化转型,为全球客户提供领先的云计算、大数据、人工智能服务,以及定制化行业解决方案。本小节介绍如何在阿里云平台创建产品、设备。登录阿里云平台(https://www.aliyun.com/),注册新账号或登陆已有账号。在产品目录下面选择物联网子目录,然后点击物联网平台,进入物联网平台界面,如下图

进入物联网平台之后,点击管理控制台,进入产品管理界面,在产品管理界面下点击“创建产品”按钮,弹出创建产品子对话框,根据提示选择或输入相关信息,点击确定按钮,完成产品创建,如下图所示:

                                      

完成产品创建之后,需要在该产品下添加设备。点击设备管理选项,进入设备管理子页面,点击“添加设备”按钮,弹出添加设备对话框,在产品下拉框中选择相应的产品,输入设备名称,完成添加设备操作,如下图所示: 

                                         

设备添加完成之后,点击查看,查看设备详细信息如下图所示: 

完成测试设备创建工作之后,可查看该设备的“三元组信息”。 “三元组信息”包括:

在产品管理界面,单击产品后面查看按钮,查看单个产品信息,点击消息通信,进入消息通信子界面。在需要的修改权限的TOPIC后面单击编辑按钮,弹出定义TOPIC类对话框,在对话框中选择相应的权限,如下图所示。 

  • ProductKey  表示产品类型, 一类产品 ProductKey 相同;
  • DeviceName 表示设备名称, 同一类产品中 DeviceName 各不相同;
  • DeviceSecret 表示单个设备工作密钥,该参数用户保存不宜公开。

                                      

 平台验证

本小节,介绍使用MQTT命令接入阿里云平台,按照下述小节,完成阿里设备信息配置、MQTT的连接、订阅与发布功能

配置阿里云设备信息

通过上述介绍,在阿里云平台创建的产品、设备,获取到如下信息:

  • Product Key          a1uv6K0BsSI
  • Device Name        test
  • Device Secret       bCRTTFehsV8IBLIOjGqtEHCsmDIIkysa

 

// 检查注网状态。

AT+CGATT?

+CGATT: 1                  // 注网成功

 

OK

 

// 按照获取的产品、设备信息,配置阿里云设备信息。

AT+QMTCFG="aliauth",0,"a1uv6K0BsSI","test","bCRTTFehsV8IBLIOjGqtEHCsmDIIkysa"

OK

连接阿里云平台

配置过设备信息之后,发起MQTT连接请求到阿里云平台。

 

// 按照产品创建提供的链接,打开MQTT服务。

AT+QMTOPEN=0,"iot-as-mqtt.cn-shanghai.aliyuncs.com",1883

OK

 

+QMTOPEN: 0,0        // 打开服务成功。

 

// 发送MQTT连接请求

AT+QMTCONN=0,“clientExample”

OK

 

+QMTCONN: 0,0        // 连接成功。

发送订阅请求

MQTT连接成功之后,发起订阅topic请求。

 

// 发送订阅请求。

AT+QMTSUB=0,1,"/a1uv6K0BsSI/test/get",0

OK

 

+QMTSUB: 0,1,0,0            // 订阅成功。

发布消息及接收消息

MQTT订阅成功后,可以接收到下行推送消息。

// 向topic发布消息。

AT+QMTPUB=0,0,0,0,"/a1uv6K0BsSI/test/get"

>This is test data, hello   // 输入数据。按CTRL+Z结束

OK

+QMTPUB: 0,1,0,0            // 发布消息成功。

// 收到消息

+QMTRECV: 0,0," /a1uv6K0BsSI/test/get ",This is test data, hello

// 断开MQTT连接。

AT+QMTDISC=0

OK

+QMTDISC: 0,

猜你喜欢

转载自blog.csdn.net/lx121451/article/details/82389559