前言 前面的**里,我们介绍了如何在阿里云物联网平台上添加LoRa节点设备https://bbs.21ic.com/icview-2967614-1-1.html,并让LoRa节点设备在阿里云物联网平台上成功入网https://bbs.21ic.com/icview-2967618-1-1.html。 但是,LoRa节点设备在阿里云物联网平台上成功入网并不代表着阿里云物联网平台就可以直接处理来自LoRa节点设备的数据,仅仅代表LoRa节点设备能够将数据发送给阿里云,这些数据是以加密后的二进制的形式传输的,到了阿里云会解析成解密后二进制数组,但是阿里云并不知道这些数据的具体含义。
那么,我们需要在LoRa节点设备和阿里云物联网平台之间,设置一个“翻译者”,让阿里云能够理解LoRa节点设备所发送的数据的含义。通过在阿里云物联网平台上设置LoRa节点设备的产品功能定义和解析脚本,就可以实现“翻译者”的设置。 产品功能定义和解析脚本两个一体的,如果不定义产品属性,就没必要用解析脚本。解析脚本就是把阿里云收到的数据转换成产品定义属性的值。比如,设备把传感器数据或者功能发送到阿里云,这个传感器数据或功能的定义就是产品功能定义,如温湿度传感器就至少要有温度和湿度的属性。所以需要解析脚本把这个二进制数组解析成阿里云认识的格式,这样阿里云就可以把二进制数据转换成设备的具体属性,如温度,湿度等。 本文介绍如何在阿里云物联网平台上设置产品功能定义。
1、在阿里云管理平台上进行对产品进行“功能定义” 如图1所示,进入设备管理-产品页面,点击产品列右侧的“查看”操作。 图1 在阿里云物联网平台上查看已创建的产品
2、在产品页面点击功能定义-选择下方的自定义功能-添加功能 图2 阿里云物联网平台的产品功能定义页面
在图2上,点击“编辑草稿”,并选择“快速导入”: 图3 在阿里云物联网平台上快速导入物模型
以RAK5205节点设备为例,可以在阿里云物联网平台上导入的LoRa节点设备的物模型为RAK5205.json文件,该文件可以在Github上瑞科慧联RAKwireless的栏目中获取到。具体获取地址为: https://github.com/RAKWireless/RUI_LoRa_node_payload_decoder/blob/master/ali/RAK5205.json 需要注意的是,需要先将RAK5205.json文件里的productKey修改到与自己所要导入的产品的ProductKey的值一致之后,才能导入该RAK5205.json文件。 如图4所示,自己所要导入的产品的ProductKey的值,可以在阿里云物联网平台上,通过查看产品的ProductKey的方式获取到。 图4 阿里云物联网平台上查看产品的ProductKey的地方
获取到ProductKey之后,需要如图5所示,对RAK5205.json文件里的productKey进行修改,修改到与阿里云物联网平台上查看到的产品的ProductKey的值一致。 图5 对RAK5205.json文件里的productKey进行修改
3、发布更新 导入物模型(比如RAK5205.json文件)之后,效果如图6所示。 在图6所示的界面上点击“发布更新”,则产品的功能定义完成。 图6 阿里云物联网平台导入物模型之后的效果示意图
结语 本文介绍了,当阿里云物联网平台的标准功能没法满足需要的时候,用户可以根据实际的LoRa节点设备的数据属性,通过在阿里云物联网平台上自定义产品的功能,来实现根据自身业务自定义功能的目的。 如何进行数据解析,则将在下一篇中进行介绍。
|