NB-IoT使用CoAP协议接入华为IoT平台教程

文章目录

  • 1、准备
    • 1.1、NB-IoT模组
    • 1.2、NB-IoT SIM卡
    • 1.3、IoT平台
  • 2、模块配置与IMEI号的获取
  • 3、设备注册


该文章为本人原创,首发在华为云社区

上一次我们讲了“华为IoT平台环境搭建”,只用了虚拟设备进行演示,今天我们用真实的NB-IoT模块来进行通信。

1、准备

要完成这次实验需要以下几个东西。

1.1、NB-IoT模组

目前NB-IoT厂商与模组主要有以下几个

公司 模组名称 使用芯片 支持频段 通讯协议
上海移远 BC95-B5/8/20/28 华为Hi2110 B5/B8/B20/B28 UDP/CoAP
BC26 联发科MT2625 B1/B2*/B3/B5/B8/B12*/B13*/B17*/B18*/B19*/B20/B25*/B26*/B28*/B66* TCP/CoAP/MQTT
BC28 华为Hi2115 B1/B3/B5/B8/B20/B28* UDP/TCP/CoAP/LWM2M/MQTT
BC35-G 华为Hi2115 B1/B3/B5/B8/B20/B28 UDP/TCP/CoAP/LWM2M/MQTT
中移物联 M5310 华为Hi2110 B8 LWM2M
高新兴 ME3612 高通MDM9206 B3/B5/B8 CoAP、TCP/UDP、MQTT、OMA-LWM2M

我这次用的模组是BC35-G,支持移动、联通、电信三大运营商的NB卡,应该也是目前市面上占有率比较大的一款NB-IoT模组。
NB-IoT使用CoAP协议接入华为IoT平台教程_第1张图片

1.2、NB-IoT SIM卡

SIM 卡的作用是鉴权使用,NB设备接入核心网需要核心网认证,SIM 卡里存放认证的信息和密钥等。
简单来说就跟我们平常的手机卡的作用差不多,就是用来连接上网络,该SIM卡一般只用来连接网络,不打电话和收发短信。
目前市面上NB-IoT SIM卡主要有三大厂家的:中国电信、中国移动、中国联通。
(NB SIM卡去营业厅你可能买不到,因为运营商自己不卖,承包给第三方进行销售的,对该卡的充值方式也与普通SIM卡不一样,某宝上有售,一般买NB-IoT模块有送NB SIM卡,卡的充值与激活方式详情问卖家)

1.3、IoT平台

IoT平台目前主要有:华为物联网平台(OceanConnect),电信IoT平台(不面向个人开发者,电信购买的是华为的平台,所以电信IoT平台与华为物联网平台操作一样)、阿里云物联网平台、OenNET移动物联网平台、以及各个大小企业或个人搭建的平台。

如果还不了解华为物联网平台的可以点击这里看我上个帖子。
NB-IoT使用CoAP协议接入华为IoT平台教程_第2张图片

2、模块配置与IMEI号的获取

在上次创建完虚拟设备后,我们现在来创建真实设备
第一步:获取IMEI号(国际移动电话设备识别码)
IMEI号在NB-IoT模块上有写,或者通过扫描上面的二维码来获取IMEI号,或通过下方所说的AT指令进行获取
NB-IoT使用CoAP协议接入华为IoT平台教程_第3张图片

将模块通过串口连接上电脑,选择正确的端口号(不一定是10),波特率选择9600(IoT模块默认波特率为9600),勾选Send With Enter,如下图。(如果没有安装驱动得先安装驱动)
NB-IoT使用CoAP协议接入华为IoT平台教程_第4张图片

点击Open Port–>输入框里输入AT–>点击Send Command进行发送指令
NB-IoT使用CoAP协议接入华为IoT平台教程_第5张图片
NB-IoT使用CoAP协议接入华为IoT平台教程_第6张图片

返回OK,代表通讯正常。(如果没有反应,检查串口、波特率是否设置正确以及模块是否正常通电)
NB-IoT使用CoAP协议接入华为IoT平台教程_第7张图片

然后依次发送以下指令:

AT指令 含义说明
AT+CIMI 查询SIM卡上的IMEI号,该命令可以判断卡是否正常插上
AT+CGSN=1 获取设备IMEI号,也就是我们在华为IoT平台上注册设备需要的号码
AT+CSQ 获取网络信号强度,返回的第一个十进制数字最好在12~30之间
AT+CEREG? 获取模块注网状态,开机后需查询到返回x,1 才能代表联网成功,才能进行后续的操作
AT+NCDP=ip 配置服务器地址,其中ip地址在左右的对接信息中可以找到(位于左侧应用–>对接信息–>设备接入信息–> 49.4.85.232:5683 (CoAP),如下图所示),所以我们输入:AT+NCDP=49.4.85.232
AT+NMGS=length,data[,] 发送数据指令,length表示后续数据(data)的长度(10进制表示data数据的字节长度),data表示需要发送的数据,例如AT+NMGS=3,AA11BB

NB-IoT使用CoAP协议接入华为IoT平台教程_第8张图片
NB-IoT使用CoAP协议接入华为IoT平台教程_第9张图片

3、设备注册

现在我们的模块已经配置完毕了,现在我们回到平台上把设备注册一下。
点击设备管理 --> 新建真实设备
NB-IoT使用CoAP协议接入华为IoT平台教程_第10张图片

选择对应的产品
NB-IoT使用CoAP协议接入华为IoT平台教程_第11张图片

然后输入设备名称,及我们获取到的IMEI号–>点击确定
NB-IoT使用CoAP协议接入华为IoT平台教程_第12张图片

PSK码是为加密设备使用的(如果使用的是加密端口就需要PSK码,如果以后用到可以把这设备删除,然后重新创建,重新获取PSK码,当然你也可以先保存下来)
NB-IoT使用CoAP协议接入华为IoT平台教程_第13张图片

然后我们就多了这个真实设备,目前是离线状态
NB-IoT使用CoAP协议接入华为IoT平台教程_第14张图片

通过查询官方的AT指令集了解到发送数据指令为:
AT+NMGS=length,data[,]
length表示后续数据(data)的长度(10进制表示data数据的字节长度),data表示需要发送的数据(16进制),例如:AT+NMGS=3,AA11BB
NB-IoT使用CoAP协议接入华为IoT平台教程_第15张图片

我们根据编解码插件里的数据结构来进行发送数据
发送:AT+NMGS=1,50
返回OK代表发送成功
NB-IoT使用CoAP协议接入华为IoT平台教程_第16张图片

此时设备变成在线,我们进入产品调试
NB-IoT使用CoAP协议接入华为IoT平台教程_第17张图片

接收到数据80(十进制)
NB-IoT使用CoAP协议接入华为IoT平台教程_第18张图片

我们尝试从云平台发送数据
NB-IoT使用CoAP协议接入华为IoT平台教程_第19张图片

同时串口助手也会收到十六进制的ASCII码
NB-IoT使用CoAP协议接入华为IoT平台教程_第20张图片

这样我们就完成了NB-IoT与华为物联网平台的连接

切记:NB-IoT采用低功耗模式,发送完数据大概20s后就会休眠,所以云端下发的数据是在下一次上传数据成功后,才会下发到设备。

———————————————————————————————————————————————
end

你可能感兴趣的:(NB-IoT使用CoAP协议接入华为IoT平台教程)