1、准备工作
若没有电信物联网的测试账号,需要首先申请一个账号(账号申请流程不在此详述)。
中国电信物联网开放平台企业门户: https://develop.local.ct10649.com:8843/#/login,该门户为测试平台的用户门户,可进行测试设备和测试应用的管理操作
中国电信物联网开放平台开发者门户: https://develop.ct10649.com:8093/#/login ,账号密码同 企业门户,该门户提供设备profile和编解码插件的在线编辑和上传功能
测试平台应用对接地址: 中国电信物联网开放平台向API-企业应用接入地址:180.101.147.89:8743
测试平台设备对接地址: 中国电信物联网开放平台南向-终端设备接入地址:180.101.147.115:5683
2、创建项目
登录电信开发者平台(https://develop.ct10649.com:8093/#/login),输入账号、密码,进入如下界面。
点“+”,新建一个项目,添加“项目名称”、“所属行业”,点“确定”后,成功创建新的项目。
项目创建完成后,如下图所示。此处提示需要妥善保存“应用秘钥”,最好能够保存好,不保存后期在进行“应用开发”是也可以重置秘钥。
“进入项目”后的界面如下图所示,在项目中可以进行产品的开发和应用的对接工作。
3、产品开发
物联网平台支持NB-IoT、2/3/4G、有线网络等多样化的设备接入方式,不同类型的设备要接入到物联网平台并构建互联互通方案,需要经过Profile定义、设备开发、插件开发、测试认证等一系列过程。
3.1 新建产品
选择前面创建的项目E10RT,进入该项目,然后新建一个产品进行产品的开发,具体路径:产品→产品开发→自定义产品,进入自定义产品界面:
这里,我们选择“自定义产品”,点“自定义产品”,进入如下界面:
说明:
“产品名称”、“型号”需要在项目内保持唯一,否则会创建失败。
“所属行业”、“设备类型”、“接入应用层协议类型”和“数据格式”等信息根据实际情况进行填写。
在“产品开发”界面将会呈现已经创建的产品,选择具体产品,进入该产品的开发空间。
3.2 Profile定义
产品模型(也称Profile)用于描述设备具备的能力和特性。开发者通过定义Profile,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息。
步骤1:在“产品开发”界面选择产品,选择具体产品,进入该产品的开发空间。
步骤2:在产品开发空间,点击“Profile定义”,然后点击“新建服务”。
步骤3:在“新建服务”区域,对服务名称、属性和命令进行定义。每个服务下,可以包含属性和命令,也可以只包含其中之一,请根据此类设备的实际情况进行配置。
步骤4:新增属性RcvLen、RcvData(我对命令的理解是:与应用开发进行对接的,是物联网平台对用户服务器展示的数据形式)。
“数据类型”的配置可参考如下原则
int:当上报的数据为整数或布尔值时,可以配置为此类型。
string:当上报的数据为字符串、枚举值或布尔值时,可以配置为此类型。如果为枚举值或布尔值,值之间需要用英文逗号(“,”)分隔。
步骤4:添加命令(我对命令的理解是:与应用开发进行对接的),如下图所示:
添加“命令下发字段”、“命令响应字段”,如下图所示:
至此,Profile文件基本创建完成,如下图所示:
3.3 编解码插件开发
设备上报数据时,如果“数据格式”为“二进制码流”,则该产品下需要进行编解码插件开发。
以NB-IoT场景为例,NB-IoT设备和物联网平台之间采用CoAP协议通讯,CoAP消息的payload为应用层数据,应用层数据的格式由设备自行定义。由于NB-IoT设备一般对省电要求较高,所以应用层数据一般不采用流行的JSON格式,而是采用二进制格式。但是,物联网平台与应用侧使用JSON格式进行通信。因此,开发者需要开发编码插件,供物联网平台调用,以完成二进制格式和JSON格式的转换。
点“新增消息”,创建一个新的消息,如下图所示:
“添加字段”,这里需要按照Profile文件中定义的属性格式进行添加(比如Profile文件中定义了数据长度和数据,那么在此必须添加相应的字段)。而且这里因为选择了“添加响应字段”,所以在“添加字段”时,必须添加一个“MessageId”,明确告诉物联网平台要对收到的哪条消息进行响应。如下图所示:
注:如上图所示,即使选择“可变长度数组类型”,也必须保证RcvLen中收到数据长度与实际的数据长度一致,若实际数据长度小于RcvLen的长度,会导致数据无法解析;若实际的数据长度大于等于RcvLen,平台只能解析RcvLen的数据,导致后边的数据丢失。
消息添加完成之后,要实现与Profile中定义的属性及命令相互关联。通过拖动“属性值”与消息中的相应字段实现关联。其中messageId用于帮插件识别消息种类,不需要建立映射关系。
继续新增“消息”,用于处理应用平台下发的命令。添加的方式与上面步骤一致。
所有插件开发完成之后,点“保存”,完成之后“部署”,部署完成之后,并可以进行下一步的测试工作。
3.4 在线调测
在线调测具备设备模拟和应用模拟功能,可以模拟数据上报和命令下发等场景,对设备、Profile、插件等进行调测。
当设备侧开发已经完成时,但应用侧开发还未完成时,开发者可以创建真实设备,使用应用模拟器对设备、Profile、插件等进行调测。真实设备调测界面结构如下:
当设备侧开发和应用侧开发均未完成时,开发者可以创建虚拟设备,使用应用模拟器和设备模拟器对Profile、插件等进行调测。虚拟设备调测界面结构如下:
文章来源: blog.csdn.net,作者:KXue0703,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/KXue0703/article/details/113882928