IOT网关接入流程
一、准备阶段
蓝卓云账号注册
Note:如果已经有蓝卓云账号,请跳过注册步骤,直接看沙箱使用手册。
沙箱申请
Note:
- 如果已经有沙箱环境,请跳过注册步骤,直接看supOS 采集器操作说明。
- 申请沙箱时候,需要申请支持数据采集的版本,目前可以申请 3.5 版本。
supOS 采集器操作说明
二、调试阶段
背景说明
IOT网关接入是基于supOS提供的数据接入开放协议作为业务层协议,以MQTT作为数据传输协议,来实现将IOT网关里的位号元数据、实时数据、缓存的历史数据接入至supOS平台。
要完成IOT网关接入supOS平台,必须要对MQTT,ProtoBuff有一定的了解。并能熟练使用一种开发语言来完成必要的功能接入。
目前ProtoBuff支持的开发语言包括:C、C++、C#、java、java script、python等。MQTT协议要求兼容3.1版本。
采集节点注册
登录进沙箱环境之后,首先进入设计期页面,如下图,点击1处的设计期图标
节点注册页面,如下图。点击3处的+号进行采集节点注册
填写采集器名称、类型(这里使用IOT网关)、时间戳类型。点击 确定 创建
名称和UUID,在网关时用作endpoint name和auth token
创建成功后就可以在页面看到新建的采集器对象,初始状态为 待接入
以上准备好后,接下来就要将待采集的数据写入网关
数据接入逻辑
基于数据接入开放协议说明,需要用户自己编写数据处理程序 ,接入元数据、实时数据、历史数据及其他数据。协议里定义的必选功能必须要实现。
在接入的位号元数据有变更时,必须要根据协议及时将变更后的位号元数据主动上报至平台。
数据接入协议检查工具
使用supOS提供的数据开放协议检测工具,可以在windows或linux平台对网关相关协议进行检查。工具会打印符合协议的数据。错误信息会以ERROR级别输出到控制台
理论上,网关在开发完成数据接入协议后,都需要通过该检查工具的验证。
使用数据开放协议检测工具,进入解压目录,cmd管理员运行,命令行举例:name是supOS网页上配置的name, token是supOS网页配置的uuid
check.exe -broker 192.168.18.47:32566 -token 6feb6020-ec53-11ec-9016-41cff0d608fd -name yhbox -mode 3
mode=0 检查元数据是否符合数据接入开放协议,并输出结果到控制台与文件
mode=1 向设备主动请求元数据推送并检查推送结果是否符合数据开放协议
mode=2 检验实时值是否与元数据(会先进行1获取元数据)匹配,并输出结果到控制台与文件
mode=3 检查离线缓存是否与元数据匹配,并输出结果到控制台与文件
mode=4 对时事件检验
网关对接supOS配置举例
名称和UUID需要与supOS侧之前创建时内容一致。
接入验证
修改数据处理程序的地址,连接到申请的沙箱网关后进行接入验证
当位号数据(元数据)上传到后,采集器状态变为 待审核,如下图
进入状态管理页面(依次点击1 2 3),如下图
点击同意即可,此时采集器状态会变为 已审核
接下来就可以上传实时数据了,注意实时数据要和刚才上传的元数据一一对应,否则可能会导致解析失败或者数据缺失
实时数据上传成功后,在平台侧会自动创建对应的数据管理对象。依次点击 对象模型管理 -> 对象实例 -> 采集器模板 就可以看到我们创建的采集器,如下图。
点击采集器名字进入详情页,在 属性 -> 我的属性 中就可以查到上传的实时数据属性和实时值,其中online为系统保留属性,表示采集器是否在线。接下来点击刷新按钮,就可以查看最新的实时数据
能看到上传的值即表示网关数据接入成功
##历史数据组态
可以通过组态网关实时值成为趋势图,查看网关数据上报稳定性。
依次点击业务设计器,页面设计,新建页面;
在弹出窗口,输入页面名称,选择自由风格,点击确定;
双击右侧空白区mybox页面,开始组态;
点击展开控件库,先点击左侧趋势图控件,再点击右侧空白区将趋势图控件添加进来,单击右侧的选择数据源,将要组态的数据选择进来最多选8个;
在弹窗选择采集器模板,找到自己网关,选择要组态的数据,点击确定;
最后点击右上角保存,预览即可以看到组态趋势图曲线了。
##断点续传、丢包检查
平台提供历史数据存储及查看能力,在之前查看数据的页面,点击标签,选择要保存历史数据的位号。
勾选历史后,确认
点击历史值按钮,历史数据查看,可以在这里查看设备上送数据稳定性,是否丢包,是否支持断点续传等
三、自测阶段
- 下载兼容性测试报告,根据测试报告模板进行相应的功能点的测试。
- 蓝卓会根据兼容性测试报告模板进行完整性测试。
四、注意事项
- 接入数据里所有字符串内容的字符集只能是UTF-8
- 所有的时戳都必需是UTC毫秒精度
- broker目前最大发布负载为1MB,如果超过1MB建议拆包发送