# easyaiot **Repository Path**: letter24/easyaiot ## Basic Information - **Project Name**: easyaiot - **Description**: 我希望全世界都能使用这个系统,实现AI的真正0门槛,人人都能体验到AI带来的好处,而并不只是掌握在少数人手里。支持上千种垂直场景,支持AI模型定制化和AI算法定制化开发 深度融合,赋能万物智视:EasyAIoT 构筑了物联网设备(尤其是海量摄像头)的高效接入与管控网络。我们深度融合流媒体实时传输技术与前沿人工智能(AI),打造一体化服务核心。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 989 - **Created**: 2026-08-08 - **Last Updated**: 2026-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EasyAIoT (Cloud-Edge-Device Integrated Intelligent Algorithm Application Platform) [![Gitee star](https://gitee.com/volara/easyaiot/badge/star.svg?theme=gvp)](https://gitee.com/soaring-xiongkulu/easyaiot/stargazers) [![Gitee fork](https://gitee.com/volara/easyaiot/badge/fork.svg?theme=gvp)](https://gitee.com/soaring-xiongkulu/easyaiot/members)

My vision is for this system to be accessible worldwide, achieving truly zero barriers to AI. Everyone should experience the benefits of AI, not just a privileged few.

EasyAIoT

English | 简体中文 | 繁體中文 | Русский | Français | 한국어

## 🌐 Official Website EasyAIoT Official Website: [http://36.111.47.113:8090/](http://36.111.47.113:8090/) Product introduction, feature overview, three hardware tiers, installer downloads, and documentation entry—so you can quickly understand the platform and start deploying. ## 📖 Project Overview

EasyAIoT (Easy AI Internet of Things) is a cloud-edge-device integrated intelligent algorithm application platform dedicated to deeply fusing artificial intelligence with the Internet of Things—enabling cameras, sensors, and edge compute to work together on site. From device onboarding and data collection to real-time visual analysis, intelligent assessment, and alert orchestration, the entire chain runs on a single software stack.

Many smart IoT projects hit the same wall at deployment: video systems, device platforms, and algorithm services live in silos—integration is costly, operations are fragmented, and scaling is painful. EasyAIoT resolves this with one platform—the same software deploys on a 4 GB edge box for single-point intelligence, on AI all-in-one cameras for floor-level coverage, or inside an enterprise full-stack appliance that packs IoT management, massive video access, and AI analysis into one box—no multiple versions to maintain, no repeated integration across heterogeneous systems.

The platform comprises core modules including WEB, APP, DEVICE, NODE, VIDEO, RTC, AI, RUNTIME, EDGE, VISUALIZE, TRANSFORM, PANEL, and SITE, with COMPILE handling multi-platform packaging and delivery (including Ubuntu / CentOS·RHEL 7–9 (x86 + CentOS ARM, packages per el7/el8/el9) / Kylin (麒麟) / openEuler (欧拉) / Windows / macOS / ARM). On the capability side, the platform covers GB28181 / ONVIF multi-protocol camera access, RTC consumer-camera P2P bridging (based on go2rtc, covering Tapo, Tuya, Ring, Nest, Xiaomi, Wyze, DoorBird, GoPro, and Roborock—store Tapo fill-in, Tuya white-label onboarding, overseas Ring/Nest doorbells, Xiaomi reuse, Wyze low-cost scale-out, DoorBird intercom, GoPro mobile views, Roborock vacuum cameras—with one-click Web onboarding into unified video and AI judgment), DJI dock and drone aerial view access, real-time and snapshot algorithm tasks, YOLO object detection and SAM zero-shot auto-annotation, face/plate recognition, orchestrable business post-processing, federated compute cluster scheduling, and Infinite Federated Edge Cluster mode (ordinary development boards ready out of the box, on-site intelligence for local decisions, alerts and evidence automatically aggregated to the cloud, compute scaling with business as needed), plus MQTT / TCP / HTTP / Modbus-TCP / Modbus-RTU / OPC UA IoT device lifecycle management, and visualization dashboards and Web SCADA configuration, so device data can be displayed as command-center situational awareness and mapped back to process screens; plus the new TRANSFORM multidirectional data-flow engine, which delivers platform-side business events to external systems such as MES / ERP / CRM / WMS by contract—multi-party integration that is configurable, traceable, and reusable; and the companion PANEL delivery & watch entry, so appliances can be installed and accepted on arrival day, and watch/troubleshooting no longer wait on developers running remote commands every time; plus the SITE official website to present product value, three hardware tiers, and installer entry—so visitors understand first, then download and deploy. On the experience side, the Web console and mobile App / mini-program are capability-aligned, so command centers and field inspections share the same business logic—handle incidents anytime, anywhere.

In one sentence: EasyAIoT = AI + IoT—interconnect everything while enabling intelligent vision and intelligent control for everything.

📄 For a more complete illustrated introduction, see EasyAIoT Project Introduction V2.0 (PPT), and AI Video Surveillance Analytics Platform (PDF).

## 🌟 Some Thoughts on the Project ### 📍 Project Positioning

EasyAIoT is a cloud-edge-device integrated intelligent IoT platform that focuses on the deep integration of AI and IoT. Through core capabilities such as algorithm task management, real-time stream analysis, and model service cluster inference, the platform achieves a complete closed-loop from device access to data collection, AI analysis, and intelligent decision-making, truly realizing interconnected everything and intelligent control of everything.

### 🎛️ PANEL: Install & Accept on Arrival Day—Watch Duty Without Waiting for Remote Devs

Smart IoT projects most often stall at the last mile: the machine is on site, yet it won't install, won't pass acceptance, and when something breaks you can only wait for developers to run remote commands—on-site cost and acceptance cycles are held hostage by people. PANEL is an independent delivery and watch entry for integrators and field ops—one-click install by tier, see whole-machine health and dependencies, start/stop services and inspect logs on the spot; even before the business console is ready, you can bring up, hold, and hand over the appliance, turning “machine on site → platform usable → acceptance-ready” from waiting on people into a same-day closed loop.

📦 Installer download: Packages for Ubuntu / Debian, CentOS / RHEL 7–9 (x86 + CentOS ARM, el7/el8/el9 RPMs), Windows, macOS, and ARM / Kylin (麒麟) / openEuler (欧拉) targets are on Gitee Releases.

| | | | |:---:|:---:|:---:| | ![Overview](.image/banner/panel/panel_1000.png) | ![Containers](.image/banner/panel/panel_1001.png) | ![Logs](.image/banner/panel/panel_1002.png) | | ![Deploy](.image/banner/panel/panel_1003.png) | ![Images](.image/banner/panel/panel_1004.png) | ![Pull](.image/banner/panel/panel_1005.png) | | ![Diagnose](.image/banner/panel/panel_1006.png) | ![Maintain](.image/banner/panel/panel_1007.png) | ![Topology](.image/banner/panel/panel_1008.png) | ### 📡 RTC: Consumer-Camera P2P Bridging—Bring "No RTSP" Devices Into the Platform

In homes, retail stores, and light-security deployments, many devices already in use come from Tapo, Tuya, Ring, Nest, Xiaomi, Wyze, DoorBird, GoPro, and Roborock—they rely on vendor-private P2P protocols and do not expose standard RTSP. Traditional VMS platforms often push users toward Micam, Home Assistant, or other middleware, leaving long integration chains, fragmented ops, and no path to AI judgment. EasyAIoT adds a dedicated RTC module built on go2rtc, that unifies streaming and two-way audio for all nine brands—consumer devices can register, preview, relay, run AI tasks, and trigger alerts just like GB28181/ONVIF cameras.

Supported brands and typical value:

Brand Vendor Typical devices Value
TapoTP-LinkHome/store IPC, indoor/outdoor camsLow-cost blind-spot fill for shops; cloud-password connect; two-way audio
TuyaTuya SmartTuya-ecosystem IPC, doorbellsMass white-label/OEM onboarding; one integration for countless rebranded cameras
RingAmazonDoorbells, outdoor camsOverseas doorbell monitoring in platform; local P2P after OAuth; remote talk
NestGoogleNest Cam, DoorbellGoogle-ecosystem premium sites unified with pro cameras on one screen
XiaomiMi HomeMi Home cams, doorbellsReuse installed Mi Home fleet; no Micam middleware; attach AI directly
WyzeWyzeWyze Cam v3/v4, doorbellsUltra-low-cost scale-out; local P2P; two-way audio for pilots
DoorBirdDoorBirdSmart doorbells, door stationsPremium entry intercom + video; MJPEG/audio/talk in one bridge
GoProGoProHERO9–12 (USB / Wi-Fi)Mobile tactical views for patrol and emergency survey
RoborockRoborockS6/S7/Qrevo MaxV vacuums with camerasMoving under-furniture views fixed cameras cannot reach; talk on supported models

📖 See RTC module README for details.

### 🎯 Three Hardware Tiers, One Platform

Many intelligent IoT projects stall at deployment: full features won't fit on small machines; to make them fit, you cut capabilities, split versions, and maintain multiple deployment packages. EasyAIoT resolves this with one platform—edge boxes for point intelligence, AI all-in-one cameras for on-wall analysis, AIoT full-stack all-in-ones for the complete stack in one box. Pick the tier that matches your field hardware; the same software runs from single-site pilots through floor coverage to full-stack delivery—no split versions.

| Tier | Typical hardware (examples) | Recommended RAM | What you can do | Verified | | :-- | :-- | :--: | :-- | :--: | | **mini** Edge Lite | Edge box (4 GB industrial PC, store security all-in-one, site gateway) | ≥ 4 GB | Intelligence at one point: camera access, real-time analysis, smart alerts, model inference—visual AI at lowest cost | ~2 GB used, ample headroom | | **standard** Standard | AI all-in-one camera (smart camera terminal, AI surveillance camera with compute, multi-sensor AI analyzer) | ≥ 16 GB | Each camera is a smart node: multiple cameras on the wall cover a floor/campus; devices, rules, and compute orchestrated together | ~10 GB, stable with headroom | | **full** Full (default) | AIoT full-stack all-in-one (enterprise full-stack control all-in-one, industry IoT full-stack host, cloud-edge-device smart platform all-in-one) | ≥ 20 GB | IoT + video + AI in one box: device management, massive access, intelligent analysis, command and judgment unified—full capabilities long-term | ~14 GB, full features with headroom |

Install tier selection and resource compliance (verified):

| | | | |:---:|:---:|:---:| | ![Edge box mini](.image/deploy-profile-mini.png) | ![AI all-in-one camera standard](.image/deploy-profile-standard.png) | ![Full-stack all-in-one full](.image/deploy-profile-full.png) | #### 🧠 AI Capabilities #### 🌐 IoT Capabilities

Many projects reduce IoT to a "device ledger + message relay"—devices connect but cannot be governed; data reports but cannot drive action; alerts fire but the site stays invisible; you have data but cannot build screens or align with process flows. EasyAIoT positions IoT as the execution nerve in a sense—understand—decide—act closed loop: sensors and actuators provide "numbers," cameras and AI provide "pictures," visualization dashboards and SCADA configuration turn "numbers" into commandable situational awareness, and rules plus device shadows weave both into operable business actions—so the platform not only "sees clearly," but also "displays on screen, understands the process, governs effectively, controls precisely, and scales openly."

#### 📱 Mobile APP ### 📦 Built-in AI Models

The platform is ready to use out of the box, with multiple pre-trained models built in for security monitoring, industrial sites, smart transportation, and similar scenarios. Select them directly in algorithm tasks for rapid deployment and inference—no training from scratch required to cover common vision detection needs.

| Model Name | Inference Format | Base Model | Capability | | :-- | :--: | :--: | :-- | | Safety Helmet Model | ONNX | YOLOv8 | Detect whether workers are wearing safety helmets | | Sleeping on Duty Model | PyTorch | YOLOv8 | Detect sleeping on duty, leaving post, and other abnormal behaviors | | Person Detection Model | PyTorch | YOLOv8 | General human detection for identifying and locating people in the frame | | License Plate Model | ONNX | YOLOv8 | Recognize vehicle license plate information | | Reflective Vest Model | PyTorch | YOLOv8 | Detect whether workers are wearing reflective vests | | Flame Model | PyTorch | YOLOv8 | Detect open flames and fire hazards | | Smoking Detection Model | PyTorch | YOLOv8 | Detect smoking behavior | | Phone Call Detection Model | ONNX | YOLOv8 | Detect phone calls and mobile phone use | | Road Waterlogging Model | ONNX | YOLOv8 | Detect road water accumulation and surface flooding | | Face Mask Model | ONNX | YOLOv8 | Detect whether people are wearing masks correctly | | Fall Detection Model | ONNX | YOLOv8 | Detect falls and other abnormal postures | | Face Detection Model | ONNX | YOLOv8 | Detect face locations in the frame to support face recognition workflows | ### 💡 Technical Philosophy

We believe no single programming language excels at everything, but through the deep integration of five programming languages, EasyAIoT leverages the strengths of each to build a powerful technical ecosystem.

Java excels at building stable and reliable platform architectures, but is a poor fit for network programming and AI development; Python excels at network programming and AI algorithms, but hits bottlenecks in high-performance execution; C++ excels at high-performance task execution, but is ill-suited to platform architecture and AI programming; Go excels at high-concurrency networking and protocol implementation, but is ill-suited to platform control planes and AI algorithms; TypeScript excels at complex front-end interactions and type-safe engineered UIs, but is ill-suited to high-performance backend computing and AI inference. EasyAIoT adopts a five-in-one mixed-language architecture, letting each language do what it does best—building an AIoT platform that's challenging to implement yet extremely easy to use.

![EasyAIoT Platform Architecture.jpg](.image/iframe2.jpg) ### 🔄 Module Data Flow EasyAIoT Platform Architecture ### 🤖 Zero-Shot Labeling Technology

Innovatively leveraging large models to construct a zero-shot labeling technical system (ideally completely eliminating manual labeling, achieving full automation of the labeling process), this technology generates initial data through large models and completes automatic labeling via prompt engineering. It then ensures data quality through optional human-machine collaborative verification, thereby training an initial small model. This small model, through continuous iteration and self-optimization, achieves co-evolution of labeling efficiency and model accuracy, ultimately driving continuous improvement in system performance.

EasyAIoT Platform Architecture ### 🏗️ Project Architecture Features

EasyAIoT is not actually one project; it comprises multiple independently deployable sub-projects (WEB, DEVICE, VIDEO, RTC, AI, and more).

What's the benefit? Suppose you are on a resource-constrained device (like an RK3588). You can extract and independently deploy just one of those projects. Therefore, while this project appears to be a cloud platform, it simultaneously functions as an edge platform.

🌟 Genuine open source is rare. If you find this project useful, please star it before leaving - your support means everything to us!
(In an era where fake open-source projects are rampant, this project stands out as an exception.)

### 🌍 Localization Support

EasyAIoT actively responds to localization strategies, providing comprehensive support for localized hardware and operating systems, delivering secure and controllable AIoT solutions for users. Deployment and PANEL packaging already cover domestic OS targets such as Kylin (麒麟) / openEuler (欧拉).

🖥️ Server-Side Support

📱 Edge-Side Support

🖱️ Operating System Support

## 🎯 Application Scenarios ![Application Scenarios.png](.image/适用场景.png) ## 🧩 Project Structure

EasyAIoT comprises core modules including WEB, APP, DEVICE, NODE, VIDEO, RTC, AI, RUNTIME, EDGE, VISUALIZE, TRANSFORM, PANEL, and SITE, plus COMPILE multi-platform packaging and delivery:

Module Description
SITE Module
  • Official value entry: Standalone official website for visitors, integrators, and end customers—explain cloud-edge-device integration clearly, then guide people to download and deploy
  • Shorter learning path: Features, three hardware tiers, installer entry, and docs on one site—less time hunting the repo or asking around for packages
  • Supports tier selection: Present mini / standard / full for edge boxes, AI cameras, and full-stack appliances so sites pick the right tier once
  • From interest to install: Website, demo, open-source repos, and Releases form one loop—understand → try → download → install
WEB Module
  • Unified Admin UI: Frontend management interface with a consistent user experience
  • Multi-Protocol Onboarding Wizard: Tabbed guides for IPC / NVR / GB28181 / RTC platforms; ONVIF scan, cross-subnet scan, manual RTSP, DJI livestream, and consumer-camera P2P access
  • RTC Platform Access: "Connect RTC camera" shortcut with dynamic forms for Tapo / Tuya / Ring / Nest / Xiaomi / Wyze / DoorBird / GoPro / Roborock; OAuth platforms guided to go2rtc WebUI for binding
APP Module
  • Multi-Channel Access: One build, multiple touchpoints—phones, mini programs, and apps
  • Capability Parity: Matches PC admin console capabilities with multi-tenant switching
  • Device Management: Unified management for direct cameras, GB28181, NVR, and RTC consumer cameras; online status and channel browsing with one-tap live preview in device details
  • Stream Forwarding: Task creation, start/stop, cluster node status, and multi-stream URL viewing
  • Algorithm Tasks: Real-time/snapshot algorithm task list, start/stop control, and detection/frame stats
  • Alert Center: Alert search, snapshot preview, and alarm recording VOD playback
  • Models & AI: Model list and deployment status, mobile image inference workbench, training task progress monitoring and stop
  • Profile: Personal info, account security, FAQ, feedback, and app settings
DEVICE Module
  • Device Management: Device registration, authentication, status monitoring, lifecycle management
  • Product Management: Product definition, thing model management, product configuration
  • Protocol Support: Multiple IoT and industrial protocols including MQTT, TCP, HTTP, Modbus-TCP, Modbus-RTU, OPC UA
  • Device Authentication: Device dynamic registration, identity authentication, secure access
  • Rule Engine: Data flow rules, message routing, data transformation
  • Data Collection: Device data collection, storage, query, and analysis
  • Node Orchestration: Compute/media node onboarding, connectivity testing, workload scheduling, and media node pool allocation
  • Visualization Backend: Unified management of dashboard/SCADA projects, templates, assets, data sources, and service deployment, providing project management and publishing for the visualization editor and Web SCADA
NODE Module
  • Node Agent: Edge/remote node Agent; one-click install deploys and automatically joins the platform
  • Status Reporting: Periodic heartbeats reporting CPU, memory, disk, GPU utilization, and active workload status in real time
  • Remote Workloads: Receives deploy/stop commands from the platform, launching AI model services, algorithm tasks, FFmpeg transcoding, and other workloads locally on the node
  • Media Node Pool: Supports remote deployment of streaming capabilities on nodes, enabling device-to-media-node binding and stream URL generation
  • Node Roles: Supports compute, media, and hybrid roles, enabling cross-node scheduling and elastic scaling for AI inference, algorithm tasks, and streaming services
  • Offline-Friendly: Provides offline dependency bundling and Agent hot-update capabilities, suitable for batch node onboarding in air-gapped or restricted network environments
VIDEO Module
  • Stream Processing: Supports RTSP/RTMP stream real-time processing and transmission
  • Multi-Protocol Camera Access: Unified management for GB28181, ONVIF, NVR batch scan, DJI FlightHub livestream, and RTC consumer cameras
  • RTC Integration API: /register/device/rtc-live one-click go2rtc stream registration and device enrollment; auto-cleanup of RTC streams on device delete
  • Algorithm Task Management: Supports real-time / snapshot / patrol algorithm tasks; real-time tasks can set execution backend executor=python|cpp (default python; when cpp, this module generates ini and starts RUNTIME)
  • Unified Result Surface: Whether Python or C++ executor, alerts POST back to this module’s /video/alert/hook, heartbeats update task service status, then flow into Kafka / persistence / notifications
  • Frame Extractor and Sorter: Supports flexible frame extraction strategies and result sorting mechanisms, each algorithm task can bind independent frame extractors and sorters
  • Defense Time Period: Supports time-based configuration for full defense mode and half defense mode
RTC Module
  • go2rtc: Built on go2rtc source; vendor pulled by install script
  • Nine-Brand P2P Bridging:
    • Tapo (TP-Link) — home/store IPC, cloud-password connect + two-way audio
    • Tuya — mass white-label/OEM camera onboarding
    • Ring (Amazon) — doorbells/outdoor cams for overseas sites
    • Nest (Google) — Nest Cam / Doorbell for premium projects
    • Xiaomi (Mi Home) — domestic fleet reuse without Micam
    • Wyze — ultra-low-cost IPC for pilots and wide fill-in
    • DoorBird — smart doorbell entry intercom + video
    • GoPro — HERO9–12 mobile views / emergency patrol
    • Roborock — vacuum cameras for moving under-furniture views
  • Unified Management API: Platform registry, stream URL builder, go2rtc REST proxy; default ports 6100 (mgmt) / 1984 (WebUI) / 8554 (RTSP)
  • Full VIDEO Pipeline: P2P ingest → standard RTSP → SRS relay → Web playback and AI analysis—consumer and pro cameras under one ops model
  • Docker All-in-One: Single container runs go2rtc core + Python management service; host network for P2P LAN access
AI Module
  • Intelligent Analysis: Responsible for video analysis and AI algorithm execution
  • Model Service Cluster: Supports distributed model inference services, achieving load balancing and high availability
  • Real-Time Inference: Provides millisecond-level response real-time intelligent analysis capabilities
  • Model Management: Supports model deployment, version management, and multi-instance scheduling
RUNTIME Module
  • C++ Frame Hot Path: Evolved from former TASK; focuses on pull → decode → YOLO inference → result emit for VIDEO executor=cpp real-time tasks (does not replace VIDEO orchestration / preview / alert surfaces)
  • Ring-Queue Pipeline: Pull/Decode, Infer, and Emit on staged threads; frame ring drops oldest when full so realtime stays first and decode is not blocked by inference
  • VIDEO Contract Alignment: Alerts POST /video/alert/hook, heartbeats POST /video/algorithm/heartbeat/realtime, /health exposes drop and latency metrics
  • Linux Edge Friendly: CMake produces a standalone binary deployable with conda / system deps; default python executor remains an instant fallback
EDGE Module
  • Infinite Federated Edge Cluster Mode: Extends intelligence from the center to the field; ordinary development boards and edge nodes can join the watch network at any time, compute scales with business, alerts and evidence automatically aggregate to the cloud
  • Lightweight On-Site Watch: Focuses on nearby perception and judgment with feedback—without carrying heavy control UI or local business systems, lowering edge deployment barriers and long-term ops burden
  • Out-of-the-Box Access, Unified Management: Field nodes join quickly and are orchestrated by the center for tasks and policies, reducing manual configuration and per-site build costs
  • Seamless Business Extension: The center sees the big picture and sets rules; edges watch the field and respond fast; node count grows with coverage, supporting horizontal scale-out for real-time analysis, patrol, and snapshot scenarios
  • Lightweight Deployment: Edge focuses on "doing the work" rather than "stacking equipment," making wide-area deployment easier to land and replicate
VISUALIZE Module
  • Drag-and-Drop Dashboard Editor: A high-performance low-code visualization editor focused on canvas editing and preview
  • Integrated with WEB: Project creation, templates, assets, data sources, publishing, and deployment are done in the admin console "Visualization" menu; click "Open Editor" to enter the canvas
  • Dashboard Delivery: Drag-and-drop charts, metrics, and layouts; components can connect to platform data sources and IoT metrics, supporting rapid command dashboards for campus situational awareness, production-line KPIs, equipment ops, energy consumption, and more
  • Clear Division with SCADA: Dashboards use this module; process SCADA uses Web SCADA capability; project metadata is unified under the DEVICE visualization backend
  • Deployment Profile: Same as APP as a full-edition capability; mini / standard can skip per field hardware, reducing edge lite deployment size
TRANSFORM Module
  • Multidirectional Business Flow: Delivers platform-side alerts, device events, and business results to external systems such as MES / ERP / CRM / WMS by contract, closing the last mile from “the platform has data” to “business systems can use it”
  • Configurable Integration: Configure destinations, forwarding rules, and field mappings once and reuse them—cutting the cost of “custom APIs for every customer system”
  • Delivery You Can Accept: Runtime clusters and delivery trails are monitorable and reviewable, so integration and acceptance can answer “did it arrive, and where did it stall”—less verbal reconciliation
  • Horizontal Scale-Out: As traffic grows, expand consume and delivery capacity by business contract—supporting parallel integration across lines, plants, and systems
PANEL Module
  • Delivery & Watch Entry: Independent of the business console: install, accept, and watch on arrival—shorten acceptance cycles and cut on-site / remote support cost
  • Same-Day Closed Loop: UI-driven install by tier with progress and results on the spot; bring up and hand over the appliance even before the business console is ready
  • Self-Serve Troubleshooting: Container health, resource levels, task logs, and image readiness at a glance—common start/stop, pull, and cache cleanup without waiting for developer commands
  • Reuse Across Sites: One entry across appliances and machine rooms—PoC and production delivery share the same playbook
COMPILE Packaging
  • Multi-Platform Artifacts: Package PANEL and related capabilities into installers or binaries for Ubuntu / Debian, CentOS / RHEL 7–9 (x86 + CentOS ARM, packages per el7/el8/el9), Windows, macOS, and ARM / Kylin (麒麟) / openEuler (欧拉) targets—so customers can install without compiling from source on site
  • Shorter Delivery Chain: Integrators pick the matching package for the target environment to deploy and upgrade—unified install, start/stop, and uninstall paths reduce cross-OS delivery variance
  • Paired with PANEL: Build outputs land the on-site ops entry directly, connecting “package it out” with “install and watch on arrival” on one delivery chain
## 🖥️ Cross-Platform Deployment Advantages

EasyAIoT supports deployment on Linux, Mac, and Windows, providing flexible and convenient deployment solutions for users in different environments; with COMPILE producing installers and binaries per target OS, and PANEL completing on-site install and day-to-day watch:

🐧 Linux Deployment Advantages

🍎 Mac Deployment Advantages

🪟 Windows Deployment Advantages

Unified Experience: Regardless of the operating system chosen, EasyAIoT provides consistent installation scripts and deployment documentation, ensuring a uniform cross-platform deployment experience.

## ☁️ EasyAIoT = AI + IoT = Cloud-Edge-Device Integrated Solution

Supports thousands of vertical scenarios, with customizable AI models and algorithm development, deeply integrated.

Empowering Intelligent Vision for Everything: EasyAIoT

EasyAIoT constructs an efficient access and management network for IoT devices (especially massive cameras). We deeply integrate real-time streaming technology with cutting-edge AI to create a unified service core. This solution not only enables interoperability across heterogeneous devices but also deeply integrates HD video streams with powerful AI analytics engines, giving surveillance systems "intelligent eyes" – accurately enabling facial recognition, abnormal behavior analysis, risk personnel monitoring, and perimeter intrusion detection.

The platform supports real-time, snapshot, and patrol algorithm tasks: real-time tasks analyze RTSP/RTMP streams with an optional Python (default) or C++ RUNTIME backend (executor=cpp), pushing hot-path throughput to the limit while orchestration and alert contracts stay unchanged; snapshot tasks perform intelligent analysis of captured images for event backtracking and image retrieval; patrol tasks cover multi-stream round-robin inspection. Through algorithm task management, flexible frame extraction and sorting strategies are achieved, with each task able to bind independent frame extractors and sorters. Combined with model service cluster inference capabilities, millisecond-level response and high availability are ensured. Additionally, two defense strategies are provided: full defense mode and half defense mode, allowing flexible configuration of monitoring rules for different time periods, achieving precise time-based intelligent monitoring and alerting.

In terms of IoT device management, EasyAIoT provides comprehensive device lifecycle management capabilities, supporting multiple IoT and industrial protocols (MQTT, TCP, HTTP, Modbus-TCP, Modbus-RTU, OPC UA) to achieve rapid device access, secure authentication, real-time monitoring, and intelligent control. Through the rule engine, intelligent data flow and processing of device data are realized, combined with AI capabilities for in-depth analysis of device data, achieving full-process automation from device access, data collection, intelligent analysis to decision execution, truly realizing interconnected everything and intelligent control of everything.

EasyAIoT Platform Architecture ## ⚠️ Disclaimer EasyAIoT is an open-source learning project unrelated to commercial activities. Users must comply with laws and regulations and refrain from illegal activities. If EasyAIoT discovers user violations, it will cooperate with authorities and report to government agencies. Users bear full legal responsibility for illegal actions and shall compensate third parties for damages caused by usage. All EasyAIoT-related resources are used at the user's own risk. ## 📚 Deployment Documentation - [Platform Deployment Documentation](.doc/部署文档/平台部署文档.md) — Step-by-step guide for Linux (Ubuntu / CentOS·RHEL **7–9** / **CentOS ARM** / ARM / **Kylin (麒麟) / openEuler (欧拉)**) / Mac / Windows - [macOS Image Deploy](.doc/部署文档/平台macOS部署文档.md) — One-click pull of pre-built images with Docker Desktop - [Windows Image Deploy](.doc/部署文档/平台Windows部署文档.md) — `install_windows.ps1` recommended entry - [Deployment Best Practices](.doc/部署文档/部署最佳实践_en.md) — Profiles, environment requirements, one-click deploy (incl. CentOS **7–9** / **CentOS ARM** / **Kylin (麒麟) / openEuler (欧拉)**), troubleshooting, and production recommendations ## 🎮 Demo Environment - Demo URL: http://36.111.47.113:8888/ - Username: admin - Password: admin123 ## ⚙️ Project Repositories - Gitee: https://gitee.com/soaring-xiongkulu/easyaiot - Github: https://github.com/soaring-xiongkulu/easyaiot ## 📸 Screenshots
Demo Demo
#### 🖥️ Monitoring Dashboard | | | | |:---:|:---:|:---:| | ![Situational Awareness](.image/banner/banner1001.png) | ![Overview](.image/banner/banner1076.jpg) | ![Alerts](.image/banner/banner1074.jpg) | | ![Dashboard](.image/banner/banner1075.jpg) | ![Multi-Dimensional](.image/banner/banner1095.jpg) | ![Comprehensive](.image/banner/banner1096.jpg) | | ![Monitoring](.image/banner/banner1078.jpg) | ![Real-Time](.image/banner/banner1077.jpg) | | #### 📺 Visualization & SCADA | | | | |:---:|:---:|:---:| | ![Project](.image/banner/banner1185.png) | ![SCADA](.image/banner/banner1186.png) | ![Editor](.image/banner/banner1187.png) | | ![Preview](.image/banner/banner1188.png) | ![Components](.image/banner/banner1189.png) | ![Data Source](.image/banner/banner1190.png) | | ![Publish](.image/banner/banner1191.png) | ![Runtime](.image/banner/banner1192.png) | ![Template](.image/banner/banner1193.png) | | ![Assets](.image/banner/banner1194.png) | ![Big Screen](.image/banner/banner1195.png) | ![Display](.image/banner/banner1196.png) | #### 📹 Video Surveillance | | | | |:---:|:---:|:---:| | ![Live Stream](.image/banner/banner1145.jpg) | ![Preview](.image/banner/banner1146.jpg) | ![Camera](.image/banner/banner1051.jpg) | | ![List](.image/banner/banner1053.jpg) | ![Stream Push](.image/banner/banner1083.jpg) | ![Relay](.image/banner/banner1084.jpg) | | ![Storage](.image/banner/banner1121.png) | ![Snapshot](.image/banner/banner1122.png) | ![Recording](.image/banner/banner1123.png) | | ![Configuration](.image/banner/banner1124.png) | ![Capacity](.image/banner/banner1125.png) | ![Playback](.image/banner/banner1126.png) | | ![Snapshot](.image/banner/banner1117.png) | ![Files](.image/banner/banner1118.png) | ![Policy](.image/banner/banner1119.png) | | ![Quota](.image/banner/banner1120.png) | ![Gallery](.image/banner/banner1057.jpg) | ![Archive](.image/banner/banner1058.jpg) | | ![Monitoring](.image/banner/banner1068.jpg) | ![Statistics](.image/banner/banner1069.jpg) | ![Map](.image/banner/banner1113.png) | | ![Location](.image/banner/banner1114.png) | ![Distribution](.image/banner/banner1115.png) | ![Points](.image/banner/banner1116.png) | | ![Live View](.image/banner/banner1026.jpg) | ![Multi-Stream](.image/banner/banner1028.jpg) | ![Stream Push](.image/banner/banner1103.png) | | ![Preview](.image/banner/banner1104.png) | ![Access](.image/banner/banner1105.png) | ![NVR](.image/banner/banner1106.png) | | ![Live View](.image/banner/banner1183.jpg) | ![Map](.image/banner/banner1184.jpg) | | #### 🧠 AI Models | | | | |:---:|:---:|:---:| | ![Qwen](.image/banner/banner1093.jpg) | ![Vision Model](.image/banner/banner1094.jpg) | ![List](.image/banner/banner1099.png) | | ![Configuration](.image/banner/banner1100.png) | ![Details](.image/banner/banner1101.png) | ![Invocation](.image/banner/banner1102.png) | | ![Training](.image/banner/banner1019.jpg) | ![Task](.image/banner/banner1020.jpg) | ![List](.image/banner/banner1023.jpg) | | ![Progress](.image/banner/banner1024.jpg) | ![Parameters](.image/banner/banner1017.jpg) | ![Evaluation](.image/banner/banner1018.jpg) | | ![Details](.image/banner/banner1021.jpg) | ![Logs](.image/banner/banner1022.jpg) | ![Management](.image/banner/banner1097.png) | | ![Repository](.image/banner/banner1098.png) | ![Version](.image/banner/banner1039.jpg) | ![Assets](.image/banner/banner1061.jpg) | | ![Inference](.image/banner/banner1040.jpg) | ![Configuration](.image/banner/banner1042.jpg) | ![Results](.image/banner/banner1043.jpg) | | ![Online](.image/banner/banner1044.jpg) | ![Batch](.image/banner/banner1047.jpg) | ![Monitoring](.image/banner/banner1048.jpg) | | ![Service](.image/banner/banner1045.jpg) | ![Deployment](.image/banner/banner1046.jpg) | ![Cluster](.image/banner/banner1049.jpg) | | ![Invocation](.image/banner/banner1050.jpg) | ![Weights](.image/banner/banner1111.png) | ![Download](.image/banner/banner1112.png) | | ![Pose](.image/banner/banner1147.jpg) | ![Recognition](.image/banner/banner1148.jpg) | ![Task](.image/banner/banner1085.jpg) | | ![Configuration](.image/banner/banner1086.jpg) | ![Details](.image/banner/banner1087.jpg) | ![Runtime](.image/banner/banner1088.jpg) | | ![Region](.image/banner/banner1079.jpg) | ![Detection Box](.image/banner/banner1080.jpg) | ![Defense](.image/banner/banner1081.jpg) | | ![Preview](.image/banner/banner1082.jpg) | ![Algorithm](.image/banner/banner1062.jpg) | ![Create](.image/banner/banner1063.png) | | ![Frame](.image/banner/banner1064.jpg) | ![Analysis](.image/banner/banner1065.jpg) | ![Results](.image/banner/banner1066.jpg) | | ![Playback](.image/banner/banner1067.jpg) | ![Live View](.image/banner/banner1052.jpg) | ![Intelligent](.image/banner/banner1054.jpg) | #### 📦 Datasets | | | | |:---:|:---:|:---:| | ![Management](.image/banner/banner1015.png) | ![List](.image/banner/banner1010.jpg) | ![Annotation](.image/banner/banner1027.png) | | ![Task](.image/banner/banner1016.jpg) | ![Tools](.image/banner/banner1059.jpg) | ![Preview](.image/banner/banner1060.jpg) | | ![Details](.image/banner/banner1107.png) | ![Import](.image/banner/banner1108.png) | ![Project](.image/banner/banner1109.png) | | ![Review](.image/banner/banner1110.png) | ![Create](.image/banner/banner1007.jpg) | ![Samples](.image/banner/banner1008.jpg) | #### 🔌 IoT | | | | |:---:|:---:|:---:| | ![Thing Model](.image/banner/banner1149.jpg) | ![Definition](.image/banner/banner1150.jpg) | ![Product](.image/banner/banner1151.jpg) | | ![Details](.image/banner/banner1152.jpg) | ![Device](.image/banner/banner1153.jpg) | ![Details](.image/banner/banner1154.jpg) | | ![Status](.image/banner/banner1155.jpg) | ![Properties](.image/banner/banner1156.jpg) | ![Service](.image/banner/banner1157.jpg) | | ![Events](.image/banner/banner1158.jpg) | ![Shadow](.image/banner/banner1159.jpg) | ![Topology](.image/banner/banner1160.jpg) | | ![Sub-Devices](.image/banner/banner1161.jpg) | ![Groups](.image/banner/banner1162.jpg) | ![Control](.image/banner/banner1163.jpg) | | ![Telemetry](.image/banner/banner1164.jpg) | ![History](.image/banner/banner1165.jpg) | ![Protocol](.image/banner/banner1166.jpg) | | ![Connection](.image/banner/banner1167.jpg) | ![Authentication](.image/banner/banner1168.jpg) | ![Debug](.image/banner/banner1169.jpg) | | ![Functions](.image/banner/banner1170.jpg) | ![Read/Write](.image/banner/banner1171.jpg) | ![Service](.image/banner/banner1172.jpg) | | ![Subscribe](.image/banner/banner1173.jpg) | ![Logs](.image/banner/banner1174.jpg) | ![Online](.image/banner/banner1175.jpg) | | ![Statistics](.image/banner/banner1176.jpg) | ![Overview](.image/banner/banner1177.jpg) | ![Dashboard](.image/banner/banner1178.jpg) | | ![Product](.image/banner/banner1006.jpg) | ![Device](.image/banner/banner1009.jpg) | ![OTA](.image/banner/banner1179.jpg) | | ![Firmware](.image/banner/banner1180.jpg) | ![Task](.image/banner/banner1181.jpg) | ![Progress](.image/banner/banner1182.jpg) | | ![Rules](.image/banner/banner1013.jpg) | ![Orchestration](.image/banner/banner1014.png) | | #### 🖥️ Cluster | | | | |:---:|:---:|:---:| | ![Overview](.image/banner/banner1127.jpg) | ![Compute](.image/banner/banner1128.jpg) | ![Node](.image/banner/banner1129.jpg) | | ![Details](.image/banner/banner1130.jpg) | ![Monitoring](.image/banner/banner1131.jpg) | ![Scheduling](.image/banner/banner1132.jpg) | | ![List](.image/banner/banner1133.jpg) | ![Status](.image/banner/banner1134.jpg) | ![Configuration](.image/banner/banner1135.jpg) | | ![Allocation](.image/banner/banner1136.jpg) | | | #### 🔔 Alerts | | | | |:---:|:---:|:---:| | ![Events](.image/banner/banner1089.jpg) | ![Processing](.image/banner/banner1090.jpg) | ![Notification](.image/banner/banner1029.jpg) | | ![Configuration](.image/banner/banner1030.jpg) | ![List](.image/banner/banner1072.jpg) | ![Details](.image/banner/banner1031.jpg) | | ![Handling](.image/banner/banner1070.jpg) | ![Statistics](.image/banner/banner1071.jpg) | | #### ⚙️ System | | | | |:---:|:---:|:---:| | ![Branding](.image/banner/banner1143.jpg) | ![Reset](.image/banner/banner1144.jpg) | ![Users](.image/banner/banner1003.png) | | ![Permissions](.image/banner/banner1004.png) | ![Menu](.image/banner/banner1005.png) | ![Configuration](.image/banner/banner1002.png) | #### 📱 APP | | | | |:---:|:---:|:---:| | ![Home](.image/banner/app/app_1000.jpg) | ![Monitoring](.image/banner/app/app_1001.jpg) | ![Preview](.image/banner/app/app_1002.jpg) | | ![Alerts](.image/banner/app/app_1003.jpg) | ![Playback](.image/banner/app/app_1004.jpg) | ![Device](.image/banner/app/app_1005.jpg) | | ![Messages](.image/banner/app/app_1006.jpg) | ![Profile](.image/banner/app/app_1007.jpg) | | ## 📞 Contact Information

Please follow our official account below first, then reach us via the technical exchange group or WeChat.

## 👥 Official Account
Official Account
## 💬 Technical Exchange Group

After following the official account, scan the QR code below with WeChat to join the EasyAIoT technical exchange group.

EasyAIoT Technical Exchange Group
## 💬 WeChat Contact

After following the official account, scan the QR code below to add us as a WeChat friend for one-on-one communication.

WeChat Contact
## 🪐 Knowledge Planet:

Knowledge Planet

## 💰 Sponsorship
WeChat Pay Alipay
## 🤝 Contributing Guide

We welcome all forms of contributions! Whether you are a code developer, documentation writer, or issue reporter, your contribution will help make EasyAIoT better. Here are the main ways to contribute:

💻 Code Contribution

📚 Documentation Contribution

🌟 Other Contribution Methods

## 🌟 Major Contributors

The following are outstanding contributors who have made major contributions to the EasyAIoT project. Their contributions have played a key role in promoting the project's development. We express our most sincere gratitude!

Contributor Contribution
℡夏别 Contributed Windows deployment documentation for the EasyAIoT project, providing a complete deployment guide for Windows platform users, greatly reducing the deployment difficulty in Windows environments, and enabling more users to easily use the EasyAIoT platform.
YiYaYiYaho Contributed Mac container one-click deployment script for the EasyAIoT project, providing an automated deployment solution for Mac platform users, significantly simplifying the deployment process in Mac environments, and improving the deployment experience for developers and users.
山寒 Contributed Linux container deployment script for the EasyAIoT project, providing a containerized deployment solution for Linux platform users, achieving fast and reliable container deployment, and providing important guarantees for stable operation in production environments.
玖零。 Contributed Linux container deployment script for the EasyAIoT project, further improving the containerized deployment solution for Linux platforms, providing more options for users of different Linux distributions, and promoting the project's cross-platform deployment capabilities.
爱吃小柚子 To advance EasyAIoT toward training that actually runs, stays stable, and stays easy to operate, systematically delivered multi-GPU training, checkpoint resume, and node-side deployment so on-site compute can be fully used and training jobs stay under control: servers can auto-detect and use all GPUs, and users can pick one or more cards on the training page instead of being stuck with a single visible GPU; common dataset formats and directory layouts are supported, large local datasets can be uploaded, and original data is kept after failed runs for quick retries—greatly cutting the cost of data prep and rework; training progress is visible, jobs can be stopped and resumed, avoiding lost results after interruptions or “stop” clicks that leave processes spinning in the background, with clear fallback and feedback when local or remote scheduling fails; also improved frontend GPU selection, resume, and stop-state display, and fixed false “publish failed” results, custom preview images being overwritten, model lookup by name/version not working, and dataset sync timeouts or conflicts—making the train–publish–use loop smoother and more reliable. Previously also led end-to-end GB28181 and AI workflow integration testing and dedicated image-clarity evaluation, providing a strong basis for reliable national-standard access and better viewing experience.
Dark Contributed end-to-end integration of GB28181 for EasyAIoT in national-standard video surveillance, delivering video playback and PTZ (pan-tilt) control so that device access supports practical live preview and remote camera steering.
machh Contributed to the EasyAIoT-Edge project by validating camera onboarding and AI capabilities end to end, and wiring these features into a coherent edge-side workflow.
遗忘的星空 Contributed to EasyAIoT's direct device onboarding by delivering a multi-vendor IP camera asset inventory and subnet scanner, supporting batch discovery and identification of Hikvision IPCs, NVRs, and related devices; improved batch search and one-click registration for directly connected devices across same-subnet and cross-subnet scenarios. Device access is implemented via native protocols, bypassing the Hikvision SDK and reducing reliance on the Hikvision platform—laying the groundwork for open, controllable large-scale camera onboarding.
阿龙 To advance EasyAIoT in map visualization and spatial intelligence, independently contributed the complete implementation of Tianditu spatial visualization capabilities, covering national Tianditu basemap integration, camera and alarm device placement, map distribution views, location search and batch coordinate import, automatic alarm event mapping, person/vehicle trajectory tracking, and mobile device track playback—bringing the platform's "Tianditu spatial visualization and map-based analysis" capability from design to production-ready, usable form.
雨落流殇 To advance EasyAIoT in ultra-large-scale streaming media delivery, contributed deployment and scheduling approaches for heterogeneous streaming media server clusters, proposing scalable solutions including multi-node pool coordination, decoupling of streaming from the business layer, and node registration scheduling—laying an important architectural foundation for the platform to support concurrent access of tens of thousands of camera streams with stable distribution and elastic scaling.
常康 To advance EasyAIoT in intelligent transportation and vehicle management, independently contributed the license plate recognition algorithm and complete code implementation, covering plate detection, plate number and color recognition, double-layer plate merging and tilt/perspective correction, plate library management and multi-library sequential matching, one-click integration with algorithm tasks, and asynchronous matching—supporting mainstream plate types including blue, yellow, green, white, and new energy vehicle plates—bringing the platform's "license plate recognition and plate library management" capability from planning to production-ready, closed-loop application.
Li To advance EasyAIoT in youth developer community building and collaborative ecosystem development, demonstrated outstanding organizational leadership and rallying power by leading fellow students across campus to actively co-build the project, bringing together young talent and collective momentum to inject a continuous, enduring stream of growth energy into EasyAIoT; also made pivotal, irreplaceable contributions in project outreach, hands-on implementation, and cultivating the next generation of contributors.
陈家林 To advance EasyAIoT in IoT device interoperability, industrial protocol access, and air–ground video fusion, delivered a closed loop for device commands and status so the platform can truly “send commands down, see status, and stay in control”; systematically contributed Modbus-TCP, Modbus-RTU, and OPC UA industrial protocol access—unified acquisition of Ethernet- and serial-side industrial devices and OPC UA nodes, with measurement read/write and thing-model mapping—so meters, sensors, PLCs, controllers and other industrial equipment data can be aggregated, monitored and linked on the platform, completing the key puzzle of “seeing the scene and hearing the devices”; also contributed DJI FlightHub dock and drone video integration, bringing aerial inspection into the unified video and alarm system, significantly expanding value in industrial data acquisition, production-line intelligence, wide-area patrol, emergency survey, and sky–ground collaborative sensing.
空空 To advance EasyAIoT in camera direct-connect from “discoverable” to “production-ready,” closed critical gaps in authentication, channel sync, config changes, and multi-vendor stream URLs so the platform is deliverable on real NVR / multi-vendor sites: made device login work reliably so direct-connect devices can truly “log in and stay managed”; improved the post-NVR-sync streaming model so batch-synced channels play and scale; ensured access parameters remain maintainable; built stream URL rule libraries for common domestic camera brands and opened custom brand rules so heterogeneous devices can go live in one click without manual address trials—moving direct-connect from “devices can be scanned” to “login works, sync is accurate, configs can be changed, and multi-brand streams play,” laying a solid foundation for later PTZ and zoom controls.
狗娃 To advance EasyAIoT toward "IoT data displayed on screen," proactively proposed the product vision of a visualization Board (drag-and-drop dashboard) module: traditional dashboards often require hand-written SQL for every screen and component, slowing delivery, making every change ripple across the stack, and leaving business users unable to self-serve. The Board approach puts charts, metrics, and layout on a drag-and-drop canvas and binds component variables directly to platform IoT thing-model metrics—real-time and historical values pulled from devices in one step, without bespoke queries per dashboard; campus situational awareness, production-line KPIs, equipment operations, and similar screens upgrade from "developers write SQL to get a screen" to "pick metrics, drag components, screen done," significantly shortening visualization delivery and turning IoT "data in the back office" into an operational "screens in the front office" capability. Previously also contributed sensor float data prediction, running-status property threshold configuration, threshold alarms with rule linkage, and one-screen running-status views for central-device associated sub-devices—closing the device operations loop of "predict—bound—alert—rule—one-screen control" so the device side can "see the numbers, govern the bounds, raise the alerts, and grasp the whole picture."
大老刘 To advance EasyAIoT in external communication and solution storytelling, contributed the illustrated introduction material AI Video Surveillance Analytics Platform, systematically presenting the platform's capability landscape and deployment value in AI video surveillance scenarios so that users, integrators, and partners can quickly grasp the positioning and key highlights—significantly improving outreach and business communication efficiency.
刘兆中ᯤ⁵ᴳ To advance EasyAIoT toward one-click macOS deployment, pioneered part of the Mac one-click deployment scripts—largely opening the main path of image pull, container orchestration, and environment precondition checks so that follow-on work only needed to close the “last mile.” His exploration clarified key nodes and risk points on the Mac deployment chain, substantially shortening the path to engineering completion, and remains an indispensable foundational contribution in taking macOS deployment from zero to usable.

Special Thanks: The above contributors have advanced EasyAIoT in cross-platform deployment documentation and scripts, foundational macOS one-click deployment scripting and path exploration, national-standard video capability delivery and AI integration verification, multi-GPU training and checkpoint resume, multi-vendor camera direct discovery and batch onboarding, Tianditu spatial visualization, heterogeneous streaming media cluster deployment and scheduling, license plate recognition algorithm and complete implementation, EasyAIoT-Edge end-to-end edge-side integration, campus developer community organization and youth collaborative ecosystem building, IoT device uplink/downlink closed loop and DJI FlightHub aerial view integration, Modbus-TCP / Modbus-RTU / OPC UA industrial protocol access, the production-ready closed loop of camera direct-connect from discovery through login/sync/config/multi-brand streaming, the drag-and-drop Board vision with IoT metric real-time/historical value integration, sensor float data prediction with threshold alarm rules plus one-screen running-status views for central-device associated sub-devices, and illustrated introduction materials for the AI video surveillance analytics platform. Their professionalism and selfless dedication are worthy of our learning and respect. Once again, we express our most sincere gratitude to these outstanding contributors! 🙏

## 💝 Open Source Guardians Sustaining an open-source project takes more than code and documentation. During the days when EasyAIoT's compute resources were most strained and the project was on the brink of stalling, the following individuals stepped forward with tangible financial support that gave the project the momentum it needed to keep going. You may never have submitted a single line of code, yet every act of trust and support helped EasyAIoT cross its hardest hurdles and continue to evolve. As long as people use it and stand behind it, the open-source ecosystem deserves to go further; what EasyAIoT has achieved today would not have been possible without these companions who reached out at critical moments. We extend our deepest respect and gratitude to every friend who lent a hand. The following rankings are in no particular order:
lysss
lysss
Sean-宋阳
Sean-宋阳
XYZ
XYZ
大虚子民🎼
大虚子民🎼
哈兰葱
哈兰葱
曲超
曲超
李雪汉
李雪汉
梦影·清之韵
梦影·清之韵
dasic
dasic
战刀
战刀
禾一虫
禾一虫
钟意月月🍹
钟意月月🍹
山人
山人
林大侠
林大侠
core
core
王亚鹏
王亚鹏
今早好大雾
今早好大雾
头像飞鱼
头像飞鱼
simon
simon
万博览
万博览
董永乐
董永乐
℡夏别
℡夏别
周金旺
周金旺
无忧
无忧
许多
许多
王军
王军
子非鱼
子非鱼
苏州小朱
苏州小朱

HuaZy
HuaZy
越南打印机网络监控电脑门禁何工
越南打印机网络监控电脑门禁何工
熊勇辉
熊勇辉
旭
心远
心远
Mr.Peng
Mr.Peng
舒韩春💭成都云速广告💭
舒韩春💭成都云速广告💭
前进!
前进!
永恒
永恒
Catwings
Catwings
刘振达
刘振达
雷沛奇
雷沛奇
CSL
CSL
自胜
自胜
朱江山
朱江山
安
简单
简单
郝艳军
郝艳军
Star&Li
Star&Li
工体东路
工体东路
Sunder.
Sunder.
程亮🌟
程亮🌟
should
should
黄国洪
黄国洪
Holmesian
Holmesian
Issac
Issac
习惯
习惯
黄杰
黄杰
唐智灵
唐智灵
巴波儿奔🇨🇳
巴波儿奔🇨🇳
冯振华
冯振华
风清扬
风清扬
take your time or
take your time or
Rising徐
Rising徐
Mr.G
Mr.G
吴翕然
吴翕然
蓝天白云
蓝天白云
Charlie
Charlie
胖哥
胖哥
王宪芳
王宪芳
lk
lk
阿旺*
阿旺*
🍃一笑奈何🍃
🍃一笑奈何🍃
刘召
刘召
🍻Jamie
🍻Jamie
薛磊
薛磊
Jack
Jack
啊这
啊这
在希望德田野上
在希望德田野上
莫建民
莫建民
马景祥
马景祥
谭远彪
谭远彪
一杯陈豆浆🥲🥲
一杯陈豆浆🥲🥲
chen
chen
xingzhedu2030
xingzhedu2030
machh
machh
开炫🍊🍊🍊
开炫🍊🍊🍊
Dark
Dark
A-Tree
A-Tree
陈
月半
月半
吴军
吴军
青衫
青衫
梓淇東來
梓淇東來
潇潇
潇潇
依依
依依
金·郁金香
金·郁金香
David
David
榕德天锐-邱国城
榕德天锐-邱国城
Wzs
Wzs
张军伟
张军伟
菜rainbow狗
菜rainbow狗
闻达
闻达
银之匙
银之匙
命中注定
命中注定
...
...
爱吃小柚子
爱吃小柚子
草原雄鹰
草原雄鹰
顺流致远
顺流致远
香草口味
香草口味
雨落流殇
雨落流殇
弱电安防
弱电安防
山里人
山里人
诗如画
诗如画
星空🌃
星空🌃
楠哥
楠哥
蜗牛
蜗牛
大周
大周
歌德de花烛
歌德de花烛
noname
noname
兔子
兔子
ThinkInStack
ThinkInStack
Louis
Louis
胡首凡 梯控门禁五方对讲
胡首凡 梯控门禁五方对讲
袁建华
袁建华
空空
空空
阿涛
阿涛
NULL
NULL
一片天
一片天
小满藏舟
小满藏舟
M
M
舍得
舍得
默者
默者
火车叨位去、
火车叨位去、
payne
payne
滕虎
滕虎
天天
天天
王超
王超
南北
南北
最后的轻语
最后的轻语
西乡一粒沙
西乡一粒沙
yang
yang
何行者
何行者
在路上
在路上
ANDY
ANDY
冯
忘记时间
忘记时间
A许庆
A许庆
刘兆中📶⁵ᴳ
刘兆中📶⁵ᴳ
莫斯克
莫斯克
赵欢
赵欢
## 🏆 Best Practitioners They are the pioneers who push EasyAIoT from "usable" to "easy to use and use well" — the following individuals have completed EasyAIoT project deployment or business scenario implementation. Their exploration and achievements set replicable and referable benchmarks for the community. We extend our highest respect and heartfelt congratulations to these outstanding practitioners! The following rankings are in no particular order:
℡夏别
℡夏别
YiYaYiYaho
YiYaYiYaho
冯
在希望德田野上
在希望德田野上
漠然
漠然
爱吃小柚子
爱吃小柚子
Wzs
Wzs
Dark
Dark
刘延波
刘延波
## 🙏 Acknowledgements Thanks to the following contributors for code, feedback, donations, and support (in no particular order):
默者
默者
小满藏舟
小满藏舟
空空
空空
陈家林
陈家林
NULL
NULL
陈勇至
陈勇至
Dark
Dark
machh
machh
三块两毛四
三块两毛四
物语晨水²⁰²⁶
物语晨水²⁰²⁶
玖零。
玖零。
金鸿伟
金鸿伟
李江峰
李江峰
Best Yao
Best Yao
无为而治
无为而治
shup
shup
也许
也许
⁰ʚᦔrꫀꪖꪑ⁰ɞ .
⁰ʚᦔrꫀꪖꪑ⁰ɞ .
逆
廖东旺
廖东旺
黄振
黄振
春生
春生
贵阳王老板
贵阳王老板
hao_chen
hao_chen
尽千
尽千
yuer629
yuer629
kong
kong
岁月静好
岁月静好
Kunkka
Kunkka
灬
Mr.LuCkY
Mr.LuCkY
泓
i
i
依依
依依
小菜鸟先飞
小菜鸟先飞
追溯未来
追溯未来
青衫
青衫
Fae
Fae
憨憨
憨憨
文艺小青年
文艺小青年
lion
lion
汪汪队立大功
汪汪队立大功
wcj
wcj
怒放de生命
怒放de生命
蓝速传媒
蓝速传媒
Achieve_Xu
Achieve_Xu
NicholasLD
NicholasLD
ADVISORYZ
ADVISORYZ
take your time or
take your time or
碎碎念.
碎碎念.
北街
北街
Dorky TAT
Dorky TAT
右耳向西
右耳向西
派大星
派大星
棒槌🧿🍹🍹🧿
棒槌
信微输传助手
信微输传助手
一往无前
一往无前
Charon
Charon
赵WIFI.
赵WIFI.
Chao.
Chao.
城市稻草人
城市稻草人
Bug写手墨白
Bug写手墨白
kevin
kevin
童年
童年
sherry金
sherry金
℡夏别
℡夏别
翠翠草原
翠翠草原
慕容曦
慕容曦
Tyrion
Tyrion
大漠孤烟
大漠孤烟
Return
Return
一杯拿铁
一杯拿铁
Thuri
Thuri
Liu
Liu
三金
三金
ZPort
ZPort
Li
Li
嘉树
嘉树
俊采星驰
俊采星驰
oi
oi
ZhangY_000
ZhangY_000
℡夏别
℡夏别
张瑞麟
张瑞麟
Lion King
Lion King
Frank
Frank
徐梦阳
徐梦阳
九月
九月
tangl伟
tangl伟
冯瑞伦
冯瑞伦
杨林
杨林
梧桐有语。
梧桐有语。
歌德de花烛
歌德de花烛
泥嚎
泥嚎
翠翠草原
翠翠草原
胡泽龙
胡泽龙
苏叶
苏叶
裴先生
裴先生
谭远彪
谭远彪
陈祺
陈祺
零点就睡
零点就睡
风之羽
风之羽
王守仁
王守仁
狼图腾
狼图腾
马到成功
马到成功
做生活的高手
做生活的高手
清欢之恋
清欢之恋
绝域时空
绝域时空
风雨
风雨
Nicola
Nicola
云住
云住
Mr.Zhang
Mr.Zhang
剑
shen
shen
嗯
周华
周华
太阳鸟
太阳鸟
了了
了了
第七次日落
第七次日落
npc
npc
承担不一样的天空
承担不一样的天空
铁木
铁木
Orion
Orion
森源-金福洪
森源-金福洪
薛继超
薛继超
虎虎虎
虎虎虎
Everyman
Everyman
NXL
NXL
孙涛
孙涛
大饼
大饼
hrsjw1
hrsjw1
linguanghuan
linguanghuan
YiYaYiYaho
YiYaYiYaho
慢慢慢
慢慢慢
lilOne
lilOne
icon
icon
山寒
山寒
放学丶别走
放学丶别走
春和
春和
章鱼小丸子
章鱼小丸子
Catwings
Catwings
小工头
小工头
西乡一粒沙
西乡一粒沙
爱吃小柚子
爱吃小柚子
阿龙
阿龙
雨落流殇
雨落流殇
遗忘的星空
遗忘的星空
常康
常康
嘎嗝
嘎嗝
曹
滔滔
滔滔
狗娃
狗娃
## 💡 Expectations

We welcome suggestions for improvement to help refine EasyAIoT.

## 📄 Copyright

Soaring Xiongkulu / easyaiot is licensed under the MIT LICENSE. We are committed to promoting the popularization and development of AI technology, enabling more people to freely use and benefit from this technology.

Usage License: Individuals and enterprises can use it 100% free of charge, without the need to retain author or Copyright information. We believe the value of technology lies in its widespread use and continuous innovation, rather than being bound by copyright. We hope you can freely use, modify, and distribute this project, making AI technology truly benefit everyone.