# device_manager **Repository Path**: yuan_yi_fei/device_manager ## Basic Information - **Project Name**: device_manager - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-19 - **Last Updated**: 2025-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # device_manager #### 介绍 { 为了实现工业协议设备的管理配置和数据读取,开发此工业设备管理器。(其实就是为了玩) 上行功能:配置管理,上行数据交互(和云之间)。 下行功能:数据下发、数据采集、协议解析、数据存储、任务调度。(并发搞大点比较有意思) } #### 软件架构 ``` 应用层 ├── daemon守护进程(系统服务管理) ├── upmain(云平台通信网关) └── task scheduler(分布式任务调度) 服务层 ├── port service(多协议适配器) ├── database service(时序数据存储) └── rule engine(流式数据处理) 核心层 ├── libprotocol(Modbus/OPC UA协议栈) ├── libconnect(ZeroMQ通信核心) └── libbase(异步IO/线程池基础库) 支撑层 ├── 配置中心(ETCD集成) ├── 监控系统(Prometheus埋点) └── 安全引擎(TLS证书管理) ``` **模块交互流程** ``` [设备] <-MQTT-> port服务 <-gRPC-> 协议解析库 ↓ 任务调度中心 -> 数据库服务 ↑ [云端] <-WebSocket-> upmain网关 ``` **关键设计** 1. 基于Reactor模式实现的异步网络框架(libbase) 2. 插件式协议支持(libprotocol动态加载.so/.dll) 3. 分布式节点间ZeroMQ管道通信(REQ/REP模式) 4. 进程间共享内存数据总线(/dev/shm区域) #### 安装教程 1. 安装构建工具 ```powershell choco install cmake ninja vcpkg ``` 2. 克隆仓库 ```powershell git clone https://gitee.com/your_repo/device_manager.git cd device_manager ``` 3. 安装依赖 ```powershell vcpkg integrate install vcpkg install cjson libuv zeromq ``` #### 使用说明 1. 配置文件生成 ```powershell ./build/daemon --gen-config=config.yaml ``` 2. 启动守护进程 ```powershell ./build/daemon -c config.yaml ``` 3. 任务调度示例 ```c // 在task_manager.c中创建定时任务 task_create(&(task_args){ .interval = 5000, .handler = &modbus_polling_handler }); ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)