NBIOT专栏系列目录

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

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


文章目录

  • NBIOT专栏系列目录
  • 前言
  • 一、模块升级
  • 二、接入阿里云物联网平台
    • 1.阿里云创建设备
    • 2.串口调试助手发送AT指令

前言

上一篇帖子记录了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串口连接阿里云物联网平台接发数据相关推荐

  1. 中移M5310-A通过AT指令MQTT连接阿里云物联网平台并进行数据互传

    一.平台端操作 1.设备创建 进入阿里云物联网平台,选择物联网平台.然后开通公共实例,成功后依次创建产品.创建设备.设备创建成功后点击最右侧的查看->MQTT连接参数可以看到该设备接入该产品所需 ...

  2. 手把手教你用Arduino接入阿里云物联网平台,ESP8266连接阿里云物联网平台必看教程...

    使用Ardui no 的方式快速连接阿里云物联网平台. 文中提到的 AliyunIoTSDK 这个 Arduino 库,可以在 Arduino 库商店里搜索到(搜索 AliyunIoTSDK) Ali ...

  3. ESP-MQTT-AT指令连接阿里云物联网平台

    文章目录 文章背景 关键的关键词 本章使用 本章约定 所需资源 技术正文 一:连接方式 二:步骤(简介 3.ESP模块+stm32单片机) 1.创建设备复制三元素组 2.信息生成 3.使用串口工具和云 ...

  4. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

  5. ESP8266 AT指令连接阿里云物联网平台

    模组:ESP-12F   ||   ESP-12S  ||   (保险来说,ESP模组的flash应该 大于4MB.或者说为32Mbit 才可以)待补充 ... 平台:阿里云物联网平台 固件:ESP8 ...

  6. STM32+4G模块实战项目(连接阿里云物联网平台+OTA升级):(一)初识硬件

    STM32+4G模块实战项目(OTA升级) 构思占坑中ing.....,3天一章,请耐心等待 STM32+4G模块实战项目(连接阿里云物联网平台+OTA升级):(一)初识硬件 STM32+4G模块实战 ...

  7. STM32 通过 ESP8266 AT指令连接阿里云物联网平台

    模组  :ESP-12F   ||   ESP-12S  ||  (保险来说,ESP模组的flash应该 大于4MB.或者说为32Mbit 才可以) 待补充 ... 平台  :阿里云物联网平台 MCU ...

  8. 利用PYTHON连接阿里云物联网平台

    语言:python 3.7 环境:windows 10 实例:公共实例(免费) 阿里云的官方文档只有C语言和Linux环境,因此自我探索出利用PYTHON连接阿里云物联网平台的方法和步骤. 概述 - ...

  9. Paho Java Client 连接阿里云物联网平台

    Paho Java Client 连接阿里云物联网平台 进入阿里云物联网平台->点击产品->新建 点击设备->添加设备 查看设备证书,复制记录,后面使用 阿里云TCP通信 一机一密. ...

最新文章

  1. linux环境下搭建osm_web服务器一(Postgresql配置及osm2pgsql原始数据导入):
  2. winform如何保持TreeView节点展开和折叠的状态
  3. 将十进制数转化成二进制数,计算其中1的个数
  4. boost::fusion::traits::is_view用法的测试程序
  5. C语言用warshall算法求传递闭包transitive closure(附完整源码)
  6. 探索多媒体开发最新最佳实践,我们在深圳等你
  7. LeetCode 111二叉树的最小深度-简单
  8. si9000阻抗匹配计算_如何在设计之初计算出两层PCB板差分线的阻抗,线宽,间距...
  9. Kendo UI开发教程:Kendo UI模板概述
  10. 通过hadoop + hive搭建离线式的分析系统之快速搭建一览
  11. C++调用.lib的方法
  12. 解决弹出的窗口window.open会被浏览器阻止的问题
  13. 如何使Git使用我选择的编辑器进行提交?
  14. java java se_Java SE 9:不可变集的工厂方法
  15. 淘宝TDDL深入浅出
  16. mybatis自定义插件
  17. html5回到顶部代码,返回顶部完整代码
  18. 自动控制原理学习笔记(三)线性定常离散控制系统的数学模型
  19. 黑马程序员---visual studio 快捷键大全
  20. C#番外篇-SpinWait

热门文章

  1. 容我喝一杯82年java_开罐即食哦,当土豪只剩一双手时,奋豆只想喝杯82年白开水压压惊...
  2. 计算机二级考试上机部分可以运行吗,2017计算机二级上机考试中的注意事项
  3. java 句柄_JAVA句柄解释
  4. 《振动力学基础与MATLAB应用》课后练习-第一章
  5. Spring5从入门到精通(史上最全版)
  6. Type Status ReportMessage /WEB-NF/pages/accountList.jspDescription The origin server did not fin如何解决
  7. 5种分布式事务解决方案优缺点对比
  8. 在windows 2008 server 的IIS 7上运行 django 1.11 + python 3.6
  9. 一种新的人才合作形式
  10. php线雕,线雕的发展史,你知道吗?