Skip to content

驱动能力矩阵 ​

本页一览 IoT DC3 全部 36 个驱动的协议类别、读 / 写 / 订阅能力与实现状态,帮你在选型时快速对位。每行链接到该驱动自己的页面,属性、采集周期、最小接入示例等细节在那里展开。

读 / 写 / 订阅按驱动当前实现的真实行为标注:「✓」表示该能力已落地,「—」表示该协议方向不实现、由设计决定不提供、或骨架尚未补齐——具体以代码为准(见表后说明)。订阅 / 上报指驱动被动接收设备推送(监听端口、网络回调、设备注册等),区别于周期轮询采集。

「实现状态」列总结该驱动整体成熟度:

  • 完整:读 / 写 / 订阅按协议设计全部落地,可直接用于生产接入。
  • 可用:核心链路可用,但有局部局限(如部分数据类型、Observe、健康钩子未实现),详见备注与驱动页。
  • 骨架:协议组帧或传输层尚未补全,目前仅供结构参考,不能直接采集真实设备。

工业总线 / PLC ​

这一类驱动作为主站(client)主动连设备,按位号 轮询读值、按命令写值,不监听上报。ethernet-ip 走 CIP Unconnected 报文按标签名读写(不含 ForwardOpen 连接型 I/O)。

驱动 (dc3.driver.code)类别读写订阅/上报实现状态备注
Modbus TCP (ModbusTcpDriver)工业总线/PLC✓✓—完整以太网 Modbus 主站
Modbus RTU (ModbusRtuDriver)工业总线/PLC✓✓—完整串口 Modbus 主站
OPC UA (OpcUaDriver)工业总线/PLC✓✓—完整OPC 统一架构客户端
OPC DA (OpcDaDriver)工业总线/PLC✓✓—完整经典 OPC 数据访问(DCOM)
S7 (PlcS7Driver)工业总线/PLC✓✓—完整西门子 PLC
MELSEC (MelsecDriver)工业总线/PLC✓✓—完整三菱 PLC(MC 协议)
FINS (FinsDriver)工业总线/PLC✓✓—可用欧姆龙 PLC,支持 16/32 位整数、浮点、字符串与 BCD;main 组帧缺陷见驱动页告警
EtherNet/IP (EthernetIpDriver)工业总线/PLC✓✓—可用罗克韦尔 / CIP,Unconnected 报文读写标签

SCADA / 电力 / 计量 ​

楼宇、电力与计量类协议。bacnet-ip 与 snmp 主动读写;sl651 是水文遥测,开 TCP 服务端被动收报文,故仅订阅;iec104、dlms 当前为骨架。

驱动 (dc3.driver.code)类别读写订阅/上报实现状态备注
BACnet/IP (BacnetIpDriver)SCADA/电力/计量✓✓—完整楼宇自控
IEC 104 (Iec104Driver)SCADA/电力/计量———骨架电力 SCADA,协议层待补
DLMS (DlmsDriver)SCADA/电力/计量———骨架智能电表,传输层待补
SL651 (Sl651Driver)SCADA/电力/计量——✓完整水文遥测,TCP 服务端收报文
SNMP (SnmpDriver)SCADA/电力/计量✓✓—完整网络设备监控
DL/T645 (Dlt645Driver)SCADA/电力/计量✓✓—完整电能表(DL/T645-2007)
DNP3 (Dnp3Driver)SCADA/电力/计量✓✓—可用电力自动化,原生栈已实现待联调
IEC 61850 (Iec61850Driver)SCADA/电力/计量✓✓—完整变电站自动化(MMS 客户端)
KNX (KnxDriver)SCADA/电力/计量✓✓—完整楼宇自动化总线(Calimero)
M-Bus (MbusDriver)SCADA/电力/计量✓✓—完整仪表总线(EN 13757)自研组帧

IoT / 无线 ​

物联网与无线类。mqtt 走发布/订阅,值由订阅被动到达(无主动读),命令可下发;lwm2m 内嵌服务端、收设备注册与通知,读写已落地但 Observe 订阅尚未实现; coap、http、ble 为请求-响应式主动读写(coap 的 Observe 未实现);zigbee 经串口协调器读写 ZCL 属性,仅监听协调器网络状态、尚未监听节点入网与属性上报;can 当前为骨架实现,底层走 can-utils。

驱动 (dc3.driver.code)类别读写订阅/上报实现状态备注
MQTT (MqttDriver)IoT/无线—✓✓可用发布/订阅,值经订阅到达;initial() 钩子为骨架
CoAP (CoapDriver)IoT/无线✓✓—可用受限设备 RESTful,Observe 未实现
LwM2M (Lwm2mDriver)IoT/无线✓✓—可用内嵌服务端,读写已落地,Observe 订阅未实现
HTTP (HttpDriver)IoT/无线✓✓—完整通用 HTTP 采集
BLE (BleDriver)IoT/无线✓✓—可用低功耗蓝牙 GATT,需主机蓝牙适配器与 TinyB
Zigbee (ZigbeeDriver)IoT/无线✓✓—可用读写经串口协调器落地,订阅(入网/上报)未实现
CAN (CanDriver)IoT/无线✓——骨架控制器局域网,底层走 can-utils
LoRaWAN (LorawanDriver)IoT/无线✓✓✓可用ChirpStack MQTT 上行接入,Cayenne LPP,下行发布
Kafka (KafkaDriver)IoT/无线✓✓✓可用流式数据源,消费 + 生产

串口 / 通用网络 ​

按命令模板组帧的通用透传驱动,主动收发,不监听。

驱动 (dc3.driver.code)类别读写订阅/上报实现状态备注
串口 Serial (SerialDriver)串口/通用网络✓✓—完整通用串口透传
TCP/UDP (TcpUdpDriver) (raw)串口/通用网络✓✓—完整通用 socket 透传

数据库 ​

把库表当数据源:读走 executeQuery、写走 executeUpdate,由位号上的 SQL 模板驱动,不监听变更。

驱动 (dc3.driver.code)类别读写订阅/上报实现状态备注
MySQL (MysqlDriver)数据库✓✓—完整从库表采集位号
PostgreSQL (PostgresqlDriver)数据库✓✓—完整从库表采集位号
Oracle (OracleDriver)数据库✓✓—完整从库表采集位号
SQL Server (SqlserverDriver)数据库✓✓—完整从库表采集位号
Redis (RedisDriver)数据库✓✓—完整读写 STRING/HASH 键

虚拟 / 测试 ​

无真实设备的两个驱动:virtual 按位号类型生成模拟读值(写为占位、不落设备);listening-virtual 反向开 TCP/UDP 服务端收外部推送,并可经连接通道向设备回写。

驱动 (dc3.driver.code)类别读写订阅/上报实现状态备注
虚拟 Virtual (VirtualDriver)虚拟/测试✓——可用生成模拟数据,写为占位
监听虚拟 Listening Virtual (ListeningVirtualDriver)虚拟/测试—✓✓完整TCP/UDP 服务端收推送,可回写

能力标记以代码为准

表中「✓ / —」反映各驱动 *DriverCustomServiceImpl 当前的真实实现:「—」可能是协议方向本就不提供(如 virtual 的写、mqtt 的主动读),也可能是骨架未补齐(如 iec104、dlms、can)。「实现状态」列是对成熟度的整体概括,局部的数据类型或子能力缺口以各驱动页的 ::: warning / ::: info 标注为准。最终行为请以对应模块的 read() / write() / initial() 源码为准;驱动迭代后此表会同步更新。

延伸阅读 ​

基于 AGPL-3.0 协议发布