ThingsBoard物联网平台之MQTT设备协议简介


ThingsBoard简介:

 ThingsBoard是一个开源的物联网平台,用于数据收集、处理、可视化和设备管理。它支持使用MQTT、CoAP和HTTP等标准物联网协议进行设备连接,并适用于云和本地部署。ThingsBoard提供可扩展、容错且高性能的服务,确保数据不会丢失。平台拥有30多个可自定义的小部件,允许用户为大多数物联网用例构建自定义仪表板。此外,ThingsBoard分为社区版和专业版,社区版是开源的,而专业版是收费的。它适用于多种场景,包括智慧能源、智慧农业、车辆定位、智能计量、环境监控、智慧办公、智能零售和水资源监测等。

MQTT基础知识

MQTT是一种轻量级的发布 – 订阅消息传递协议,可能使其最适合各种物联网设备。您可以在此处找到有关MQTT的更多信息。
ThingsBoard服务器节点充当MQTT Broker,支持QoS级别0(最多一次)和1(至少一次)以及一组预定义主题。

客户端库设置

您可以在Web上找到大量MQTT客户端库。本文中的示例将基于Mosquitto,MQTT.jsPaho,要设置其中一个工具。

客户端库设置

您可以在Web上找到大量MQTT客户端库。本文中的示例将基于Mosquitto,MQTT.js和Paho,要设置其中一个工具。

键值格式

默认情况下,ThingsBoard支持JSON中的键值内容。Key始终是一个字符串,而value可以是string,boolean,double或long。也可以使用自定义二进制格式或某些序列化框架。有关详细信息,请参阅物模型。例如:

{"stringKey":"value1", "booleanKey":true, "doubleKey":42.0, "longKey":73}

遥测上传API

为了将遥测数据发布到ThingsBoard服务器节点,请将PUBLISH消息发送到以下主题:

v1/devices/me/telemetry

最简单的支持数据格式是:

{"key1":"value1", "key2":"value2"}

要么

 [{"key1":"value1"}, {"key2":"value2"}]

请注意,在这种情况下,服务器端时间戳将分配给上传的数据!
如果您的设备能够获取客户端时间戳,您可以使用以下格式:

 {"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}

在上面的示例中,我们假设“1451649600512”是具有毫秒精度的unix时间戳。例如,值’1451649600512’对应于’Fri,2016年1月1日12:00:00.512 GMT’

属性API

ThingsBoard属性API允许设备
将客户端设备属性上载到服务器。
将属性更新发布到服务器
要将客户端设备属性发布到ThingsBoard服务器节点,请将PUBLISH消息发送到以下主题:

 v1/devices/me/attributes

智联引擎
依托AIoT2.0技术,实现感知、认知、决策和执行的一体化融合,打造云边协同的分布式智联引擎,驱动行业数智化革新。