[开源]基于物联网开源框架,打造的泛化协议接入服务,高效、稳定
开源系统物联网
![[开源]基于物联网开源框架,打造的泛化协议接入服务,高效、稳定](https://yy123.ink/api/img/1782579269638-0n20ji.jpg)
一、开源项目简介
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
评论