# EdgeDataKit **Repository Path**: elfbobo_admin_admin/edge-data-kit ## Basic Information - **Project Name**: EdgeDataKit - **Description**: 边缘节点常接收来自不同设备的异构数据(如传感器的数值数据、摄像头的图像数据、温湿度模块的时序数据),在网络不稳定时容易出现数据丢失。此中间件可统一处理异构数据的解析、清洗,并提供轻量级缓存(避免断网丢数据),再按需转发给上层应用(如 AI 模型、云端)。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-03 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EdgeDataKit
Python Version Redis Version License
## 1.🌟项目简介 EdgeDataKit是一款面向边缘计算场景的**数据预处理与缓存中间件**,专注于解决边缘设备“多格式数据解析、断网数据缓存、全流程监控”三大核心问题,大幅降低边缘设备集成与维护成本。 ## 2.📌核心功能 - **2.1 插件化设备扩展**:新增设备仅需添加独立子包(解析规则+测试数据),框架自动加载; - **2.2 网络自适应转发**:实时检测网络状态,断网时缓存数据、联网后自动重试。优先使用 Redis 缓存,Redis 不可用时自动降级为本地内存缓存,确保数据可靠性,避免数据丢失; - **2.3 过程监控**:记录设备解析、转发状态,生成统计报告并写入日志,故障排查更高效; ## 3.⚡快速开始 ### 3.1环境要求 - Python 3.7+ - Redis 5.0+ ### 3.2安装步骤 1. 克隆项目: ```bash git clone https://gitee.com/sadnewfwrag/edge-data-kit cd edge-data-kit ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` 3. 启动 Redis: Windows:解压 Redis 安装包后,在安装目录执行 ```bash redis-server.exe redis.windows.conf ``` 4. 运行示例程序: ```bash python examples/main.py ``` ## 4.📋目录结构 ```text edge-data-kit/ ├── config/ # 配置文件 │ ├── redis_config.py # redis配置文件 │ └── __init__.py # 包标记文件(空) ├── core/ # 核心功能模块 │ ├── base_parser.py # 解析器基类(所有设备插件需继承) │ ├── data_parser.py # 解析器管理器(动态加载设备插件) │ ├── cache_retry.py # 缓存与重试模块 │ ├── monitor.py # 数据处理监控与统计 │ └── device_loader.py # 自动加载设备测试数据 ├── devices/ # 设备子包目录(新增设备在此添加) │ ├── light_sensor/ # 光照传感器示例 │ │ ├── __init__.py # 包标记文件(空) │ │ ├── parser.py # 光照传感器解析规则 │ │ └── test_data.txt # 光照传感器测试数据 │ └── temp_sensor/ # 温度传感器示例 │ ├── __init__.py │ ├── parser.py │ └── test_data.txt ├── tests/ # 功能模块测试文件 │ ├── __init__.py # 包标记文件(空) │ ├── test_monitor.py # 数据处理监控与统计测试 │ ├── test_parsers.py # 数据解析模块测试 │ └── test_redis.py # 缓存与重试模块测试 ├── docs/ # 说明文档 │ ├── 项目需求.md │ └── 新增设备操作指南.md ├── examples/ │ └── main.py # 主程序入口(含网络测试、缓存验证) ├── picture/ # 图片素材 │ ├── 功能验证1.PNG │ ├── 功能验证2.PNG │ └── 日志记录.PNG ├── edge_data_logs.log # 自动生成的运行日志 ├── README.md # 项目说明文档 ├── .gitignore # 定义 Git 需忽略的文件 ├── LICENSE # 项目的开源许可证 ├── setup.py # Python 项目的打包配置文件 └── requirements.txt # 项目依赖 ``` ## 5.📚包含文档 [项目需求](https://gitee.com/sadnewfwrag/edge-data-kit/blob/master/docs/%E9%A1%B9%E7%9B%AE%E9%9C%80%E6%B1%82.md) [新增设备操作指南](https://gitee.com/sadnewfwrag/edge-data-kit/blob/master/docs/%E6%96%B0%E5%A2%9E%E8%AE%BE%E5%A4%87%E5%AD%90%E5%8C%85%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97.md) ## 6.🧪功能验证 ### 基础功能验证 运行 `examples/main.py`,控制台会输出设备解析、转发状态及统计报告: ![功能验证](picture/%E5%8A%9F%E8%83%BD%E9%AA%8C%E8%AF%811.PNG) ![功能验证](picture/%E5%8A%9F%E8%83%BD%E9%AA%8C%E8%AF%812.PNG) ### 网络断开场景验证 程序支持断网测试,验证缓存重试功能: - 前2条数据断网,数据存入缓存; - 第3条数据起恢复网络,自动重试缓存数据并输出成功结果。 ## 7.📄日志说明 运行日志保存在 `edge_data_logs.log` 中,包含时间、操作类型、设备信息: ![输入图片说明](picture/%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95.PNG) ## 8.🤝贡献指南 - 欢迎参与项目开发,贡献流程如下: - Fork 本仓库 - 创建 feature 分支(git checkout -b feature/xxx) - 提交代码(git commit -m "feat: add xxx feature") - 推送分支(git push origin feature/xxx) - 提交 Pull Request ## 9.🔒贡献规范 - 代码风格:遵循 PEP8 规范 - 注释要求:核心函数需添加文档字符串(参数、返回值、功能) - 测试要求:新增功能需补充测试用例 ## 10.📄许可证 - 本项目采用 MIT 许可证,详见 LICENSE。