cumulocity mqtt measurement

时间:2017-07-17 04:10:48

标签: mqtt cumulocity

我是Cumulocity的新手,我正在尝试使用mqtt和smartrest模板从我自己的设备获取数据。我可以使用静态模板获取数据,但它们仅支持某些数据类型。我正在努力在用户界面中创建适当的智能模板,文档并没有详细介绍。

我知道模板名称在s / ut / template_name中的MQTT主题中(或在登录时选择,作为用户名的一部分),模板中消息的messageId与MQTT的第一个CSV字段匹配发布有效载荷我没有得到的是模板术语。在UI中,我选择API-> Measurement and Method-> POST,我会看到所需的值$ .type和$ .time。我的问题:

  • 是$ .type"测量片段类型"名字或我必须做到" c8y_CustomMeasurement"?我能把它称之为我想要的吗?
  • $ .time有一个值字段。如果在发布中没有提供默认值,这是默认值吗?
  • 我假设我需要在可选的API值中添加数值。要将它与数据点的值相关联,我应该创建密钥" c8y_CustomMeasurement.custom.value"?
  • 我离开基地了吗?

每次我发布到我自己的smartrest模板时,服务器都会丢弃连接,所以我在模板设置中假设它出错,但我没有看到访问调试消息的方法(也没有任何内容发布给我s / e或s / dt)。

为了举个例子,假设我希望发布一个带有有效载荷格式的无单位,带时间戳的脉冲计数" mId,ts,value"示例数据" p01,' 2017-07-17 12:34:00',1234"

1 个答案:

答案 0 :(得分:0)

到目前为止,您所写的内容大多是正确的,只是为了更加精确:

  • 主题是s / uc / template_id(不是模板名称,这只是一个标签)
  • $ .type指测量JSON中的'type'片段。这是一个自由文本字段
  • 在99%的情况下,您希望将$ .time留空。如果您在此处设置了某些内容,则它不是默认设置,而是固定为该时间戳,并且在使用模板时无法更改它。如果你把它留空,仍然没有发送东西
  • 示例:p01,2017-07-17T12:34:00,1234(没有报价时间戳和ISO8601格式
  • 不发送时间的示例:p01 ,,,1234(发送空字符串作为时间导致服务器时间设置。模板相同)

希望这些要点可以帮助您找到问题