Skip to content

设备接入(HTTP 协议) ​

这篇解决什么 ​

HTTP 设备打哪几个路径、Token 从哪来。读完能对上 protocol: http 和 IotHttpProtocol,不要把请求打到管理端 48080。

产品 protocolType 填 http。先看 设备接入(概述)。注册规则见 设备动态注册。

示意图:认证拿 Token。上行路径把 method 写在 URL 后段。

从哪改 ​

名称说明仓库路径
协议Vert.x HTTPruoyi-office/yudao-module-iot/yudao-module-iot-gateway/.../http/IotHttpProtocol.java
认证POST /authIotHttpAuthHandler
注册POST /auth/register/deviceIotHttpRegisterHandler
子设备注册POST /auth/register/sub-device/:productKey/:deviceNameIotHttpRegisterSubHandler
上行POST /topic/sys/:productKey/:deviceName/*IotHttpUpstreamHandler
样例id: http-json,默认关,端口 8092application.yaml

/auth 和 /auth/register/device 不带 Token。其它路径要 Authorization 头,值是认证接口发的设备 Token。子设备注册也要 Token(网关侧已认证)。

Token 密钥在 yudao.iot.gateway.token。默认只够本机,生产必须改 secret(配置要求足够长),expiration 样例 7d。

上行:URL 星号段把斜杠换成点,必须等于 body 里的 method。例如 .../thing/property/post 对应 thing.property.post。成功回 messageId。

可配 ssl(证书路径在实例的 ssl 块)。下行靠 IotHttpDownstreamSubscriber 订消息总线;HTTP 无长连接时,下行能力受协议限制,不要按 MQTT 那样理解推送。

字段 ​

名称说明仓库路径
port样例 8092ProtocolProperties
Authorization除注册 / 认证外必带IotHttpAbstractHandler
methodbody 与 URL 后段必须一致IotHttpUpstreamHandler

不要打 /admin-api

这是网关端口上的设备口。管理端 /admin-api/iot/device 是给人用的。设备打 48080 会走登录态,不是这套 Token。

先 /auth 再上报

漏 Token 直接 token 不能为空。Token 过期重新 /auth,不要把过期值写死在固件里。

示意图:按本仓库实现画的时序。

配置与操作 ​

yaml 开 id: http-json,protocol: http,默认口 8092。设备打网关,不要打管理端 48080。POST /auth、/auth/register/device 不带 Token;上行 POST /topic/sys/:pk/:dn/* 要 Authorization。URL 后段斜杠改点必须等于 body method。

Token 密钥在 yudao.iot.gateway.token,生产改 secret。HTTP 无长连接,下行不要按 MQTT 理解。开启见 IoT 功能设计。

IoT 首页

本系统截图:IoT 首页。协议实例在网关 yaml,没有「MQTT / HTTP」独立菜单。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版