[Open-source] Based on the open-source IoT framework, a generalized protocol access service is built, efficient and stable
![[Open-source] Based on the open-source IoT framework, a generalized protocol access service is built, efficient and stable](https://yy123.ink/api/img/1782579269638-0n20ji.jpg)
1. Project Overview
DriverBox
DriverBox is a generic protocol access service based on the open-source IoT framework Edgex (opens new window). It integrates mainstream protocols such as Modbus, TCP, HTTP, and MQTT in a plugin-based form, and also supports private protocols based on TCP for connection.
We hope that DriverBox can provide related personnel with a more efficient and comfortable device connection experience. By abstracting the communication protocols and data interaction forms of various devices, a standard process is defined to cover the common processing logic of generic protocols, and the dynamic parsing script (Lua, JavaScript, Python) is used to fill in the differential parts.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots


Source: DriverBox official website documentation
4. Feature Overview
Standard
Implement model standardization at the nearest device location, supporting Modbus, Bacnet, Http, MQTT, and various private TCP protocols.
Efficient
Standard protocol configuration access, non-standard protocol dynamic parsing. Development/debugging does not require restarting the driver service, device access is convenient and efficient.
Stable
Provide targeted optimization strategies for different communication modes, improving data reliability and service stability.
Source: DriverBox official website documentation
5. Tech Stack
System architecture

DriverBox is divided into four-layer architecture: interface layer (interface), core layer (core), parsing layer (parser), and plugin layer (plugin). The following will explain the specific implementation and function of each layer.
Currently supported architectures include:
- Windows:amd64、arm64
- Linux:amd64、arm64
- Mac:amd64、arm64
Installation
1. Download source code
Access to One Flying Open-source: https://code.exmay.com/ Download
2. Load go dependencies
cd driver-box go mod vendor # Domestic users can switch sources: go env -w GOPROXY=https://goproxy.cn,direct
Local run
1. Open main.go file
func main() {
driverbox.Start([]export.Export{&export.DefaultExport{}})
select {}
}
2. Start driver-box
go run main.go