[开源]基于物联网开源框架,打造的泛化协议接入服务,高效、稳定

开源系统物联网
2026-06-28 00:54 1 次浏览 • 0 次下载 0KB
[开源]基于物联网开源框架,打造的泛化协议接入服务,高效、稳定

一、开源项目简介

DriverBox

DriverBox 是一款基于物联网开源框架 Edgex(opens new window)打造的泛化协议接入服务。以插件化的形式融合了 Modbus、TCP、HTTP、MQTT 等主流协议,同时也支持基于TCP的各类私有化协议对接。

我们期望 DriverBox 能够为相关人士提供更加高效、舒适的设备接入体验。通过对各类设备的通信协议和数据交互形式进行抽象,定义了一套标准流程以涵盖泛化协议的共性处理逻辑,并结合动态解析脚本(Lua、Javascript、Python)填补其中的差异化部分。

二、开源协议

使用Apache-2.0开源协议

三、界面展示


来源:DriverBox 官网文档

四、功能概述

标准

在距离设备最近的地方实施物模型标准化,适配 Modbus、Bacnet、Http、MQTT以及各种私有TCP协议。

高效

标准协议配置化接入,非标协议动态解析。开发/调试无需重启驱动服务,设备接入便捷、高效。

稳定

为不同的通信模式提供定向优化策略,提升数据可靠性和服务稳定性。

来源:DriverBox 官网文档

五、技术选型

系统架构

DriverBox整体上分为4层架构:接口层(interface)、核心层(core)、解析层(parser)和插件层(plugin),以下将会分别阐述每一层的具体实现和作用。

现支持架构包括:

  • Windows:amd64、arm64
  • Linux:amd64、arm64
  • Mac:amd64、arm64

安装

1、下载源代码


访问一飞开源:https://code.exmay.com/ 下载

2、加载 go 依赖


cd driver-box
go mod vendor # 国内用户可以切换源:go env -w GOPROXY=https://goproxy.cn,direct

本地运行

1、打开 main.go 文件


func main() {
    driverbox.Start([]export.Export{&export.DefaultExport{}})
    select {}
}

2、启动 driver-box


go run main.go