简介
物联网平台提供了设备接入、协议解析、数据存储、产品管理、固件升级、设备配置、传感器配置和调试、故障管理等功能。也支持设备状态跟踪、流量卡状态查询等功能。
设备注册
设备接入是通过手机 APP 来实现的。当用户使用【RTU 小助手】进行设备配置的时候,会自动将此设备注册到当前账号所属公司。
参数配置
平台支持对设备进行远程配置,这对于无人值守的设备来说非常有用,可以方便的进行设备管理和维护。
设备远程配置功能,与通过手机 APP 进行的现场配置功能一样,包括参数设置、传感器配置、传感器调试等。
同时支持远程对传感器进行调试。
传感器管理
平台支持传感器管理:把一些传感器的配置参数添加到平台,用户如果使用到同款的传感器,就不再需要配置复杂的通讯参数,降低了设备的安装和维护成本。
包括各种 Modbus 协议的传感器,或者私有协议的传感器。
我们免费提供传感器适配服务。如果有遇到无法支持的传感器,请联系售后。
固件升级
产品交付只是第一步,我们的服务始终都在线。
对于无人值守的设备来说,固件升级功能是非常重要的。通过固件升级可以满足持续的设备维护、功能定制、适配各种传感器、地方协议的需求。
功能特点
- 安全。固件的发布权限由管理员设置。固件升级过程中,也会验证文件签名,确保文件不被篡改。
- 可靠。设备支持 AB 分区升级。极端情况下升级被中断,设备也可以回到旧版本,而不至于变砖。
- 快速。支持差分升级。差分文件极大的加速了固件升级速度。可以在 10 秒内完成升级。
- 方便。不需要用户做更多的配置,设备自动完成升级。
新增升级文件
- 工程师上传固件,并指定分组。
- 测试人员开启对新版本的测试。测试通过后,固件正式上线。
- 可以设置设备自动升级(设备轮询),或者手动升级(云端推送)。
- 自动升级:设备定时检查是否有可用新固件,后台会根据预设的策略(分组、分批次),分发新固件给设备。
- 手动升级:手动选择某个固件,设备收到下发的固件信息,开启升级流程。
- 升级过程可以追溯。
- 支持整包升级和差分升级(自动生成差分文件、自动查询对应的差分文件、自动校验文件)。
运维管理
物联网平台在支持远程自动化运维方面,提供了必要的支持。
故障上报
- 设备会自动上报工况信息,包括电池电压、充电电压、信号强度、工作环境温湿度等。
- 设备会上报设备异常日志,当设备与传感器通讯出现异常时,也会上报相关的故障。
- 如果对接物联网卡供应商平台,也可以监测流量卡的状态。
可以基于运维协议扩展更多功能。
运维工单
支持通过工单管理系统,实现设备故障的自动化运维。当出现设备故障的时候,生成工单,推送给负责人。方便维护过程的统计和追溯。
远程运维
下面介绍远程运维管理功能,包括设备参数设置、传感器实时值读取、传感器远程调试等。
远程运维的功能入口是: 【设备管理】—— 【设备列表】—— 【设备详情】
其中:
- 运行工况:对设备的电压、信号、温湿度进行监控。
- 基础参数:配置设备的测站编码、中心站地址,配置数据转发等参数。部分手机 APP 上的参数没有在远程开放。
- Modbus传感器:使用485 接口的传感器,包括标准 Modbus协议的,和非标的。
- 其他传感器:包括雨量计和水位计。
- 传感器调试:查看当前传感器的实时采样值,和传感器状态。
- RS485调试:远程调试 485 接口的传感器。
RS485远程调试
传感器远程调试,是通过平台下发命令到遥测终端,遥测终端再根据配置发送命令到 RS485 接口的外设,并将外设的返回值发回给平台。
好处就是可以实时、远程调试传感器,不用必须带电脑到现场调试。也方便我们工程师快速调试不同的传感器。
注意:
- 使用远程调试功能时,请先确保传感器供电正常、接线正常。
- 如果没有低功耗的要求,传感器直接使用电池供电。
- 如果有低功耗要求,使用我们 RS4854 接口的供电电源,请确保调试阶段选择了常供电模式。且传感器功耗不要超过最大的负载能力(两路电源一共是 12V1A 的负载能力。)
- 现场支持通过手机对传感器做同样的调试操作。使用方法类似。
下面举例说明如何使用 RS485远程调试功能。
禾信雷达水位计
禾信的雷达水位计如下,默认地址是 1, 波特率是 9600。我们需要读取地址 0 的 1 个寄存器,是雷达水位计的空高,单位是 cm。
当前传感器是接在第二个 RS485 端口,需选择 HEX 编码方式。调试过程如下:
麦克水位计私有协议
麦克水位计 R4 私有协议,是一个文本协议。
这是指令格式:
这是一些通讯指令示例:
另外,需要自己计算校验值,这里示例是带有校验值的,计算方法参考上面指令格式中的描述。下面是 go 语言计算麦克指令的校验的代码供参考。
func crcMike(s string) string {
var xor byte = 0
// 跳过起始符
for i := 1; i < len(s); i++ {
xor ^= s[i]
}
// 高 4 位和低 4 位
high := (xor >> 4) & 0x0F
low := xor & 0x0F
// 转为 ASCII 字符(十六进制表示)
toHexChar := func(n byte) byte {
if n < 10 {
return '0' + n
}
return 'A' + (n - 10)
}
return string([]byte{toHexChar(high), toHexChar(low)})
}
这里需要选择 ASCII的编码方式。默认波特率是 9600。调试过程如下:
尚鑫航工业相机
客户现场的相机偶尔无法拍照。我们通过远程调试的方式,可以定位一下问题出在哪里。
根据尚鑫航提供的协议手册,我们验证两个协议:测试协议和拍照协议。
这里需要选择 HEX 的编码方式。默认波特率是 115200.调试过程如下: