MQTT静态模板
总览
为了简化设备集成,Cumulocity IoT已经支持许多静态模板,任何客户端都可以使用它们,而无需创建自己的模板。这些模板专注于用于设备管理目的的最常用消息。
要使用下面列出的模板,您需要将消息发布到主题s/us(t/us用于临时处理已发布内容,q/us用于静态处理已发布内容或c/us用于CEP处理已发布内容。有关更多信息,请参阅参考指南中的SmartREST>处理模式。信息。
您需要预订主题s/ds才能接收使用静态模板的操作。
自动创建设备
静态模板主题支持自动创建设备。每当没有与您的MQTT ClientID关联的子级并发送数据时,Cumulocity IoT都会自动为MQTT ClientID创建设备。如果要自己创建设备,则第一条消息必须是设备创建。在这种情况下,Cumulocity IoT将根据模板创建设备。
第一级子设备也支持自动创建设备。对于更深层次的子设备,您必须使用模板来创建子设备,方法是将其发送到要放置新子设备的子设备下的子设备主题。
不处理任何强制性参数
如果未将参数声明为必需参数,则客户端可以在该位置发送空字符串。
100,,myType
不需要尾部逗号。下面的两行结果相同。
100,,
100
发布模板
以下模板可用于发布有关主题s/us以及的数据t/us。参阅SmartRest>处理模式的参考指南中有关的更多信息t/用于瞬时数据处理主题。
库存模板(1xx)
设备创建(100)
如果清单中的序列号尚不存在,请为其创建一个新设备。将为类型为c8y_Serial的设备创建一个externalId ,并将MQTT clientId的设备标识符作为值。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 设备名称 | 没有 | MQTT设备<serialNumber> |
2 | 设备类型 | 没有 | c8y_MQTTDevice |
例
100,myDevice,myType
创建子设备(101)
为当前设备创建一个新的子设备。新创建的对象将添加为子设备。此外,将使用c8y_Serial类型创建该子项的externaId,其值是根设备的序列号和唯一子项ID的组合。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 唯一的孩子ID | 是 | |
2 | 设备名称 | 没有 | MQTT设备<serialNumber> |
3 | 设备类型 | 没有 | c8y_MQTTChildDevice |
例
101,uniqueChildId,myChildDevice,myChildType
获取子设备(105)
触发设备子设备的发送。
例
105
清除设备的碎片(107)
从设备上移除一个或多个碎片。
位置 | 参数 | 强制性的 |
---|---|---|
1… | fragmentName | 是 |
例
107,c8y_Position,c8y_Configuration
配置硬件(110)
更新设备的硬件属性。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 序列号 | 没有 |
2 | 模型 | 没有 |
3 | 修订版 | 没有 |
例
110,1234567890,myModel,1.2.3
配置手机(111)
更新设备的移动属性。
位置 | 参数 | 强制性的 |
---|---|---|
1imei | 没有 | |
2 | iccid | 没有 |
3 | imsi | 没有 |
4 | 中冶 | 没有 |
5 | 跨国公司 | 没有 |
6 | 紫胶 | 没有 |
7 | cellId | 没有 |
例
111,1234567890,,54353
配置位置(112)
更新设备的位置属性。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 纬度 | 没有 |
2 | 经度 | 没有 |
3 | 高度 | 没有 |
4 | 准确性 | 没有 |
例
112,50.323423,6.423423
设置配置(113)
更新设备的配置属性。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 组态 | 没有 |
例
113,"val1=1
val2=2"
设置支持的操作(114)
设置设备支持的操作。
位置 | 参数 | 强制性的 |
---|---|---|
1… | 支持的操作列表 | 没有 |
例
114,c8y_Restart,c8y_Configuration,c8y_SoftwareList
设定固件(115)
设置设备上安装的固件。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 名称 | 没有 |
2 | 版 | 没有 |
3 | 网址 | 没有 |
例
115,firmwareName,firmwareVersion,firmwareUrl
设定软件列表(116)
设置设备上安装的软件列表。
位置 | 参数 | 强制性的 |
---|---|---|
1… | 每个软件3个值的列表 | 没有 |
1.1 | 名称 | 没有 |
1.2 | 版 | 没有 |
1.3 | 网址 | 没有 |
例
116,software1,version1,url1,software2,,url2,software3,version3
设置所需的可用性(117)
设置可用性监视所需的时间间隔。如果不存在,它将只设置该值。例如,通过用户界面输入的值不会被覆盖。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 所需间隔 | 没有 |
例
117,60
测量模板(2xx)
创建自定义度量(200)
使用给定的片段和序列创建度量。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 分段 | 是 | |
2 | 系列 | 是 | |
3 | 值 | 是 | |
4 | 单元 | 没有 | |
5 | 时间 | 没有 | 当前服务器时间 |
例
200,c8y_Temperature,T,25
创建信号强度测量(210)
创建类型为c8y_SignalStrength的度量。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | rssi值 | 是,如果未设置2 | |
2 | 误码率 | 是,如果未设置1 | |
3 | 时间 | 没有 | 当前服务器时间 |
例
210,-90,23,2016-06-22T17:03:14.000+02:00
创建温度测量值(211)
创建类型为c8y_TemperatureMeasurement的度量。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 温度值 | 是 | |
2 | 时间 | 没有 | 当前服务器时间 |
例
211,25,2016-06-22T17:03:14.000+02:00
创建电池测量值(212)
创建类型为c8y_Battery的度量。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 电池电量 | 是 | |
2 | 时间 | 没有 | 当前服务器时间 |
例
212,95,2016-06-22T17:03:14.000+02:00
警报模板(3xx)
创建严重警报(301)
创建一个严重警报。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 类型 | 是 | |
2 | 文本 | 没有 | 警报类型为警报类型已引发 |
3 | 时间 | 没有 | 当前服务器时间 |
例
301,c8y_TemperatureAlarm
创建主要警报(302)
创建一个主要警报。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 类型 | 是 | |
2 | 文本 | 没有 | 警报类型为警报类型已引发 |
3 | 时间 | 没有 | 当前服务器时间 |
例
302,c8y_TemperatureAlarm,"This is an alarm"
创建轻微警报(303)
创建一个MINOR警报。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 类型 | 是 | |
2 | 文本 | 没有 | 警报类型为警报类型已引发 |
3 | 时间 | 没有 | 当前服务器时间 |
例
303,c8y_TemperatureAlarm
创建警告警报(304)
创建一个警告警报。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 类型 | 是 | |
2 | 文本 | 没有 | 警报类型为警报类型已引发 |
3 | 时间 | 没有 | 当前服务器时间 |
例
304,c8y_TemperatureAlarm,,2013-06-22T17:03:14.000+02:00
更新现有警报的严重性(305)
更改现有警报的严重性。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 类型 | 是 |
2 | 严重程度 | 是 |
例
305,c8y_TemperatureAlarm,CRITICAL
清除现有警报(306)
清除现有警报。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 类型 | 是 |
例
306,c8y_TemperatureAlarm
清除警报的片段(307)
从特定类型的警报中删除一个或多个碎片。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | AlarmType | 是 |
2… | fragmentName | 是 |
例
307,c8y_TemperatureAlarm,c8y_Position,c8y_Configuration
活动模板(4xx)
创建基本事件(400)
创建给定类型和文本的事件。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 类型 | 是 | |
2 | 文本 | 是 | |
3 | 时间 | 没有 | 当前服务器时间 |
例
400,c8y_MyEvent,"Something was triggered"
创建位置更新事件(401)
创建包含c8y_Position的典型位置更新事件。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 纬度 | 没有 | |
2 | 经度 | 没有 | |
3 | 高度 | 没有 | |
4 | 准确性 | 没有 | |
5 | 时间 | 没有 | 当前服务器时间 |
例
401,51.151977,6.95173,67
使用设备更新创建位置更新事件(402)
创建包含c8y_Position的典型位置更新事件。此外,设备将使用相同的c8y_Position片段进行更新。
位置 | 参数 | 强制性的 | 默认 |
---|---|---|---|
1个 | 纬度 | 没有 | |
2 | 经度 | 没有 | |
3 | 高度 | 没有 | |
4 | 准确性 | 没有 | |
5 | 时间 | 没有 | 当前服务器时间 |
例
402,51.151977,6.95173,67
清除事件的片段(407)
从特定类型的事件中删除一个或多个片段。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 事件类型 | 是 |
2… | fragmentName | 没有 |
例
407,c8y_MyEvent,c8y_Position,c8y_Configuration
操作模板(5xx)
获取待处理操作(500)
触发代理的所有挂起操作的发送。
例
500
将操作设置为EXECUTING(501)
将具有给定片段的最早的PENDING操作设置为EXECUTING。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 分段 | 是 |
例
501,c8y_Restart
将操作设置为失败(502)
将给定片段的最早的EXECUTING操作设置为FAILED。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 分段 | 是 |
2 | 失败原因 | 没有 |
例
502,c8y_Restart,"Could not restart"
将操作设置为成功(503)
将给定片段的最早的EXECUTING操作设置为SUCCESSFUL。
它使设备能够发送其他参数,这些参数会根据作为片段发送的操作类型来触发其他步骤(请参阅“ 更新操作”一节)。
位置 | 参数 | 强制性的 |
---|---|---|
1个 | 分段 | 是 |
2… | 参数 | 没有 |
例
503,c8y_Restart
订阅模板
订阅时,客户端可以接收以下模板s/ds。
库存模板(1xx)
获取设备的子代(106)
列出设备的所有子代。
位置 | 参数 |
---|---|
1… | 儿童 |
例
106,child1,child2,child3
操作模板(5xx)
所有操作响应都具有相同的基本结构,以消息ID开头,后跟应该处理该操作的根设备或子代的ID。
重新启动(510)
重新启动设备。
例
510,DeviceSerial
指挥官(511)
运行操作中发送的命令。
位置 | 参数 |
---|---|
1个 | 命令文字 |
例
511,DeviceSerial,execute this
配置(513)
设置操作中要发送的配置。
位置 | 参数 |
---|---|
1个 | 组态 |
例
513,DeviceSerial,"val1=1
val2=2"
固件(515)
从URL安装固件。
位置 | 参数 |
---|---|
1个 | 固件名称 |
2 | 固件版本 |
3 | 网址 |
例
515,DeviceSerial,myFimrware,1.0,http://www.my.url
软件列表(516)
安装操作中发送的软件。
位置 | 参数 |
---|---|
1… | 每个软件3个值的列表 |
1.1 | 名称 |
1.2 | 版 |
1.3 | 网址 |
例
516,DeviceSerial,softwareA,1.0,url1,softwareB,2.0,url2
测量请求操作(517)
发送由请求名称指定的测量。
位置 | 参数 |
---|---|
1个 | 要求名称 |
例
517,DeviceSerial,LOGA
接力赛(518)
打开或关闭继电器。
位置 | 参数 |
---|---|
1个 | 中继状态 |
例
518,DeviceSerial,OPEN
中继阵列(519)
打开或关闭阵列中的继电器。
位置 | 参数 |
---|---|
1… | 中继状态列表 |
例
519,DeviceSerial,OPEN,CLOSE,CLOSE,OPEN
上传配置文件(520)
当前配置从Cumulocity IoT上传到设备。
例
520,DeviceSerial
下载配置文件(521)
从网址下载配置文件。
位置 | 参数 |
---|---|
1个 | 网址 |
例
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个 | 模式 |
例
523,DeviceSerial,SMS
更新操作
使用模板将操作设置为状态SUCCESSFUL时,它支持发送其他参数以触发服务器上的其他调用。下表显示了支持此功能的操作以及将使用参数执行的操作。
分段 | 参量 | 动作已触发 |
---|---|---|
c8y_Command | 结果 | 结果将被添加到操作中 |
c8y_RelayArray | 中继状态 | 设备对象将更新为状态 |
c8y_CommunicationMode | 无需参数 | 设备对象将使用模式更新 |
c8y_LogfileRequest | 文件网址 | 文件网址将被添加到操作中 |
c8y_DownloadConfigFile | (可选)时间戳 | 设备对象将使用配置转储的ID和时间戳(或服务器时间)进行更新。 |