1. Codebase代码库规范

文档说明

本文档主要是对MixIOT系统中codebase(代码库)、mapping(映射表)配置规则作一个注释讲解,使用户在规定的规则下对脚本进行编辑。因此本文档的侧重点主要是对配置脚本中字符进行注释说明。

适用对象

本文档适用于智物联开发人员和ADMIN管理员。

1.1. Codebasetemplate(代码库模板)

Codebase_template处脚本主要作用与设备的反向控制功能,目前只制定了一个临时规则,后续有完善后再做更新。 目前代码模板如下:

  1. [
  2. ["ChangeTemp","Change Temperature","设置温度","2","L1_3_10","\$","请输入温度"],
  3. ["Control","Start RemoteControl","设备控制","2","L1_3_9","1|2","远程启动|远程停机"]
  4. ]

依次顺序说明:

  • Action
  • 英文标签
  • 中文标签
  • MQTT Qos协议
  • 反向控制KEY
  • 控制代码
  • 控制代码含义
中文说明Action英文标签中文标签MQTT Qos协议反向控制KEY控制代码控制代码含义
示例参考ControlChange Temperature设置温度2L1_3_91¦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处脚本主要作用是配置设备的事件、报警、故障规则,设备触发配置内规则时,系统会产生相应的事件、报警、故障记录。

代码模板如下:

  1. [
  2. ["ALT-A","A1_3_25","8","2508","Oil Filter Due","油滤器使用时间到"],
  3. ["ALT-B","A1_3_26","2609","2609","Oil Separator Due","油分器使用时间到"],
  4. ["ALT-C","A1_3_28","1","2801","Main System Over Load Alert","主机过载报警"],
  5. ["ALT-C","A1_3_28","2","2802","Main System Balance LostAlert","主机不平衡报警"],
  6. ["ALT-C","A1_3_28","7","2807","High Exhaust TemperatureAlert","排气温度高报警"],
  7. ["EVNT","E1_3_7_0","1","3701","System Load Start","设备开始加载"],
  8. ["EVNT","E1_3_7_0","0","3700","System Load Stop","设备停止加载"]
  9. ]

依次顺序说明:

  • 设备上报数据类型
  • 设备上报数据KEY
  • 设备上报代码
  • 系统对应代码
  • 英文标签
  • 中文标签
中文说明数据类型设备上报KEY设备上报代码系统对应代码英文标签中文标签
示例参考ALT-AA1_3_2582508Oil 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。