Skip to content

设备接入(概述) ​

这篇解决什么 ​

设备连的是哪套进程、协议实例怎么开。读完能对上 IotGatewayServerApplication + yudao.iot.gateway.protocols,不要以为开了管理端菜单设备就能连上。

默认管理端 48080。网关是另一套进程。产品上的 protocolType 必须和网关实例的 protocol 对上。

示意图:网关收协议。认证和注册回打管理端。上下行业务走消息总线。

从哪改 ​

名称说明仓库路径
网关启动类单独进程ruoyi-office/yudao-module-iot/yudao-module-iot-gateway/.../IotGatewayServerApplication.java
实例列表yudao.iot.gateway.protocolsyudao-module-iot-gateway/src/main/resources/application.yaml
启停enabled=false 直接跳过IotProtocolManager
产品协议IotProtocolTypeEnumyudao-module-iot-core/.../IotProtocolTypeEnum.java

IotProtocolManager 实现 SmartLifecycle。配置里每条有 id、protocol、port、enabled。默认样例 全部 enabled: false,不改配置启动网关等于没监听。

protocol 取值:mqtt、emqx、http、tcp、udp、websocket、coap、modbus_tcp_client、modbus_tcp_server。和产品行 protocolType 同一套字符串。

RPC 默认 yudao.iot.gateway.rpc.url=http://127.0.0.1:48112,对微服务 iot-server。单体只起 YudaoServerApplication(48080)时,要把 url 改过去,否则认证 / 注册打空。

消息总线默认 yudao.iot.message-bus.type=redis。本机 Redis 仍是 127.0.0.1:6379。

认证:clientId={productKey}.{deviceName},username={deviceName}&{productKey},password 是 HMAC-SHA256。注册走产品 productSecret,见 设备动态注册。

字段 ​

名称说明仓库路径
id / protocol / port / enabled一条协议实例IotGatewayProperties.ProtocolProperties
rpc.url管理端认证地址IotGatewayProperties.RpcProperties
token.secret / expirationHTTP 等协议发的设备 TokenIotGatewayProperties.TokenProperties

默认实例全关

yaml 里的 mqtt-json、http-json、emqx-1 都是关着的。只起网关进程、不改 enabled,端口不会起来。

产品协议和网关实例要对同一字符串

产品写 mqtt、网关只开 emqx,设备连得上 Broker 也过不了本仓库这条协议栈。先定协议再烧 productKey。

示意图:先开实例、再对 RPC,最后才连设备。

配置与操作 ​

没有「设备接入」协议开关页。改网关 yudao-module-iot-gateway 的 yudao.iot.gateway.protocols:每条 id / protocol / port / enabled。默认样例全部 enabled: false,只起 IotGatewayServerApplication 不会监听。

单体要把 rpc.url 从 48112 改到 http://127.0.0.1:48080。产品 protocolType 必须和实例 protocol 同一字符串。消息总线默认本机 Redis 6379。开启见 IoT 功能设计。

IoT 首页

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

相关篇 ​

联系我们

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

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版