1. Codebase代码库规范
文档说明
本文档主要是对MixIOT系统中codebase(代码库)、mapping(映射表)配置规则作一个注释讲解,使用户在规定的规则下对脚本进行编辑。因此本文档的侧重点主要是对配置脚本中字符进行注释说明。
适用对象
本文档适用于智物联开发人员和ADMIN管理员。
1.1. Codebasetemplate(代码库模板)
Codebase_template处脚本主要作用与设备的反向控制功能,目前只制定了一个临时规则,后续有完善后再做更新。 目前代码模板如下:
[
["ChangeTemp","Change Temperature","设置温度","2","L1_3_10","\$","请输入温度"],
["Control","Start RemoteControl","设备控制","2","L1_3_9","1|2","远程启动|远程停机"]
]
依次顺序说明:
- Action
- 英文标签
- 中文标签
- MQTT Qos协议
- 反向控制KEY
- 控制代码
- 控制代码含义
中文说明 | Action | 英文标签 | 中文标签 | MQTT Qos协议 | 反向控制KEY | 控制代码 | 控制代码含义 |
---|---|---|---|---|---|---|---|
示例参考 | Control | Change Temperature | 设置温度 | 2 | L1_3_9 | 1¦2 | 远程启动¦远程停机 |
显示效果如下:
Image - 示例
1.1.1. Action
Action现使用的有:Reboot(重启)、Upgrate(升级更新)、Control(控制)。
使用场景如下:
- Reboot(重启):适配器重启操作。
- Upgrate(升级更新):适配器脚本(LUA、MCU、REMOSU)升级。
- Control(控制):设备状态参数控制和设定。这种在脚本中可写具体的动作名称,系统中PUBLISH KEEPER 收到的下发请求后都会转化为“Control”。
1.1.2. 标签
标签分为英文标签和中文标签。表示控制主题。
1.1.3. MQTT QoS含义
我司MQTT QoS含义主要分四个等级,四个等级分别对应0、1、2、3。其中每个等级
含义分别为:
- QoS 0: “至多一次”,接收者不会应答消息,发送者也不会保存和重发消息。这种模式 常被称作“发射后不管”,会发生消息丢失或重复。
- QoS 1: “至少一次”,当使用级别1时,它可以保证消息至少被送达到接收者一次,但也可能被送达到多次。
- QoS 2: “只有一次”,可以保证每条消息只被接收一次。
- QoS 3: 在 “2” 的基础上加上时间戳。(该等级为我司自定义等级,目前MixIOT暂不支持)
1.1.4. 反向控制KEY
反向控制KEY就是被控制设备参数的KEY,适配器重启和升级无需写,升级只需写固件名和路径即可。
1.1.5. 控制代码及含义
控制代码指设备控制器上报的KEY值代码,例如设备开关机、加卸载等,这类参数KEY
按照“设备控制”这组脚本格式写入即可,还有一类无代码的运行参数,例如温度、压力等,这类参数KEY按照“设置温度”这组脚本格式写入即可。这样在页面上显示的效果如上效果图所示,有代码的直接通过按钮控制,无代码的直接手动输入数据即可。
1.2. Codebasescript(代码库脚本)
Codebase_script处脚本主要作用是配置设备的事件、报警、故障规则,设备触发配置内规则时,系统会产生相应的事件、报警、故障记录。
代码模板如下:
[
["ALT-A","A1_3_25","8","2508","Oil Filter Due","油滤器使用时间到"],
["ALT-B","A1_3_26","2609","2609","Oil Separator Due","油分器使用时间到"],
["ALT-C","A1_3_28","1","2801","Main System Over Load Alert","主机过载报警"],
["ALT-C","A1_3_28","2","2802","Main System Balance LostAlert","主机不平衡报警"],
["ALT-C","A1_3_28","7","2807","High Exhaust TemperatureAlert","排气温度高报警"],
["EVNT","E1_3_7_0","1","3701","System Load Start","设备开始加载"],
["EVNT","E1_3_7_0","0","3700","System Load Stop","设备停止加载"]
]
依次顺序说明:
- 设备上报数据类型
- 设备上报数据KEY
- 设备上报代码
- 系统对应代码
- 英文标签
- 中文标签
中文说明 | 数据类型 | 设备上报KEY | 设备上报代码 | 系统对应代码 | 英文标签 | 中文标签 |
---|---|---|---|---|---|---|
示例参考 | ALT-A | A1_3_25 | 8 | 2508 | Oil Filter Due | 油滤器使用时间到 |
1.2.1. 数据类型
告警数据类型分为三大类:事件(EVNT)、报警(ALT)、故障(FLT)。其中报警和故障根据报警代码不同再细分为三小类。
- ALT-A(或FLT-A):一个KEY只存在一个报警(故障)代码,且报警(故障)代码与系统对应代码不一致。系统代码一般是适配器寄存地址+上报代码。设备上报配置代码时,产生报警(故障);设备上报配置外代码时,报警(故障)恢复。
- ALT-B(或FLT-B):一个KEY只存在一个报警(故障)代码,且报警(故障)代码与系统对应代码一致。设备上报配置代码时,产生报警(故障);设备上报配置外代码时,报警(故障)恢复。
- ALT-C(或FLT-C):一个KEY只存在多个报警(故障)代码,且报警(故障)代码与系统对应代码不一致。系统代码一般是适配器寄存地址+上报代码。设备上报配置代码时,产生报警(故障);设备上报配置外代码时,所有报警(故障)恢复。
1.2.2. 上报数据KEY
定义的KEY直接在数据表中可获取。为区分数据类型,所以KEY的开头字母根据不同数据类型有所不同。
- 事件:E开头,例如E1_2_3
- 报警:A开头,例如A1_2_3
- 故障:F开头,例如F1_2_3
- 运行参数:L开头,例如L1_2_3
- 运行状态:直接以Z表示
1.2.3. 报警(故障、事件)代码
报警(故障、事件)代码分为:设备上报代码和系统对应代码。设备上报代码由设备自身已定义好的代码进行上报,系统对应代码由配置人员自定义,定义规则参考2.2.1。