ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NBIOT专栏之BC28串口连接阿里云物联网平台接发数据

2021-01-12 00:00:37  阅读:987  来源: 互联网

标签:NBIOT BC28 发送 阿里 串口 接发 连接 设备


NBIOT专栏系列目录

创思通信BC28核心板+STM32F系列单片机开发记录博客
BC28核心板资料包下载:
https://pan.baidu.com/s/1Du7EXgMRAmbFupT_VUYxWw 提取码: 6ium

1.测试BC28模块
2.BC28串口连接阿里云物联网平台接发数据


文章目录


前言

上一篇帖子记录了BC28模块测试,在使用STM32单片机接入BC28之前,可以直接使用串口调试工具对BC28发送AT指令,连接阿里云接发消息,不直接使用单片机串口发送数据,对BC28初学者来说是非常容易理解的。那学习完串口调试助手方法之后,写STM32的代码就很好写啦!-----

一、模块升级

本次实验是连接测试阿里云物联网平台,使用的是MQTT通信协议,但是BC28的模块出厂是版本较低,需要升级到07版本才可以支持通信MQTT,所以要记得升级版本至07版本。
升级步骤:
1.选择型号、端口号、07版本固件文件。
2.点击Query version 出现成功字样后,点击下载DownLoad。
3.下载成功后会提示重新复位模块,按下BC28板子上的复位键即可。

在这里插入图片描述

二、接入阿里云物联网平台

接入阿里云的通信协议是MQTT通信协议,如果对MQTT想继续了解可以查看我的MQTT博文,快速通道->物联网通信MQTT

1.阿里云创建设备

(1)创建产品
创建属于自己的产品,每个产品有自己的产品Key,每个产品包含了许多相似的设备,如下是我创建的产品截图,联网方式选择蜂窝方式,其他自定义即可。
在这里插入图片描述
(2) 添加设备
在自己的产品下面创建设备,这个设备就是咱们的NBIOT设备了,我的设备名称是BC28,也可以自定义。
在这里插入图片描述
创建成功之后,这个设备会显示未激活状态,未激活状态是因为设备一次也没有连接阿里云物联网平台,属于正常现象,连接成功就可以了。
在这里插入图片描述

(3)获取设备的三元组信息
三元组信息是NB设备连接阿里云的标志,后面需要用到的!下面是我的三元组信息(帖子写完我会删除掉的!休想连接我的哈哈哈哈)。在这里插入图片描述
(4)获取设备订阅阿里云下发消息的主题
阿里云往下发消息的时候,会通过主题下发消息,具体下发给哪个设备呢?这就需要NB设备去订阅阿里云下发消息的主题了!
在产品中找到自定义Topic,这个产品下的所有设备会有相同格式的主题,但是因为设备名称不一致所以设备的主题也不一致,我们拿到下面的主题即可,{devicename}替换成自己的设备名称,即/a1tW6nsMu2w/BC28/user/get 记下要用到!
有同学可能要问到,阿里云下发消息的主题,权限不应该是发布吗?我认为这个权限是设备对于云平台的权限,设备下发消息,那么设备需要订阅这个主题才能建立通信,所以这里是订阅权限比较合理。
在这里插入图片描述

(5) 获取设备属性上报消息的主题

设备向云平台发送数据时,也是通过主题发送的,这个主题是创建产品时就会用的主题,找到并修改自己的设备名称即可,注意!每个人的产品key等信息不一样,不要直接复制我的主题!

/sys/a1tW6nsMu2w/BC28/thing/event/property/post

在这里插入图片描述
(6)在产品下添加自定义功能
添加自定义功能的目的是为了接收NB设备发来的数据,通过标识符来接收并显示,如下,标识符是RoomHumidity,那么在发送数据时就需要保证标识符一致!添加自定义功能后发布上线,再核实是否存在。
在这里插入图片描述
下面。就该使用串口调试工具向BC28发送AT指令进而连接云平台解发数据了!


2.串口调试助手发送AT指令

(1)查询是否注网
发送AT+CGPADDR指令,返回OK并且能看到NB模块的IP地址即可。
在这里插入图片描述
(2)配置设备
发送AT指令:

AT+QMTCFG="aliauth",0,"a1tW6nsMu2w","BC28","9ef288679f79069558bbf3d82da90931"

格式为:
在这里插入图片描述

在这里插入图片描述

(3)连接阿里云并连接设备
1.连接阿里云 AT+QMTOPEN=0,“iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883
在发送指令完成后马上发送连接设备指令,否则BC28会自动断开。
2.连接设备 AT+QMTCONN=0,“BC28”
这里的BC28是阿里云自己定义的设备名称。
在这里插入图片描述
此时阿里云设备已经显示在线。
在这里插入图片描述
如果连接不上设备有可能是因为超时而报错。
在这里插入图片描述

(4)阿里云下发消息
阿里云下发消息需要NB提前订阅阿里云的发布主题,上面说过了,这里的主题是/a1tW6nsMu2w/BC28/user/get ,发送AT指令如下:

AT+QMTSUB=0,1,"/a1tW6nsMu2w/BC28/user/get",0

阿里云平台发布消息:
在这里插入图片描述
串口打印接收:
在这里插入图片描述
(5)NB设备向阿里云发送数据
发送数据的AT指令稍微有点难搞,首先找到属性上报主题/sys/a1tW6nsMu2w/BC28/thing/event/property/post,发送相关AT指令分为三部分。
1.AT+QMTPUB=0,0,0,0,"/sys/a1tW6nsMu2w/BC28/thing/event/property/post"
2.{params:{RoomHumidity:58.8}}(这命令点击一次发送即可,该格式为JSON格式)
3.勾选发送HEX,发送1a,即可。(1a为回车的16进制编码)
在这里插入图片描述
阿里云成功接收到数据:
在这里插入图片描述
(6)断开设备和关闭网络
1.断开设备

AT+QMTDISC=0

在这里插入图片描述
2.关闭设备网络
尽量不要关闭网络。。

AT+QMTCLOSE=0

标签:NBIOT,BC28,发送,阿里,串口,接发,连接,设备
来源: https://blog.csdn.net/JIANGYINGH/article/details/112479518

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有