设备接入(CoAP 协议)
这篇解决什么
CoAP 资源路径怎么对 HTTP 那套。读完能对上 protocol: coap 和 IotCoapProtocol,默认口是 5683,不是 8092。
产品 protocolType 填 coap。路径语义对齐 设备接入(HTTP 协议)。总开关见 设备接入(概述)。
示意图:Californium 起资源树。认证、注册、属性 / 事件上报分路径。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 协议 | Eclipse Californium | ruoyi-office/yudao-module-iot/yudao-module-iot-gateway/.../coap/IotCoapProtocol.java |
| 认证 / 注册 | /auth、/auth/register/device | IotCoapAuthHandler / IotCoapRegisterHandler |
| 子设备注册 | /auth/register/sub-device/{productKey}/{deviceName} | IotCoapRegisterSubHandler |
| 上报 | /topic/sys/{pk}/{dn}/... | 上行 Resource |
| 样例 | id: coap-json,默认关,端口 5683 | application.yaml |
类注释写明:认证 POST /auth;注册两条;属性 .../thing/property/post;事件 .../thing/event/post。和 HTTP 设备口同形,传输是 CoAP,不是网关 8092 上的 HTTP。
coap.max-message-size 默认 1024(比 HTTP 小)。ack-timeout-ms=2000,max-retransmit=4。超大 JSON 会在这里被挡,先砍 payload。
认证后同样发设备 Token。子设备注册要网关侧已认证。下行:IotCoapDownstreamSubscriber 订总线;CoAP 观察/下行能力按实现走,不要默认成长连接推送。
字段
| 名称 | 说明 | 仓库路径 |
|---|---|---|
port | 样例 5683 | ProtocolProperties |
max-message-size | 默认 1024 | IotCoapConfig |
ack-timeout-ms / max-retransmit | 确认与重传 | 同上 |
不要用 HTTP 客户端打 5683
5683 是 CoAP。用 HTTP POST 打这个口对不上。HTTP 设备走 8092。
默认包长比 HTTP 紧
样例 max-message-size=1024。属性批量上报先拆包或改大,否则设备侧只看到超时重传。
示意图:按本仓库实现画的时序。
配置与操作
yaml 开 id: coap-json,protocol: coap,默认口 5683(不是 HTTP 的 8092)。路径语义对齐 HTTP:认证、注册、上行。产品 protocolType 填 coap。强制 JSON。
开启见 IoT 功能设计。

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