云侧配置流程
环境准备
在开发之前,需要提前获取如下信息:
- 开发者Portal的访问地址/账号/密码,需要向OceanConnect IoT平台申请
- 设备对接地址/端口号
创建应用
通过创建应用,开发者可以根据自身应用的特征,选择不同的平台服务套件,降低应用开发难度。
登录OceanConnect IoT平台的开发者Portal。开发者Portal的访问地址、账号和密码需要向IoT平台服务商申请。
登录界面会跳出弹框,提示“当前账号没有应用!请先创建应用!”,点击“创建应用”。
图 1 创建应用
在新弹出窗口中,配置应用信息,点击“确定”。
配置示例如下图,点击“确定”后,IoT平台会返回应用ID和应用密钥,请妥善保存应用密钥,以便于应用服务器接入平台时使用。如果遗忘密钥,需要通过“对接信息”->”重置密钥”进行重置。
图 2 配置应用
说明:
如上配置仅为参考举例,具体配置请以现网需求为准。图 3 应用创建成功
开发Profile文件
Profile文件用来描述设备类型和设备服务能力。它定义了设备具备的服务能力,每个服务具备的属性、命令以及命令参数。
登录IoT平台的开发者Portal。开发者Portal的访问地址、账号和密码需要向IoT平台服务商申请。
选择“Profile开发”->“Profile在线开发”->“自定义产品”,点击右上角“+创建全新产品”。
IoT平台提供了Profile模板库,开发者可以根据自己需要,选择合适的模板直接使用。如果在模板库中未找到需要的Profile,再自己定义,示例如下。
图 1 创建Profile文件
说明:
如上配置仅为参考举例,具体配置请以现网需求为准。选择新创建的Profile文件,点击“新建服务”,配置设备的服务能力。
可参考“Profile开发”->“Profile在线开发”中的“产品模板”进行配置。例如新建一个名为LightControl的服务,包含一种属性light(灯的亮灭状态)和一种命令(设置灯亮on或者灭off)
图 2 新建LightControl服务
(可选)开发者Portal提供了Profile文件的导出功能。
选择“Profile开发”->“Profile在线开发”->新创建的Profile文件,点击右上角“导出该产品Profile”,可以对线上开发的Profile文件进行导出。
图 3 导出Profile文件
开发编解码插件
IoT设备和IoT平台之间采用LwM2M协议通信,LwM2M消息的数据为应用层数据,应用层数据的格式由设备厂商自行定义。由于IoT设备对省电要求较高,所以应用层数据一般采用二进制格式。IoT平台在对应用层数据进行协议解析时,会转换成统一的json格式,以方便应用服务器使用。要实现二进制消息与json格式消息的转换,IoT平台需要使用编解码插件。
选择“插件开发”->“插件开发”->“开始设计”,点击右上角“+新建插件”。在弹出框中,选择Profile文件。
IoT平台提供了插件模板库,开发者可以根据自己需要,选择合适的模板直接使用。如果在模板库中未找到需要的插件,再自己定义。
图 1 创建插件
点击“新增消息”,配置二进制码流和Profile属性/命令/命令响应的映射关系。
可参考“插件开发”->“插件开发”->“开始设计”中的“新手指导”和“插件模板”进行配置。
图 2 开发插件(新建数据上报消息)
图 3 开发插件(添加字段)
图 4 开发插件(新建命令下发消息)
图 5 开发插件(添加字段)
编解码插件的开发,即定义:
- Profile文件定义的属性/响应在设备上报的二进制码流中的位置,以便于平台对设备上报数据和命令响应进行解码。
- Profile文件定义的命令在平台下发的二进制码流中的位置,以便于平台对下发命令进行编码。
图 6 二进制码流和Profile文件的映射关系
点击右上角“部署”。
点击部署后,需要先“保存”插件,之后才开始部署。部署需要等待时间小于60s。
图 7 保存插件
图 8 部署插件
(可选)开发者Portal提供了编解码插件的下载功能。
选择“插件开发”->“插件开发”->新开发的编解码插件,点击右上角“下载”,可以对线上开发的编解码插件进行导出。
注册设备
应用服务器需要调用IoT平台的注册设备接口,在IoT平台添加设备。
选择“我的设备”->“注册设备”->“需要注册设备的Profile”,输入设备名称和验证码(verifyCode),并根据业务需求选择是否加密设备。最后点击“注册”。
图 1 需要注册设备的Profile
注册设备后,IoT平台会返回设备ID和PSK码,请妥善保存。新增注册的设备状态为“未绑定(not bound)”。
图 2 注册设备