开发者中心

MQTT静态模板

概述

为了简化设备集成QuarkIoE已经支持许多静态模板,任何客户端都可以使用,而无需创建自己的模板。 这些模板专注于最常用的消息以用于设备管理目的。

要使用下面列出的模板,您需要将消息发布到主题"s/us"。

要接收具有静态模板的操作,您需要订阅主题"s/ds"。

自动创建设备

静态模板的主题支持自动创建设备。 每当没有与您的MQTT ClientID相关联的子设备,并且您发送数据时,QuarkIoE将自动为MQTT ClientID创建一个设备。 如果你想创建自己的设备,你的第一条消息必须是设备创建。 在这种情况下QuarkIoE将从模板创建设备。

第一级子设备也支持自动创建设备。 对于更深级的子设备,必须使用模板创建子设备,方法是将其发送到要放置新子设备的子设备的主题。

处理非必选参数

如果参数未声明为必选,客户端可以在该位置发送空字符串。

示例:


  100,,myType
                      

不需要尾部逗号。 下面的两行结果是相同的消息。


  100,,
  100
                      

发布模板

以下模板可用于发布主题"s/us"的数据。

设备清单模板 (1xx)
设备创建 (100)

将在设备清单中为此序列号创建一个新设备(如果尚不存在)。 将创建类型为"c8y_Serial"的设备外部ID以及MQTT clientId的设备标识符

位置 参数 必选 缺省
1 设备名称 MQTT Device <serialNumber>
2 设备类型 c8y_MQTTDevice

Example:


  100,myDevice,myType
                          
子设备创建 (101)

将为当前设备创建一个新的子设备。 新创建的对象将作为子设备添加。 此外,将使用类型"c8y_Serial"创建子设备的外部标识,值将是根设备序列号和唯一子标识的组合。

位置 参数 必选 缺省
1 唯一子设备ID
2 设备名称 MQTT Device <serialNumber>
3 设备类型 c8y_MQTTChildDevice

示例:

101,uniqueChildId,myChildDevice,myChildType
                          
获取子设备 (105)

将触发发送设备的子设备。

示例:


    105
                          
配置硬件属性 (110)

将更新设备的硬件属性。

位置 参数 必选
1 serialNumber
2 model
3 revision

示例:


  110,1234567890,myModel,1.2.3
                          
配置移动网络属性 (111)

将更新设备的移动网络属性。

位置 参数 必选
1 imei
2 iccid
3 imsi
4 mcc
5 mnc
6 lac
7 cellId

示例:


  111,1234567890,,54353
                          
配置位置信息 (112)

将更新设备的位置属性。

位置 参数 必选
1 latitude
2 longitude
3 altitude
4 accuracy

示例:


  112,50.323423,6.423423
                          
设置配置文件 (113)

将更新设备的位置属性。

位置 参数 必选
1 configuration

示例:


  113,"val1=1\nval2=2"
                          
设置支持的操作(114)

将设置设备支持的操作

位置 参数 必选
1... 支持操作的列表

示例:


  114,c8y_Restart,c8y_Configuration,c8y_SoftwareList
                          
设置固件 (115)

将设置安装在设备上的固件

位置 参数 必选
1 name
2 version
3 url

示例:


  115,firmwareName,firmwareVersion,firmwareUrl
                          
设置软件列表 (116)

将设置安装在设备上的软件列表

位置 参数 必选
1... 每个软件的3值列表
1.1 name
1.2 version
1.3 url

示例:


  116,software1,version1,url1,software2,,url2,software3,version3
                          
设置所需可用性 (117)

将设置可用性监控所需的时间间隔。 如果不存在,将只设置值。 输入的值(例如通过UI)不会覆盖。

位置 参数 必选
1 所需的时间间隔

示例:


    117,60
                          
测量值模板 (2xx)
创建自定义测量值 (200)

将创建一个给定的片段和系列的测量值

位置 参数 必选 缺省
1 fragment
2 series
3 value
4 unit
5 time 当前服务器时间

示例:


  200,c8y_Temperature,T,25
                          
创建信号强度测量值 (210)

将创建类型c8y_SignalStrength的测量值

位置 参数 必选 缺省
1 rssi 值 是, 如果是2不设置
2 ber 值 否, 如果是1不设置
3 time 当前服务器时间

示例:


  210,-90,23,2016-06-22T17:03:14.000+02:00
                          
创建温度测量值 (211)

将创建类型为c8y_TemperatureMeasurement的测量值

位置 参数 必选 缺省
1 温度值
2 time 当前服务器时间

示例:


  211,25,2016-06-22T17:03:14.000+02:00
                          
创建电池测量值 (212)

将创建类型为c8y_Battery的测量值

位置 参数 必选 缺省
1 电池电量值
2 time 当前服务器时间

示例:


  212,95,2016-06-22T17:03:14.000+02:00
                          
报警模板(3xx)
创建严重报警 (301)

将创建严重报警

位置 参数 必选 缺省
1 type
2 text Alarm of type <alarmType> raised
3 time 当前服务器时间

示例:


  301,c8y_TemperatureAlarm
                          
创建主要报警 (302)

将创建主要报警

位置 参数 必选 缺省
1 type
2 text Alarm of type <alarmType> raised
3 time 当前服务器时间

示例:


  302,c8y_TemperatureAlarm,This is an alarm
                          
创建次要报警 (303)

将创建次要报警

位置 参数 必选 缺省
1 type
2 text Alarm of type <alarmType> raised
3 time 当前服务器时间

示例:


  303,c8y_TemperatureAlarm
                          
创建警告报警 (304)

将创建报警报警

位置 参数 必选 缺省
1 type
2 text Alarm of type <alarmType> raised
3 time Current server time

示例:


  304,c8y_TemperatureAlarm,,2013-06-22T17:03:14.000+02:00
                          
更新现有报警的严重级别 (305)

将更改现有报警的严重程度

位置 参数 必选
1 type
2 severity

示例:


  305,c8y_TemperatureAlarm,CRITICAL
                          
清除现有报警 (306)

将清除现有报警

位置 参数 必选
1 type

示例:


  306,c8y_TemperatureAlarm
                          
事件模板 (4xx)
创建基本事件 (400)

将创建一个给定类型和文本的事件。

位置 参数 必选 缺省
1 type
2 text
3 time 当前服务器时间

示例:


  400,c8y_MyEvent,"Something was triggered"
                          
创建位置更新事件 (401)

将创建包含c8y_Position的典型位置更新事件

位置 参数 必选 缺省
1 latitude
2 longitude
3 altitude
4 accuracy
5 time 当前服务器时间

示例:


  401,51.151977,6.95173,67
                          
创建位置更新事件同时更新设备信息 (402)

将创建包含c8y_Position的典型位置更新事件。 此外,将使用相同的c8y_Position片段进行更新设备。

位置 参数 必选 缺省
1 latitude
2 longitude
3 altitude
4 accuracy
5 time 当前服务器时间

示例:


  402,51.151977,6.95173,67
                          
操作模板 (5xx)
获取待处理操作 (500)

将触发agent的所有待处理操作的发送。

示例:


  500
                          
设置操作状态为执行中 (501)

将具有给定片段的最早的待处理操作状态设置为执行中

位置 参数 必选
1 fragment

示例:


  501,c8y_Restart
                          
设置操作状态为失败 (502)

将具有给定片段的最早的执行中操作状态设置为失败

位置 参数 必选
1 fragment
2 failureReason

示例:


  502,c8y_Restart,"Could not restart"
                          
设置操作状态为成功 (503)

将具有给定片段的最早的执行中操作状态设置为成功。 它使设备能够基于作为片段发送的操作类型发送触发附加步骤的附加参数(请参见更新操作一节)。

位置 参数 必选
1 fragment
2... parameters

示例:


  503,c8y_Restart
                            

订阅模板

订阅"s/ds"时,客户端可以接收以下模板。

设备清单模板 (1xx)
获取子设备 (106)

列出设备的所有子设备

位置 参数
1... child

示例:


  106,child1,child2,child3
                            
操作模板 (5xx)

所有操作应答具有相同的基本结构,消息ID后跟根设备或应处理操作的子设备的ID。

重启 (510)

通知设备重启。

示例:


  510,DeviceSerial
                            
命令 (511)

通知设备运行在操作中包含的命令。

位置 参数
1 命令内容

示例:


  511,DeviceSerial,execute this
                            
配置 (513)

通知设备设置在操作中包含的配置。

位置 参数
1 configuration

示例:


  513,DeviceSerial,"val1=1\nval2=2"
                            
固件 (515)

通知设备安装从url下载的固件。

位置 参数
1 固件名称
2 固件版本
3 url

示例:


  515,DeviceSerial,myFimrware,1.0,http://www.my.url
                            
软件列表 (516)

通知设备安装操作中包含的软件。

位置 参数
1... 每个软件的3值列表
1.1 name
1.2 version
1.3 url

示例:


  516,DeviceSerial,softwareA,1.0,url1,softwareB,2.0,url2
                            
测量值请求操作 (517)

通知设备发送请求名称指定的测量值。

位置 参数
1 request name

示例:


  517,DeviceSerial,LOGA
                            
继电器 (518)

通知设备打开或关闭继电器

位置 参数
1 继电器状态

示例:


  518,DeviceSerial,OPEN
                            
继电器阵列 (519)

通知设备打开或关闭阵列中的继电器。

位置 参数
1... 继电器状态列表

示例:


  519,DeviceSerial,OPEN,CLOSE,CLOSE,OPEN
                            
上传配置文件 (520)

通知设备上传其当前配置

示例:

520,DeviceSerial
                            

下载配置文件 (521)

通知设备从url下载配置文件。

位置 参数
1 url

示例:


  521,DeviceSerial,http://www.my.url
                            
日志文件请求 (522)

通知设备按给定的参数上传日志文件。

位置 参数
1 日志文件名称
2 开始日期
3 结束日期
4 搜索字符串
5 最大行数

示例:


  522,DeviceSerial,logfileA,2013-06-22T17:03:14.000+02:00,2013-06-22T18:03:14.000+02:00,ERROR,1000
                            
通信模式 (523)

通知设备改变通信模式。

位置 参数
1 mode

示例:


  523,DeviceSerial,SMS
                            

更新操作

当使用模板将操作设置为成功状态时,它支持发送其他参数以触发服务器上的其他调用。 下表显示了支持此功能的操作以及使用参数完成的操作。

片段 参数 触发的动作
c8y_Command 结果 结果将添加到操作
c8y_RelayArray 继电器状态 设备对象将使用状态更新
c8y_CommunicationMode 不需要参数 设备对象将使用模式更新
c8y_LogfileRequest 文件url 文件url将被添加到操作
c8y_DownloadConfigFile (可选) 时间戳 设备对象将使用配置转储的ID和时间戳(或服务器时间)进行更新