Skip to content

设备上报数据 ​

在上一节中,您已经获得了设备证书的两个标识。

对于普通的物联网场景,使用设备的这两个标识,就可以完成设备数据向云端的上报,也就是我们通常说的数据采集。

ZhiLian.Yun 支持多种设备接入协议,这里我们分别以常用的 MQTT 协议为例,快速实现数据上报,完成我们进入互联网开发世界的第一个 Hello World。

假设我们的物理设备是一个通过 UART 串口连接温度传感器的 ARM 单片机,通过 WiFi 模组接入互联网。我们希望将温度数据上报到云平台。

通过 MQTT 上报数据 ​

MQTT 全称是 Message Queuing Telemetry Transport,它是一种基于消息队列的轻量级应用层通信协议,实现了消息发布和订阅。设备可以作为客户端的形式通过它来发布和接收消息,实现数据上报和实时控制。

ZhiLian.Yun 公有云支持全球多个区域,并随着设备接入量不断扩张。每个接入的设备有专用的 MQTT 接入点,您可以在设备详情页的【连接】中找到 MQTT 接入点,例如:

mqtt://<endpoint>:1883

以上表示 MQTT 接入点服务器主机为 <endpoint>, 端口为 1883。其中 <endpoint> 会以域名形式出现,不支持 IP。

为了方便演示,我们使用 MQTTX 官网 来模拟设备端与 ZhiLian.Yun 建立 MQTT 连接以及上报数据。

这里我们采用 MQTT 普通认证方式,通过 username/password 完成连接身份验证。同样要用到之前拿到的设备证书,身份信息对应关系如下:

参数值
usernameAccessToken
passwordProjectKey
clientId空或任意

在 MQTTX 中设置连接参数,如下图:

智联.云 MQTTX配置链接

MQTT.fx 设置连接到 ZhiLian.Yun

连接成功后, 订阅主题 down/10000000/# 。 发布到的主题 up/10000000/attributes/post,这个主题是 ZhiLian.Yun 标准协议的属性上报主题。

然后在内容区中填写以下 JSON 消息:

{
  "id": 1,
  "ack": 1,
  "time": 0,
  "data": {
    "temperature": 26.5,
    "humidity": 62
  }
}

点击 发布按钮,即可完成一次设备数据上报。

智联.云 MQTTX发送消息

提示

更多 MQTT 接入 ZhiLian.Yun 的实战教程,请进入 [教程]。

提示

在实际的设备开发中,不同的硬件平台有不同的开发方式,我们将会对一些主流硬件提供 SDK 和代码示例,包括基于 ARM/RISC-V 的单片机、基于 RTOS/Linux 操作系统的嵌入式硬件、基于 OpenCPU 模式的通信模组等。

更多设备接入方式 ​

ZhiLian.Yun 支持更多设备接入方式,详情请浏览 [设备接入指南]。