# easyaiot-edge
**Repository Path**: volara/easyaiot-edge
## Basic Information
- **Project Name**: easyaiot-edge
- **Description**: 专为边缘打造的 AI 平台,MIT 协议完全开源。 打破当前边缘平台捆绑硬件的局面——无需购买任何专用设备,内存控制在 4GB 内,人人都是 AI 边缘大师。从摄像头到告警闭环,AI 不应只属于云端的庞然大物,更不该被硬件厂商锁定;MIT 协议,没有后顾之忧。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 70
- **Forks**: 16
- **Created**: 2026-03-12
- **Last Updated**: 2026-04-05
## Categories & Tags
**Categories**: iot
**Tags**: None
## README
# EasyAIoT Edge(边缘智能算法应用平台)
[](https://gitee.com/soaring-xiongkulu/easyaiot/stargazers)
[](https://gitee.com/soaring-xiongkulu/easyaiot/members)
专为边缘打造的 AI 平台,MIT 协议完全开源。 打破当前边缘平台捆绑硬件的局面——无需购买任何专用设备,内存控制在 4GB 内,人人都是 AI 边缘大师。从摄像头到告警闭环,AI 不应只属于云端的庞然大物,更不该被硬件厂商锁定;MIT 协议,没有后顾之忧。
## 📍 项目定位
**EasyAIoT Edge** 是 EasyAIoT 主项目面向边缘场景的**独立子项目**,专为资源受限、网络不稳的边缘现场(园区、工厂、机房、ARM 一体机)裁剪强化的一站式智能算法栈。
平台延续主项目的云边端一体化理念,但**默认配置、服务组合、部署拓扑**全部面向**单机/少量节点**的边缘一体机场景:视频接入、算法调度、推理、告警默认**本地闭环**,约 **4GB 内存**即可跑通核心链路,同时可与云端 EasyAIoT 形成**云-边协同**,也可**完全离线独立运行**。
## 🧠 AI能力
| 能力 | 说明 |
|------|------|
| **多协议摄像头接入** | 支持 ONVIF 和 RTSP 双协议,自动发现、统一管理 |
| **实时流AI分析** | RTSP/RTMP 实时画面分析,毫秒级响应,支持多路并发 |
| **抓拍算法任务** | 抓拍图片智能识别,适用于事件回溯、图像检索 |
| **模型服务集群推理** | 轻量级模型服务,支持负载均衡与高可用(可单机多实例) |
| **布防时段管理** | 全防/半防模式,灵活配置时段化监控规则 |
| **检测区域绘制** | 可视化绘制四边形/多边形检测区域,与算法模型关联 |
| **智能联动告警** | 检测区域 + 布防时段 + 事件类型三重过滤,大幅降低误报 |
| **告警录像与回放** | 告警自动触发录像,支持时间轴回放、倍速播放 |
## 💡 技术理念
我们坚持 **Java + Python + C++** 三语言混编架构,发挥各自优势:
- **Java**:构建稳定可靠的平台与企业级能力
- **Python**:流媒体处理、AI算法编排、模型服务
- **C++**:高性能推理热点路径,低延迟、省内存
在边缘场景中,模块间通过**环境变量 + 固定端口 + host网络**直连,不依赖中心化注册发现,降低运维成本。
## 🔗 与主项目 EasyAIoT 的关系
| 维度 | Edge 子项目侧重点 |
|------|-------------------|
| **产品形态** | 边缘设备优先,镜像与服务组合按一体机/盒子场景编排 |
| **内存与资源** | **4GB 级目标**(精简服务集 + 可调 JVM/Worker/推理参数) |
| **部署拓扑** | 单机或少量节点,中间件与业务直连,无多租户 |
| **服务发现** | 固定端口 + 环境变量,**不依赖**中心化注册中心 |
| **网络** | 视频服务默认 `network_mode: host`,便于与摄像头/局域网互通 |
| **数据库** | 默认库名 `iot-edge-device20` / `iot-edge-video20` / `iot-edge-ai20` |
| **算力** | 支持 NVIDIA Container Toolkit;TASK(C++)侧重低延迟推理 |
| **云边协同** | 可对接主项目云端,实现策略/模型/告警同步,也可完全离线 |
> 若需上千路集中运维、多租户运营大屏,请使用主项目云部署方案。
## 🧩 项目结构
EasyAIoT Edge 由五个核心模块组成,可独立部署:
| 模块 | 描述 |
|------|------|
| **WEB** | Vue 3 + Vite 管理端:摄像头、算法任务、模型、告警、权限等 |
| **DEVICE** | IoT 设备/产品/物模型/规则引擎后端(JDK 21) |
| **VIDEO** | 视频与算法任务 Python 服务(含抽帧器、排序器、推流等) |
| **AI** | 训练、推理、模型服务(YOLO/LLM/OCR/语音等) |
| **TASK** | C++ 高性能边缘推理模块 |
## 🏗️ 架构与数据流

数据流转简要流程:
1. 摄像头通过 ONVIF/GB28181 接入 VIDEO 模块
2. VIDEO 根据算法任务配置,抽取视频帧并分发至 AI 模块或 TASK 模块
3. AI/TASK 执行推理,将结果返回 VIDEO
4. VIDEO 根据布防规则触发告警,写入 DEVICE 模块的规则引擎
5. DEVICE 通过通知渠道发送告警,同时触发录像存储
6. WEB 前端统一展示设备状态、告警事件、录像回放
## 🖥️ 本土化与硬件支持
| 类别 | 支持情况 |
|------|----------|
| **内存规格** | 约 4GB 起(可按需调优;建议作为默认参考配置) |
| **边缘芯片** | 瑞芯微 RK3588 等 ARM 架构(需按 NPU/CPU 推理栈替换镜像) |
| **服务器 CPU** | 海光 x86、Intel/AMD 等 |
| **操作系统** | 麒麟、统信 UOS、方德等国产化 Linux,以及主流 Linux 发行版 |
## 🚀 快速部署(边缘一体机)
### 1. 启动基础中间件
```bash
cd .scripts/docker
# 按 Readme.md 准备数据目录
docker-compose up -d
```
> 如遇 PostgreSQL 权限问题,目录内提供修复脚本。
### 2. 启动业务服务
```bash
# VIDEO 模块(默认 host 网络 + NVIDIA runtime)
cd VIDEO
cp .env.docker .env # 按需修改
docker-compose up -d
# AI 模块
cd ../AI
docker-compose up -d
# DEVICE + WEB(详见各自目录下的 docker-compose.yml)
cd ../DEVICE
docker-compose up -d
cd ../WEB
docker-compose up -d
```
### 3. 前后端联调
修改 `WEB/.env.production`,将 `VITE_API_BASE_URL` 指向边缘机实际 IP。
> **安全建议**:生产环境务必修改默认密码、Secret、Redis/Kafka 等敏感配置,并规划磁盘空间(录像、抓拍、模型数据集)。
> **4GB 内存场景**:建议先以最小服务集启动(仅 VIDEO + 核心推理),观察内存后再开启 Kafka、TDengine 等可选组件。
## ☁️ 跨平台部署优势
EasyAIoT Edge 支持 Linux / Mac / Windows 三大平台部署(推荐 Linux 生产环境):
🐧 Linux
- 生产环境首选,资源占用低
- Docker 一键启动
- 完美适配 ARM/x86 边缘设备
🍎 Mac
- 开发测试便捷
- 支持本地调试
- 提供 Homebrew 脚本
🪟 Windows
- Windows Server 友好
- PowerShell 自动化
- 降低学习成本
## 🎯 适用场景
- 🏭 **园区/工厂安防与产线视觉质检一体机**
- 📶 **弱网或专网环境下的本地化告警与录像留存**
- 🔄 **边缘侧模型闭环**:采集 → 标注 → 训练 → 下发推理
- ☁️ **与云端 EasyAIoT 协同**:策略、模型、告警双向同步
## 📸 界面预览
## 📞 联系方式(添加微信后,需关注公众号,拉入技术交流群)
## 👥 公众号
## 🪐 知识星球:
## 💰 打赏赞助
## 🤝 贡献指南
我们欢迎所有形式的贡献!无论您是代码开发者、文档编写者,还是问题反馈者,您的贡献都将帮助 EasyAIoT 变得更好。以下是几种主要的贡献方式:
💻 代码贡献
- Fork 项目到您的 GitHub/Gitee 账号
- 创建特性分支 (git checkout -b feature/AmazingFeature)
- 提交更改 (git commit -m 'Add some AmazingFeature')
- 推送到分支 (git push origin feature/AmazingFeature)
- 提交 Pull Request
📚 文档贡献
- 完善现有文档内容
- 补充使用示例和最佳实践
- 提供多语言翻译
- 修正文档错误
🌟 其他贡献方式
- 报告并修复 Bug
- 提出功能改进建议
- 参与社区讨论,帮助其他开发者
- 分享使用经验和案例
## 💡 期望
欢迎提出更好的意见,帮助完善 easyaiot-edge
## 📄 版权
翱翔的雄库鲁/easyaiot-edge 采用 MIT LICENSE 开源协议。我们致力于推动 AI 技术的普及与发展,让更多人能够自由使用和受益于这项技术。
使用许可:个人与企业可 100% 免费使用,无需保留作者、Copyright 信息。我们相信技术的价值在于被广泛使用和持续创新,而非被版权束缚。希望您能够自由地使用、修改、分发本项目,让 AI 技术真正惠及每一个人。