中国电信物联网开放平台编解码库开发指南

中国电信物联网开放平台编解码库开发指南


2024年7月4日发(作者:)

图6-79 添加字段-可变长度数组

添加第一个字段,表示messageId。

图6-80 messageId 0x3

添加第二个字段,表示数组长度。

图6-81 length字段

添加第三个字段,表示描述信息。该字段数据类型为“variant(可变长度数组类

型)”,需要和length字段关联。

图6-82 other_info字段-可变长度数组

步骤 7 拖拽右侧Profile文件的属性,和数据上报消息的字段建立映射关系。

图6-83 数据上报消息映射关系2

步骤 8 点击右上角“部署”按钮,保存和安装编解码插件。

图6-84 部署插件

----结束

调测编解码插件

步骤 1 登录开发者平台,选择“我的设备”->“注册设备”,选择对应的Profile文件,填写

设备名称和验证码,注册设备。

图6-85 注册设备

步骤 2 选择“模拟器”->“NB设备模拟器”->“绑定设备”,填写验证码,绑定NB设备模

拟器。

图6-86 绑定NB设备模拟器

步骤 3 使用NB设备模拟器进行数据上报,码流以02开始,对应messageId为0x2的消息。

图6-87 数据上报-数组

步骤 4 在“我的设备”界面的设备列表中,选择上报数据的设备,查看“历史数据”。

针对数组类型,插件按照base64进行编解码。

图6-88 历史数据-数组

步骤 5 使用NB设备模拟器进行数据上报,码流以03开始,对应messageId为0x3的消息。

图6-89 数据上报-可变长度数组

步骤 6 在“我的设备”界面的设备列表中,选择上报数据的设备,查看“历史数据”。

图6-90 历史数据-可变长度数组

----结束

base64编码方式说明

base64编码方式会把3个8位字节(3*8=24)转化为4个6位字节(4*6=24),并在每

个6位字节前补两个0,构成4个8位字节的形式。如果要进行编码的码流不足3个字

节,则用0填充,使用0填充的字节经编码输出的字符为“=”。

base64可以将16进制码流当做字符或者数值进行编码,两种方式获得的编码结果不

同。以16进制码流01为例进行说明:

把01当作字符,不足3个字符,补1个0,得到010。通过查询ASCII码表,将

字符转换为8位二进制数,即:0转换为00110000、1转换为00110001,因此010

可以转换为(3*8=24)。再转换为4个6位字节:

001100、000011、000100、110000,并在每个6位字节前补两个0,得到:

00001100、00000011、00000100、00110000。这4个8位字节对应的10进制数分

别为12、3、4、48,通过查询base64编码表,获得M(12)、D(3)、E(4),由

于3个字符中,最后一个字符通过补0获得,因此第4个8位字节使用“=”表

示。最终,把01当做字符,通过base64编码得到MDE=。

把01当作数值(即1),不足3个字符,补两个0,得到100。将数值转换为8位

2进制数,即:0转换为00000000、1转换为00000001,因此100可以转换为

(3*8=24)。在转换为4个6位字节:000000、

010000、000000、000000,并在每个6位字节前补两个0,得到:00000000、

00010000、00000000、00000000。这4个8位字节对应的10进制数分别为:0、

16、0、0,通过查询base64编码表,获得A(0)、Q(16),由于3个数值中,最

后两个数值通过补0获得,因此第3、4个8位字节使用“=”表示。最终,把01

当作数值,通过base64编码得到AQ==。

总结

当数据类型为数组或可变长度数组时,插件是按照base64进行编解码的:上报数

据时,将16进制码流进行base64编码,比如:01编码为“AQ==”;命令下发

时,将字符进行base64解码,比如:“AQ==”解码为01。

当某字段的数据类型为可变长度数组时,该字段需要关联长度字段,长度字段的

数据类型必须为int。

针对可变长度数组,命令下发和数据上报的编解码插件开发方式相同。

在线开发的编解码插件使用base64进行编码时,是将16进制码流当做数值进行

编码。

6.5.5 命令执行结果的编解码插件在线开发

场景说明

有一款烟感设备(NB-IoT),具有如下特征:

具有烟雾报警功能(火灾等级)和温度上报功能。

支持远程控制命令,可远程打开报警功能。比如火灾现场温度,远程打开烟雾报

警,提醒住户疏散。

支持上报命令执行结果。

Profile开发

步骤 1 登录开发者平台,选择“Profile开发”->“Profile在线开发”->“自定义产品”,点击

右上角“+创建全新产品”。

在弹出窗口中,填写产品信息后,点击“确定”。

图6-91 创建全新产品

步骤 2 选择新创建的Profile文件,点击“新建服务”,配置设备的服务能力。

在命令中需要定义响应字段。

----结束

编解码插件开发

步骤 1 登录开发者平台,选择“插件开发”->“插件开发”->“开始设计”,点击右上角“+

新建插件”。在弹出框中,选择Profile文件,点击确定。

图6-92 选择Profile文件

Profile将在插件开发界面的右侧呈现。

图6-93 插件开发界面

步骤 2 点击“新增消息”,添加一条数据上报消息。

图6-94 添加数据上报消息

步骤 3 点击字段列表旁的“+”号,为数据上报消息添加字段。

图6-95 添加字段-报警和温度

添加第一个字段,表示messageId。

由于上行消息有两种,所以需要用messageId来标志消息种类。

图6-96 messageId 0x0

添加第二个字段,表示上报的火灾等级。

图6-97 level字段

添加第三个字段,表示温度:

图6-98 temperature字段1

步骤 4 拖拽右侧Profile文件的属性,和数据上报消息的字段建立映射关系。

图6-99 数据上报消息映射关系1

步骤 5 点击左侧“+新增消息”,添加一条命令下发消息。

在本场景中,设备会上报命令执行结果,需要勾选“是否添加响应字段”。

图6-100 添加命令下发消息

步骤 6 点击字段列表旁的“+”号,为命令下发消息添加字段。

添加messageId字段。如果设备仅支持一条命令,则可以不配置此字段。

图6-101 messageId字段 0x1

添加mid字段,用于将命令和命令执行结果进行关联。

图6-102 mid字段-命令

添加value字段,表示告警的开关。

图6-103 value字段

步骤 7 点击响应字段旁的“+”号,为命令执行结果添加字段。

添加messageId字段。命令执行结果为上行消息,需要通过messageId和数据上报

消息进行区分。

图6-104 messageId 0x2

添加errcode字段,用于表示命令执行结果。00表示成功,01表示失败,如果未

携带该字段,则默认命令执行成功。

图6-105 errcode字段

添加mid字段,用于将命令和命令执行结果进行关联。

图6-106 mid字段-命令执行结果

添加result字段。

图6-107 result字段

步骤 8 拖拽右侧Profile文件的属性,和数据上报消息的字段建立映射关系。

图6-108 建立映射关系

----结束

调测编解码插件

步骤 1 登录开发者平台,选择“我的设备”->“注册设备”,选择对应的Profile文件,填写

设备名称和验证码,注册设备。

图6-109 注册设备

步骤 2 选择“模拟器”->“NB设备模拟器”->“绑定设备”,填写验证码,绑定NB设备模

拟器。

图6-110 绑定NB设备模拟器

步骤 3 使用NB设备模拟器进行数据上报。

图6-111 数据上报

步骤 4 在“我的设备”界面的设备列表中,选择接收命令的设备,点击“命令下发

()”。

在弹出界面中,配置下发给设备的命令参数。

使用模拟器模拟设备,需要在上报数据后,立刻进行命令下发。

图6-112 命令下发

步骤 5 使用NB设备模拟器上报命令执行结果。

图6-113 上报命令执行结果

步骤 6 在“我的设备”界面的设备列表中,选择接收命令的设备,查看“历史命令”。

命令状态显示为“执行成功”。

图6-114 命令状态

----结束

总结

如果插件需要对命令执行结果进行解析,则必须在命令和命令响应中定义mid字

段。

命令下发的mid是2个字节,对于每个设备来说,mid从1递增到65535,对应码

流为0001到FFFF。

设备执行完命令,命令执行结果上报中的mid要与收到命令中的mid保持一致,

这样平台才能刷新对应命令的状态。

7

JDK支持的加密算法

摘要算法:

算法名称

MD

SHA

Hmac

算法

MD2

MD5

SHA-1

SHA-256

SHA-384

SHA-512

HmacMD5

HmacSHA1

HmacSHA256

HmacSHA384

HmacSHA512

摘要长度

128

128

160

256

384

512

128

160

256

384

512

备注

-

-

-

-

-

-

-

-

-

-

-

附录二

对称加密算法:

算法名称 密钥长度

DES 56

默认

56

工作模式

ECB、CBC、

填充方式

NoPadding、

备注

-

PCBC、CTR、

CTS、CFB、CFB8

到128、OFB、

OFB8到128

3DES

112、168

168

ECB、CBC、

PCBC、CTR、

CTS、CFB、CFB8

到128、OFB、

OFB8到128

ECB、CBC、

PCBC、CTR、

CTS、CFB、CFB8

到128、OFB、

OFB8到128

PKCS5Padding、

ISO10126Padding

NoPadding、

PKCS5Padding、

ISO10126Padding

-

AES

128、

192、256

128

NoPadding、

PKCS5Padding、

ISO10126Padding

256位密钥

需要获得无

政策限制权

限文件

非对称加密算法:

算法名称 密钥长度

DH

512~1024(

64倍数)

默认

1024

工作模式

填充方式

备注

-

以及Base64。


发布者:admin,转转请注明出处:http://www.yc00.com/news/1720034729a2759729.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信