华为云注册流程以及BC28 AT指令上报温度

华为云注册流程以及BC28 AT指令上报温度的详细文档

  • (一)华为云注册流程
    • (1) 注册华为云
    • (2) 创建产品
    • (3) 产品开发的思路
      • 3.1 设备接入IOT平台的过程
      • 3.2 产品开发流程
    • (4) 产品开发
      • 4.1 模型定义
        • 4.1.1 产品信息
        • 4.1.2 服务能力
        • 4.1.3 维护能力
      • 4.2 模型定义的简单示例
        • 4.2.1 新增服务
        • 4.2.2 添加属性
        • 4.2.3 添加命令
      • 4.3 插件开发
        • 4.3.1 数据上报流程
        • 4.3.2 命令下发流程
        • 4.3.3 三种编解码插件开发
      • 4.4 插件开发简单示例(图形化开发)
        • 4.4.1 新增消息(数据上报)
        • 4.4.2 新增消息(命令下发)
      • 4.5 在线调试(新增设备)
  • (二)移远BC28 AT指令上报温度
    • (1) 准备工作
      • 1.1 AT+CMEE=1 错误号返回
      • 1.2 ATE1 命令回显
      • 1.3 ATI 查看版本号
    • (2) 检测BC28 模块附着网络情况
      • 2.1 AT+CFUN?查看UE功能等级
      • 2.2 AT+CIMI 检测SIM卡
      • 2.3 AT+CEREG? 查询网络注册状态
      • 2.4 AT+CGATT? 查询网络是否被激活
      • 2.5 AT+CSQ 检测信号强度
      • 2.6 AT+CGPADDR 查询模块IP地址
    • (3) 注册华为IoT平台(手动注册)
      • 3.1 AT+NMSTATUS? 消息注册状态
      • 3.2 AT+NCDP=, 设置 IoT 平台 IP 地址及端口
      • 3.3 AT+QREGSWT? 查询自动注册模式
      • 3.4 AT+QLWSREGIND=0 开始注册 IoT 平台
    • (4) 模块发送数据到华为云IoT
      • 4.1 AT+QLWULDATA=3,313233 发送 NON 数据到华为云IOT
      • 4.2 AT+QLWULDATAEX=3,313233,0X0100 发送 CON 消息到IoT
      • 4.3 AT+QLWULDATASTATUS? 查询数据发送状态
    • (5)华为云IoT下发数据到模块

(一)华为云注册流程

(1) 注册华为云

①需要个人实名认证。
②计费规则,每月可以免费使用100万条消息数。
在这里插入图片描述

(2) 创建产品

华为云注册流程以及BC28 AT指令上报温度_第1张图片
在这里插入图片描述
华为云注册流程以及BC28 AT指令上报温度_第2张图片

华为云注册流程以及BC28 AT指令上报温度_第3张图片
基础信息
华为云注册流程以及BC28 AT指令上报温度_第4张图片
注意:这里因为我要用移远BC28模块连接华为云IOT平台,所以用的是LwM2M/CoAP协议类型。
华为云注册流程以及BC28 AT指令上报温度_第5张图片

(3) 产品开发的思路

3.1 设备接入IOT平台的过程

华为云注册流程以及BC28 AT指令上报温度_第6张图片
产品模型:是用来描述设备能力的文件,通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的属性信息。

编解码插件:主要根据设备上报数据的格式来判断是否需要开发。如果设备上报的“数据格式”为“二进制码流”,则该产品下需要进行编解码插件开发。如果“数据格式”为“JSON”,则该产品下不需要进行编解码插件开发。(编解码插件是供物联网平台调用,完成二进制格式和JSON格式相互转换的。它将设备上报的二进制数据解码为JSON格式供应用服务器“阅读”,将应用服务器下行的JSON格式命令编码为二进制格式数据供终端设备(UE)“理解执行”。)

3.2 产品开发流程

华为云注册流程以及BC28 AT指令上报温度_第7张图片
创建产品:某一类具有相同能力或特征的设备的集合称为一款产品。除了设备实体,产品还包含该类设备在物联网能力建设中产生的产品信息、产品模型(Profile)、插件等资源

功能定义:即开发产品模型,产品开发最重要的是开发产品模型,产品模型用于描述设备具备的能力和特性。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息

开发插件如果设备上报的数据是二进制码流格式,就需要开发对应的插件,用于物联网平台完成二进制格式和JSON格式的转换;如果设备上报的是JSON格式数据,则不需要开发插件。

在线调试:设备接入控制台提供了产品在线调试的功能,您可以根据自己的业务场景,在开发真实应用和真实设备之前,使用应用模拟器和设备模拟器对数据上报和命令下发等场景进行调测,也可以在真实设备开发完成后使用应用模拟器验证业务流。

(4) 产品开发

华为云注册流程以及BC28 AT指令上报温度_第8张图片

4.1 模型定义

产品模型包括:产品信息、服务能力、维护能力
华为云注册流程以及BC28 AT指令上报温度_第9张图片

4.1.1 产品信息

产品信息:描述一款设备的基本信息,包括厂商ID、厂商名称、设备类型、协议类型。

华为云注册流程以及BC28 AT指令上报温度_第10张图片
例如:TempMeter的厂商名称为“CXH”,厂商ID为“XXXXX”,设备类型为“TemprMeter”,协议类型为“CoAP”。

4.1.2 服务能力

服务能力:描述设备具备的业务能力。将设备业务能力拆分成若干个服务后,再定义每个服务具备的属性、命令以及命令的参数。
华为云注册流程以及BC28 AT指令上报温度_第11张图片

4.1.3 维护能力

维护能力:描述设备具备的维护能力,包括固件升级、软件升级、设备配置。

4.2 模型定义的简单示例

华为云注册流程以及BC28 AT指令上报温度_第12张图片

4.2.1 新增服务

服务名称(serviceID):采用首字母大写的命名方式,如:StreetLight,
服务描述:描述设备的作用,如:温度上报,设备开关控制等
华为云注册流程以及BC28 AT指令上报温度_第13张图片

4.2.2 添加属性

属性名称首位必须为字母,建议采用驼峰形式,例如:internalTemp

华为云注册流程以及BC28 AT指令上报温度_第14张图片
华为云注册流程以及BC28 AT指令上报温度_第15张图片
补充

数据类型 含义
int 当上报的数据为整数或布尔值时,可以配置为此类型。
decimal 当上报的数据为小数时,可以配置为此类型。配置“经纬度”属性时,数据类型建议使用“decimal”。
string 当上报的数据为字符串、枚举值或布尔值时,可以配置为此类型。如果为枚举值或布尔值,值之间需要用英文逗号(“,”)分隔。
DateTime 当上报的数据为日期时,可以配置为此类型。
jsonObject 当上报的数据为json结构体时,可以配置为此类型。

访问权限:设置应用服务器通过接口访问数据的模式.
可读:通过接口可以查询该属性。
可写:通过接口可以修改该属性值。
可执行:应用服务器订阅了数据变化通知后,设备上报了属性,应用服务器会收到推送通知

4.2.3 添加命令

命令名称首位必须为字母,建议采用全大写形式,单词间用下划线连接的命名方式。

华为云注册流程以及BC28 AT指令上报温度_第16张图片
华为云注册流程以及BC28 AT指令上报温度_第17张图片

①添加下发参数
下发命令参数名称首位必须为字母,建议采用第一个单词首字母小写,其余单词的首字母大写的命名方式。

华为云注册流程以及BC28 AT指令上报温度_第18张图片
华为云注册流程以及BC28 AT指令上报温度_第19张图片

②添加响应命令(我在示例中没有用到,只是做介绍)
响应命令字段参数首位必须为字母,建议采用第一个单词首字母小写,其余单词的首字母大写的命名方式。
华为云注册流程以及BC28 AT指令上报温度_第20张图片

4.3 插件开发

插件开发:如果“数据格式”为“二进制码流”,则该产品需要进行编解码插件开发。如果“数据格式”为“JSON”,则该产品下不需要进行编解码插件开发。(对NB-IOT来说:为了省电→采用二进制码流)
华为云注册流程以及BC28 AT指令上报温度_第21张图片

4.3.1 数据上报流程

简单来说(112):一个解析(CoAP消息解析为payload),一个查找(查找对应编解码插件),两个转换(二进制数据与JSON数据的相互转化)。
华为云注册流程以及BC28 AT指令上报温度_第22张图片

4.3.2 命令下发流程

华为云注册流程以及BC28 AT指令上报温度_第23张图片

4.3.3 三种编解码插件开发

图形化开发:在设备接入控制台,通过可视化的方式快速开发一款产品的编解码插件。
离线开发:使用编解码插件的Java代码Demo进行二次开发,实现编解码功能、完成插件打包和质检等。
脚本化开发:使用JavaScript脚本实现编解码的功能。

4.4 插件开发简单示例(图形化开发)

这里为了节省时间,简单实现。所以,采用了图形化开发。

4.4.1 新增消息(数据上报)

注意
①新增消息应该与前面模型定义中的属性一致。
②因为只有一条数据上报消息,则没有添加messageID字段。
③名称不能为JAVA的关键词。
④假如要使用响应字段,则需要messageID字段!(添加响应字段:添加响应字段后,物联网平台在收到设备上报的数据后,会下发用户设置的响应数据到设备(响应数据:AAAA0000))。
华为云注册流程以及BC28 AT指令上报温度_第24张图片
华为云注册流程以及BC28 AT指令上报温度_第25张图片
数据类型:根据数据上报消息种类的数量进行配置。
长度:根据数据类型的配置自动填充的。
默认值:可以修改,但必须为十六进制格式,且设备数据上报消息的对应字段必须和此处的默认值保持一致。

有关messageID字段的使用
例如:添加字段,添加messageID字段,表示消息类型。假设我需要温度预警级别、温度(此消息类型为:0X0)。
messageID:此消息的第一个字段,起始位置为0,字节长度为1,终点位置为1。所以偏移值为0-1。
华为云注册流程以及BC28 AT指令上报温度_第26张图片
温度预警级别:偏移量1-2
华为云注册流程以及BC28 AT指令上报温度_第27张图片
温度:数据类型:int16u,偏移量2-4。

华为云注册流程以及BC28 AT指令上报温度_第28张图片
如果上报消息为:0001016A(第一字段:00表示此条消息指的是温度预警级别和温度这条消息。第二字段:01 表示此事温度预警级别。第三四字段:016A表示此时的温度)

4.4.2 新增消息(命令下发)

注意:因为只有一条命令下发消息,则没有添加messageID字段,以及mid字段。
华为云注册流程以及BC28 AT指令上报温度_第29张图片
华为云注册流程以及BC28 AT指令上报温度_第30张图片

拖动右侧“设备模型”区域的属性字段和命令字段,数据上报消息和命令下发消息的相应字段建立映射关系。然后,点击右上角保存、部署。
华为云注册流程以及BC28 AT指令上报温度_第31张图片

有关响应mid字段:mid字段需要跟平台下发的命令里的mid字段保持一致(命令下发字段要设置mid,并且与命令响应mid字段对应),用于将下发的命令和命令执行结果进行关联。mid字段的数据类型默认为int16u。
例如
华为云注册流程以及BC28 AT指令上报温度_第32张图片
华为云注册流程以及BC28 AT指令上报温度_第33张图片

4.5 在线调试(新增设备)

华为云注册流程以及BC28 AT指令上报温度_第34张图片
可以用AT+CGSN=1指令进行IMEI号查询。

华为云注册流程以及BC28 AT指令上报温度_第35张图片

(二)移远BC28 AT指令上报温度

(1) 准备工作

1.1 AT+CMEE=1 错误号返回

AT+CMEE=1:发送指令如果出错,BC28串口会主动返回错误代号。
在这里插入图片描述

1.2 ATE1 命令回显

ATE1:设置命令回显,发送的指令内容会显示。

1.3 ATI 查看版本号

华为云注册流程以及BC28 AT指令上报温度_第36张图片

(2) 检测BC28 模块附着网络情况

2.1 AT+CFUN?查看UE功能等级

AT+CFUN?:查看UE功能等级(显示CUFN:1代表全部功能打开了。)
在这里插入图片描述

2.2 AT+CIMI 检测SIM卡

AT+CIMI :检测SIM卡是否有读取成功(返回SIM号则成功)。
在这里插入图片描述

2.3 AT+CEREG? 查询网络注册状态

AT+CEREG? :查询网络注册状态(=0 (第一个数)表示已禁用网络注册 URC,=1(第二个数) 表示已注册)
在这里插入图片描述

2.4 AT+CGATT? 查询网络是否被激活

AT+CGATT? :查询网络是否被激活(返回0为入网失败,返回1为入网成功)。
注意:网络激活成功,通常需要等待 30s
在这里插入图片描述

2.5 AT+CSQ 检测信号强度

AT+CSQ :检测信号强度。(不为99则表示有信号(即第一个数))
在这里插入图片描述

2.6 AT+CGPADDR 查询模块IP地址

在这里插入图片描述

(3) 注册华为IoT平台(手动注册)

3.1 AT+NMSTATUS? 消息注册状态

在这里插入图片描述
华为云注册流程以及BC28 AT指令上报温度_第37张图片

3.2 AT+NCDP=, 设置 IoT 平台 IP 地址及端口

华为云注册流程以及BC28 AT指令上报温度_第38张图片
我们使用的CoAP协议,其端口号为:5683,IP地址:可以通过ping域名进行获取。
在这里插入图片描述

3.3 AT+QREGSWT? 查询自动注册模式

在这里插入图片描述
0:手动注册模式
1:自动注册模式
2:禁用注册模式
注意:注册模式针对的是重启并联网后会不会触发注册。
区别:自动注册需要用AT+NRB命令来重启模块。

3.4 AT+QLWSREGIND=0 开始注册 IoT 平台

+QLWEVTIND:0 	//表明成功注册
+QLWEVTIND:3 	//IoT 平台已观察到对象 19。当模块报告此消息时,数据可以发送到 IoT 平台。

华为云注册流程以及BC28 AT指令上报温度_第39张图片
补充:AT+QLWSREGIND=1 从 IoT 平台注销

(4) 模块发送数据到华为云IoT

4.1 AT+QLWULDATA=3,313233 发送 NON 数据到华为云IOT

AT+QLWULDATA=3,313233:发送 NON 数据,不需要 IoT 平台应答 ACK 消息。
华为云注册流程以及BC28 AT指令上报温度_第40张图片
在这里插入图片描述
华为云注册流程以及BC28 AT指令上报温度_第41张图片

4.2 AT+QLWULDATAEX=3,313233,0X0100 发送 CON 消息到IoT

AT+QLWULDATAEX=3,313233,0X0100	 //发送 CON 消息, IoT 平台需要应答 ACK 消息
OK
+QLWULDATASTATUS:4 		//数据发送成功

在这里插入图片描述

4.3 AT+QLWULDATASTATUS? 查询数据发送状态

AT+QLWULDATASTATUS? //查询数据发送状态
+QLWULDATASTATUS:4 //数据发送成功

在这里插入图片描述

(5)华为云IoT下发数据到模块

华为云注册流程以及BC28 AT指令上报温度_第42张图片
在这里插入图片描述

你可能感兴趣的:(NB-IOT:笔记(基础))