设备接入
本章介绍设备侧如何接入 alinkiot 平台,包含 MQTT 设备接入与 TCP 透传设备接入两种方式。
MQTT 设备接入
适用于原生支持 MQTT 协议的设备(如各类传感器、控制器、DTU 等)。
前置条件: 已在平台创建对应产品(协议标识选择 mqtt-json)并添加设备,获取设备 Key(dk)和设备 Secret(ds),或产品 Key(pk)和产品 Secret(ps)。
认证方式一:一机一证(推荐)
每台设备使用自己独立的 Key/Secret 接入,安全性高。
clientId: uzy_1_{addr}
username: {dk} ← 设备 Key
password: {ds} ← 设备 Secret
{addr}为设备唯一地址,clientId格式固定为uzy_1_前缀加设备地址。
认证方式二:一型一密
同一产品下所有设备共用产品级凭证接入,适合批量生产设备。
clientId: uzy_2_{addr}
username: {pk} ← 产品 Key
password: {ps} ← 产品 Secret
连接成功后
订阅(接收平台下发指令):
d/in/{addr}
平台向设备下发命令时,设备从该 Topic 接收消息。
发布(设备上报数据):
d/out/{addr}
设备将采集到的数据发布到该 Topic,平台自动解析并存储。
完整接入流程
1. 设备上电,使用 MQTT 客户端连接平台 Broker
2. clientId / username / password 按上述格式填写
3. 连接成功后订阅 d/in/{addr},监听平台下发指令
4. 定时或按需向 d/out/{addr} 发布采集数据(JSON 格式,符合物模型定义)
5. 平台仪表盘设备状态变为在线,实时数据可查
TCP 设备接入
适用于使用 TCP 透传协议的设备(如工业 DTU、Modbus 网关等经 TCP 透传的设备)。
前置条件: 已在平台创建对应产品(协议标识选择 tcp-json 或自定义 TCP 协议),并添加设备。
第一步:登录注册
设备建立 TCP 连接后,首先发送登录报文,完成身份认证。
认证方式一:一机一证
reg,1,{addr},{dk},{ds}\r\n
| 字段 | 说明 |
|---|---|
1 |
认证类型,1 = 一机一证 |
{addr} |
设备唯一地址 |
{dk} |
设备 Key |
{ds} |
设备 Secret |
认证方式二:一型一密
reg,2,{addr},{pk},{ps}\r\n
| 字段 | 说明 |
|---|---|
2 |
认证类型,2 = 一型一密 |
{addr} |
设备唯一地址 |
{pk} |
产品 Key |
{ps} |
产品 Secret |
注意:报文末尾必须带
\r\n换行符。
第二步:心跳保活
设备需定时发送心跳报文,防止 TCP 连接因超时被服务器断开:
ping\r\n
建议心跳间隔:30~60 秒。
第三步:数据上报与指令接收
TCP 设备通过同一条 TCP 连接双向通信:
- 上报数据:按照物模型定义,将数据以 JSON 格式发送至平台
- 接收指令:平台下发指令时,直接通过该 TCP 连接推送至设备
完整接入流程
1. 设备上电,建立 TCP 长连接至平台地址
2. 发送 reg 登录报文完成身份认证(一机一证或一型一密)
3. 登录成功后,平台返回成功响应
4. 设备定时发送 ping\r\n 保持连接活跃
5. 按物模型格式上报数据,平台解析并存储
6. 实时接收平台下发的控制指令
设备接入方式对比
| 维度 | MQTT 设备 | TCP 设备 | 应用 MQTT 对接 |
|---|---|---|---|
| 适用对象 | 原生 MQTT 设备 | DTU / Modbus 网关 / TCP 透传设备 | 第三方业务系统 |
| 认证方式 | 一机一证 / 一型一密 | 一机一证 / 一型一密 | AppID / AppSecret |
| 数据上报 Topic/方式 | d/out/{addr} |
TCP 直连发送 | — |
| 接收下发 Topic/方式 | d/in/{addr} |
TCP 直连接收 | p/in |
| 心跳保活 | MQTT 协议内置 keepalive | ping\r\n |
MQTT 协议内置 |
| 数据格式 | JSON(符合物模型) | JSON / 二进制(按协议插件解析) | JSON |
应用侧(第三方业务系统)通过 MQTT / REST API 的对接方式,参见 应用接入。