# easyaiot **Repository Path**: nbb/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**: 1010 - **Created**: 2026-09-03 - **Last Updated**: 2026-09-03 ## 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, four 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 can run a closed smart loop on a 2 GB edge standalone (edge), land on a 4–8 GB edge box (mini) for single-point intelligence, ride AI all-in-one cameras for floor-level coverage, or pack into an enterprise full-stack appliance with IoT management, massive video access, and AI analysis—no multiple versions to maintain, no repeated integration across heterogeneous systems.

The platform comprises core modules including WEB, APP, DEVICE, EDGE, SENTINEL, VIDEO, RTC, AI, RUNTIME, POST, VISUALIZE, TRANSFORM, PANEL, IDEA, HARNESS, 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 / snapshot / patrol algorithm tasks, RUNTIME native high-speed execution layer (compiled binary owns pull/decode, YOLO inference, boxed push, and multi-channel raw forward—lower CPU/memory and steadier latency than interpreted paths; one binary covers realtime / snap / patrol / forward), YOLO object detection and SAM zero-shot auto-annotation, face/plate recognition, POST custom judgment (after detection, filter and composite rules before alerting—change rules without retraining models), federated compute cluster scheduling, SENTINEL cluster-node sentinel (continuously reveals per-node readiness and schedulable business capacity, requests environment fill-in when gaps appear, and dispatches work by real capability), 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, with the EDGE C# edge collection runtime handling Modbus RTU/TCP, OPC UA, and other on-site industrial protocols via pluggable collectors, local scheduling, and MQTT cloud-edge integration, plus 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 POST custom judgment service, which turns detections into field-ready business events—fewer false alarms, configurable rules, trial runs before go-live; plus the 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, four hardware tiers, and installer entry—so visitors understand first, then download and deploy; and IDEA community cloud IDE so contributors can open the full repo in a browser, co-create with GitHub Copilot, publish local changes, and submit PRs—turning open-source collaboration from “set up the environment first” into “open and edit”. 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; and the new ANDROID / IOS / HARMONYOS packaging shells ship that mobile experience as installable apps on every mainstream phone OS (APK / IPA / HAP) from one frontend codebase, with one-command builds and unified version management.

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). For day-to-day platform operations after deployment, see the Platform Operations Manual.

### 🏆 Certificates | | | | | |:---:|:---:|:---:|:---:| | Gitee Annual OSS Award 2025 · Industrial Software Track Top 1 | Gitee 2000+ Stars | Gitee GVP 2025 · Most Valuable Open Source Project | CSDN Blog Expert | ## 🚀 Quick Start

Open the README and mutter: “Can my little box even run this?” — Yes. Don’t panic.

Lightest tier, containers use about 1 GB total. Cameras, real-time analysis, smart alerts—small machines still close the loop. Spin up that old laptop first; upgrade later when you’re hooked.

Three steps (Linux):

```bash git clone https://gitee.com/volara/easyaiot.git cd easyaiot # Option A (recommended) EASYAIOT_DEPLOY_PROFILE=edge sudo bash .scripts/docker/install_linux.sh install # Option B # sudo bash .scripts/docker/install_linux.sh edge install ```

Then open https://<server-ip>:8888 — default admin / admin123. Sanity-check:

```bash .scripts/docker/install_linux.sh verify # Optional: peek at memory vs the tier budget .scripts/docker/install_linux.sh resources ```

All green? You’re done—easier than you feared. Go grab that coffee early.

## 🌟 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
### 🏷️ LLM Smart Labeling: Describe the Business Scene, Train a Field-Specific Small Model

Conventional auto-labeling usually accepts only class words such as “person,” “vehicle,” or “helmet.” It can locate generic objects, but cannot precisely express what a customer actually cares about on site. EasyAIoT adds an independent LLM Smart Labeling workflow built on the existing HARNESS model foundation. Users describe a real business scene in natural language—for example, “label people who enter the construction area without correctly wearing a helmet, and exclude compliant workers.” The LLM understands objects, actions, relationships, conditions, and exclusions before producing structured annotations. After users review the bootstrap results, the platform automatically trains, publishes, binds, and applies a YOLO small model, turning one scene description into a dedicated capability that can run continuously and efficiently in production.

How it differs from SAM3 Smart Labeling: SAM3 uses concise visual prompts and excels at locating or segmenting “things that look like this target.” LLM Smart Labeling accepts a complete business description and determines “which target, under which conditions, is the one the user actually wants labeled.” The two workflows have separate entries and tasks but share the review, training, and small-model relabeling pipeline. Use SAM3 for fast generic-object extraction; use LLM Smart Labeling when the scene depends on actions, relationships, conditions, exceptions, or domain semantics.

### 🔌 EDGE: C# Edge Collection Runtime

On industrial and building sites, PLCs, meters, and sensors often hang on RS-485 or Ethernet while the cloud platform still needs a separate data-acquisition stack—protocols written one-off, every config change requiring a site visit. Long access chains, fragmented ops, and cloud-edge metric drift are the norm. EasyAIoT adds a dedicated EDGE module (C#) as an independently deployable edge collection runtime: pluggable multi-protocol collectors, local scheduling, config-driven parsing, and MQTT integration with the EasyAIoT cloud platform—lifting on-site Modbus RTU/TCP, OPC UA, and other points into a unified thing model uplink, with cloud config push and property writes reaching the edge for execution.

Difference from Device Management "gateway": In device management, a gateway is a cloud-side product/device type (GATEWAY + SUBSET sub-device topology) for provisioning, shadow, binding, and downlink. EDGE has no separate device page—it is the on-site process that acts as that gateway; collected data appears in the same device management UI. Another path is iot-sink cloud-side polling of Modbus/OPC UA (the platform must reach field devices); EDGE collects on site and uplinks via MQTT only—suited to OT isolation and RS-485. Gateway property uplink/downlink, sub-device property proxy reporting, and config push are already aligned for use as an on-site industrial gateway; proactive topology reporting, sub-device event/service passthrough, OTA, and the full gateway protocol surface are still evolving.

Why C# for edge IoT acquisition?

Collector Protocol / Scenario
modbus-rtu Modbus RTU (RS485/serial)—meters, instruments, PLCs on the bus
modbus-tcp Modbus TCP—Ethernet-side industrial devices, VFDs, gateways
opc-ua OPC UA—modern industrial control and upper-system interconnect
### 🛰️ SENTINEL: Cluster-Node Sentinel—Onboard Ready, Schedule by Real Capability

Federated scale-out often fails at “the machine joined, but nobody knows if it can take work”—video analytics, stream forwarding, and model training each need different readiness; jobs land only to discover missing environment pieces, and sites keep boarding servers to install dependencies until acceptance stalls on “installed but won’t run.” EasyAIoT adds a dedicated SENTINEL module as a business-readiness sentinel that travels with every schedulable node: it continuously checks whether the box can truly take the selected workloads, aggregates schedulable capacity into the console, and can request environment fill-in when gaps appear—so ops board fewer machines, jobs hit fewer dead ends, and scale-out can be accepted the same day.

### 🧭 POST: Custom Judgment—Turn “Detections” into Operable Business Events

Vision projects often stall at “the model already boxed people/vehicles/objects, but alerts are unusable”—passers-by outside the zone still alarm, normal work still alarms, and customers need line-crossing, loitering, or people-over-limit, yet teams keep retraining models, stopping tasks, and waiting on developers. EasyAIoT adds a dedicated POST custom judgment service that separates visual perception from business judgment: detection keeps focusing on “seeing,” while judgment orchestrates per task “whether to alert and what to report”—change rules without retraining, and analysis keeps running, so alerts finally match site, campus, traffic, and plant management standards.

### 📱 ANDROID / IOS / HARMONYOS: One Frontend, Three Native Shells—Every Phone, One App

Mobile delivery often stalls on platform coverage: an app that only runs on one OS chains field staff to company-issued devices, and maintaining a separate native codebase per platform triples cost while the feature sets drift apart. EasyAIoT's mobile side is one uni-app frontend + three native shells: the same APP pages compile into installable apps for ANDROID (DCloud offline runtime + Gradle → APK), IOS (WKWebView shell + xcodebuild → .app / .ipa), and HARMONYOS (ArkWeb shell + hvigor → HAP)—one set of business logic, native installers on every mainstream phone OS, without maintaining three codebases.

Platform Shell technology Build output One-command script
ANDROIDDCloud uni-app offline runtime + Gradleeasyaiot-<version>-<env>-android.apkANDROID/make-apk.sh / make-apk.bat
IOSWKWebView shell + xcodebuild (Xcode 16+).app (simulator, no signing) / .ipa (device)IOS/make-ipa.sh
HARMONYOSArkWeb shell + hvigor (DevEco Studio)easyaiot-<version>-<env>-harmonyos.hapHARMONYOS/make-hap.sh
### 🎯 Four 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—from edge ultra-light standalone to 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 among the four common field hardware classes; the same software runs from “just get it running” through single-site pilots, floor coverage, and full-stack delivery—no split versions.

| Tier | Typical hardware (examples) | Recommended RAM | What you can do | Verified | | :-- | :-- | :--: | :-- | :--: | | **edge** Edge Standalone | Light edge standalone (2 GB industrial PC, old laptop, smallest cloud VM, store trial box) | ≥ 2 GB | One machine closes the loop first: WEB + VIDEO + RUNTIME; camera access, real-time analysis, smart alerts; zero DEVICE, login led by VIDEO | ~**1.02 GB**, nearly 1 GB headroom | | **mini** Edge Lite | Edge box (8 GB industrial PC, store security all-in-one, site gateway) | ≥ 8 GB | Intelligence at one point: camera access, real-time analysis, smart alerts, model inference; event plane same as standard/full (Gateway + iot-sink + EMQX) | ~4–6 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; POST custom judgment makes alerts match field standards | ~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; includes POST custom judgment and outbound business flow | ~14 GB, full features with headroom |

Install edge: EASYAIOT_DEPLOY_PROFILE=edge sudo bash .scripts/docker/install_linux.sh install (or ... install_linux.sh edge install). First-time install can also pick the tier interactively; see Quick Start above.

Install tier selection and resource compliance (verified):

| | | |:---:|:---:| | ![Edge standalone edge](.image/deploy-profile-edge.png) | ![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 #### 💻 IDEA Cloud IDE ### 🔌 LLM Unified Gateway — One Protocol, Every Major LLM Vendor

The platform converges every major LLM vendor onto a single OpenAI-compatible protocol (/v1/chat/completions). Only one model is active at a time — all in-page AI capabilities (image/video understanding, auto labeling, chat) switch to it instantly. Adding a vendor is zero-code: just one entry in the template registry. Preset template data is seeded automatically on first deployment (placeholder keys sk-placeholder-*, inactive); fill in a real API key in the editor and enable it — the UI guides you through the whole flow.

| Vendor | Template Key | Model IDs (suggestions) | Notes | | :-- | :-- | :-- | :-- | | DeepSeek | `deepseek` | deepseek-v4-flash, deepseek-v4-pro, deepseek-v4-flash-vision-exp | 1M context; official API | | Alibaba Cloud Bailian | `dashscope` | qwen3.8-max, qwen3.7-max/plus/flash, qwen3.6-plus/flash, qwen3.5-plus/flash, qwen3.5-omni-plus/flash, qwen3-vl-plus/flash, qwen-vl-max | OpenAI-compatible mode endpoint | | Zhipu GLM | `zhipu` | glm-5.3, glm-5.2, glm-5.1, glm-5-turbo, glm-5, glm-4.7, glm-4.7-flash, glm-4.5-flash, glm-4-plus/flash/air, glm-4v-plus/flash, glm-ocr | v4 endpoint | | OpenAI | `openai` | gpt-5.6-sol, gpt-5.6, gpt-5.6-sol-pro, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4-mini, gpt-4.1-mini | max_completion_tokens auto-compat | | Kimi (Moonshot) | `kimi` | kimi-k2.6, kimi-k2.7-code | K2 forces temperature=1 | | Claude (Anthropic) | `claude` | claude-opus-4-7/4-6/4-5, claude-sonnet-4-6/4-5, claude-haiku-4-5 | Native Messages API — connect via an OpenAI-compatible relay/gateway | | Anthropic Compatible | `anthropic` | — | Fill an OpenAI-compatible relay endpoint | | Custom | `custom` | — | Any OpenAI-compatible endpoint | ### 🤖 RAG Knowledge Base & AI Agents

Built on the unified LLM gateway, the platform turns business documents into answerable knowledge assets packaged as conversational AI agents — one pipeline from knowledge curation to retrieval-backed answers to in-page and in-IDE assistants.

### 🧠 LLM Post-Processing for Alerts (LLM Judgment) — From “Detected” to “Trusted”

Traditional vision algorithms solve “seeing” but leave “believing” to people — bounding boxes for helmets, line-crossing, flames and sleep-on-duty flood the screen every day, forcing watch officers to open each alert image and re-check it manually; false alarms drown out real incidents, and real incidents are feared to be missed. EasyAIoT connects LLM semantic understanding to the alert pipeline: algorithm tasks can attach LLM post-processing rules, alerts that match a rule automatically enter a dedicated judgment queue, where a multimodal LLM inspects each scene image (or short clip) one by one and writes back a “Confirmed / False Positive” verdict with confidence and reasoning — watch officers go from “staring at every frame” to “reading conclusions”, and high-frequency false alarms are kept out of notifications.

### 📦 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. EasyAIoT uses six programming languages mixed by scenario: Java for platform architecture, Python for AI algorithms, C++ for video execution, Go for protocol gateway, TypeScript for management UI, C# for edge industrial acquisition—cloud management, algorithms, execution, protocols, UI, and on-site acquisition each in its place, forming a complete cloud-edge-device technical closed loop.

Java excels at building stable and reliable platform architectures, but is ill-suited to network programming and AI development; Python excels at network programming and AI algorithms, but hits GIL and process-overhead bottlenecks on high-channel, low-latency frame execution; C++ excels at high-performance task execution, but is ill-suited to platform architecture and algorithm orchestration; 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; C# excels at industrial protocol acquisition and edge runtime orchestration, with strong typing ensuring reliable point mapping and protocol parsing, async/await supporting concurrent multi-device polling, .NET cross-platform publishing adapting to x86/ARM industrial sites, mature industrial/SCADA ecosystem with fast integrator onboarding, but is ill-suited to cloud platform core business and AI algorithms. Six languages each play to their strengths and avoid weaknesses—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, EDGE, 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, EDGE, SENTINEL, VIDEO, RTC, AI, RUNTIME, POST, VISUALIZE, TRANSFORM, PANEL, IDEA, HARNESS, 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, four hardware tiers, installer entry, and docs on one site—less time hunting the repo or asking around for packages
  • Supports tier selection: Present edge / mini / standard / full for light standalone, 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 create/start/stop, node status, and multi-channel viewing; switch high-performance / compatibility mode by site
  • 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
ANDROID / IOS / HARMONYOS Module
  • One frontend, three native shells: APP uni-app pages packaged into installable apps on Android (DCloud offline runtime + Gradle → APK), iOS (WKWebView shell + xcodebuild → .app / .ipa), and HarmonyOS (ArkWeb shell + hvigor → HAP)—same business logic on every mainstream phone OS
  • One-command packaging: make-apk.sh / make-ipa.sh / make-hap.sh with version-consistency checks; prod / test / dev environments build independent artifacts
  • Unified management: .scripts/docker/mobile.sh for status / build / bump / artifacts / clean; bump updates all five version fields at once and packaging refuses mismatched versions
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
EDGE Module
  • Why C#: Strong-typed point mapping, async multi-device concurrent polling, 7×24 long-running stability, Linux x86/ARM cross-platform self-contained publishing—mature industrial ecosystem, fast integrator onboarding
  • C# edge collection runtime: Independently deployable edge-side collection service—pluggable collectors + local scheduling + config-driven parsing
  • Multi-protocol collectors: Built-in Modbus RTU (RS485/serial), Modbus TCP, OPC UA collectors; extend via ICollector plugins per job
  • MQTT cloud-edge integration: Joins as device-management GATEWAY—property reporting, sub-device property proxy reporting, cloud config push (config/downstream/push) and property write downlink—integrated with DEVICE/iot-sink; data shown in the same device management UI, complementary to cloud-side industrial polling (platform reaches field devices directly)—EDGE suits OT isolation and RS-485 field sites
  • Dual config channels: Local device-jobs.json and cloud MQTT config push both drive collection jobs
  • Linux packaging: pack_linux.sh produces x86_64 / ARM64 standalone deployment packages for industrial PCs and edge gateways
  • Out-of-box integration: Built-in E2E demo validates collection → MQTT uplink → cloud persistence; cloud platform integration included
SENTINEL Module
  • Business-readiness sentinel: Travels with every schedulable node; continuously checks whether the box can truly take the selected workloads
  • Monitor on onboard: Inspection starts automatically after join—accept readiness the same day of scale-out
  • Schedulable capacity aggregation: Surfaces “can this node run this business?” in the console so dispatch follows real capability
  • Self-serve gap fill-in: Requests platform fill-in when expected environment is missing—fewer on-site installs
  • Air-gap friendly scale-out: Offline onboarding and environment sync for sites without public internet
  • One delivery language: Component health and schedulable functions on one screen—less guessing during acceptance and troubleshooting
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 realtime / snapshot / patrol; high-performance execution is the default with boxed judgment views, and compatibility mode remains available
  • Stream Forwarding Orchestration: Multi-channel raw wall display defaults to high performance; special sites can use compatibility mode; start/stop and policy changes follow automatically to cut manual rework
  • 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
  • Orchestration vs Execution: VIDEO owns device orchestration, raw preview, alert archiving, and start/stop; heavy lifting goes to RUNTIME (inference and high-performance forward)—“governed” and “fast” stay separate so channel count and latency are not dragged by Python orchestration
  • Handoff to POST judgment: Algorithm tasks can configure post-processing rules so detections enter standard alerting only after custom judgment—change rules without stopping analysis
  • Acceptance Preview: Side-by-side raw vs judgment views for faster on-site checks of latency and overlay quality
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
  • High-Performance Native Execution: One binary owns pull, decode, ONNX inference, alert/heartbeat callbacks, and boxed push; default executor=cpp—more channels per box, lower latency, leaner resources than Python paths
  • Four Field Shapes: Realtime watch, scheduled snapshot, rotating patrol, and raw-only forwarding—pick by business need so “just want video” does not pay full AI cost
  • Raw + Judgment Dual Views: Realtime tasks default-output boxed detection streams, presented separately from VIDEO raw preview—paths do not steal from each other
  • Resource-Efficient Multi-Channel Raw Wall: Stream forward defaults to the high-performance path so “many channels watch raw, few channels run AI” can coexist on NVR sites
  • Alerts & Status Back to Center: Alerts and run status aggregate to VIDEO for persistence and notification; nodes do not stack business data locally
  • Keep Realtime Under Load: When compute is tight, prioritize current picture and alert freshness—avoid “busier means more lag, more lag means more misses”
  • Prefer Acceleration, Keep Running on Fallback: Use accelerators when available; automatically continue when not—tasks do not stop
  • One-Click Distribute: WEB “workload distribute” or install scripts batch-deploy; center VIDEO install auto-mounts the local executor
  • Event plane MQTT: Alerts/snapshots/post-process via EMQX algo bus; iot-sink persists, archives, and enriches notifications
  • Management plane HTTP heartbeat: Task liveness reports to VIDEO; start/stop and task table managed by VIDEO
  • NFS media root: Alert images and SRS DVR unified to NFS shared media root (EASYAIOT_MEDIA_ROOT, default /mnt/easyaiot-media; falls back to $HOME/easyaiot/media without sudo); MQTT carries paths only; iot-sink reads disk and archives to MinIO
POST Module
  • Custom judgment: Independent business judgment on top of object detection—turn “boxed targets” into “whether to alert and under which standard”
  • Rules per task: Region filtering, pass-through, business scripts, and industry plugins compose into rule chains for sites, campuses, traffic, and more
  • Fewer false alarms, ready to accept: Outside regions do not flood screens; trial-run rules before go-live to see what is blocked and whether alerts fire
  • Change standards without stopping analysis: Saving rules on a running task takes effect immediately—no need to stop tasks to adjust forbidden zones or add a judgment step
  • Perception and judgment decoupled: Video analysis keeps running while business logic scales on demand; industry capabilities are pluggable so one detection stack serves many projects
  • Built-in plugins: line_cross line crossing, region_enter_exit zone enter/exit, dwell_timer dwell timeout, headcount_gate headcount threshold—select in algorithm task post-processing rules without plugin registration; line crossing, enter/exit, and dwell require target tracking (track_id)
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
IDEA Module
  • Community cloud IDE: Open a VS Code–style workspace in the browser, clones the full repo by default; one Docker workspace per person, with local publish and idle reclaim—turning open-source contribution from “set up an environment first” into “open and edit”
  • Split-pane AI Assistant: Toolbar opens HARNESS on the right; drag files to auto @; deep-link with ?file=&harness=1
HARNESS Module
  • Conversational assistant: Ask about health, architecture, and issues—shorter troubleshooting and PoC, less vendor dependency
  • In-page floating drawer: Chat without leaving business pages; included by default in mini / standard / full
  • IDEA split-pane link: Assistant beside the editor; drag-to-@, deep links, and two-way jump
  • MCP / Skill: Console and IDE share platform semantics; Skills reusable across projects
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: all three can default to the RUNTIME high-speed execution layer (executor=cpp)—a native binary for long-lived pull, decode, YOLO inference, and result callbacks; realtime default-pushes boxed AI detection streams; snap uses Cron capture; patrol rotates multi-channel coverage; stream forward can use the same high-performance path for resource-efficient raw walls. Versus the Python compatibility backend, RUNTIME holds up better under high channel counts and low latency. Alerts and heartbeats return to VIDEO. Algorithm task management keeps frame extraction and sorting flexible; model-service cluster inference ensures millisecond response and high availability. Full and half defense modes support precise time-based 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). Gateways in device management are cloud-side GATEWAY / sub-device topology; the EDGE C# edge collection runtime acts as that gateway on site, handling industrial protocol acquisition and MQTT cloud-edge integration, with data flowing back into the same device management UI—achieving 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 ## 📘 Operations Manual For delivery, watchkeeping, and business operations: organized by **operation chains** (goal → prerequisites → steps → acceptance). Assumes the platform is already deployed and available. (Content is currently in Simplified Chinese.) - [Platform Operations Manual (Index)](.doc/操作手册/README.md) — How to read, shortest closed loop, and doc index - [Operation Chain Overview](.doc/操作手册/00-操作链总览.md) — Global map, menu quick reference, same-day PoC checklist - [Login & Basic Setup](.doc/操作手册/01-登录与基础准备.md) — Accounts, org, permissions, notification channels - [Video Device Onboarding](.doc/操作手册/02-视频设备接入.md) — ONVIF / NVR / GB28181 / RTC / DJI → preview & stream forward - [AI Algorithm Task Loop](.doc/操作手册/03-AI算法任务闭环.md) — Labeling/models → tasks → alerts - [IoT Device Onboarding](.doc/操作手册/04-物联网设备接入.md) — Product thing model → devices → EDGE / industrial acquisition - [Alerts, Notifications & External Integration](.doc/操作手册/05-告警通知与对外联动.md) — Alert handling, notifications, TRANSFORM - [Visualization Dashboards](.doc/操作手册/06-可视化大屏.md) — Dashboard/SCADA edit, publish, and display - [APP Mobile Watchkeeping](.doc/操作手册/07-APP移动值守.md) — Mobile vs WEB capability map ## 🎮 Demo Environment - Demo URL: http://36.111.47.113:8888/ - Username: admin - Password: admin123 ## 🎬 Demo Video - Bilibili: https://www.bilibili.com/video/BV1d3846yEQz/?vd_source=5d3350c0182a2cf35c2739f3d16c1161 ## ⚙️ 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 | | | | |:---:|:---:|:---:| | ![Video Surveillance](.image/banner/banner1255.png) | ![Video Surveillance](.image/banner/banner1256.png) | ![Video Surveillance](.image/banner/banner1257.png) | | ![Video Surveillance](.image/banner/banner1237.png) | ![Video Surveillance](.image/banner/banner1238.png) | ![Video Surveillance](.image/banner/banner1239.png) | | ![Video Surveillance](.image/banner/banner1225.png) | ![Video Surveillance](.image/banner/banner1226.png) | ![Video Surveillance](.image/banner/banner1227.png) | | ![Video Surveillance](.image/banner/banner1228.png) | ![Video Surveillance](.image/banner/banner1229.png) | ![Video Surveillance](.image/banner/banner1230.png) | | ![Video Surveillance](.image/banner/banner1219.png) | ![Video Surveillance](.image/banner/banner1220.png) | ![Video Surveillance](.image/banner/banner1221.png) | | ![Video Surveillance](.image/banner/banner1222.png) | ![Video Surveillance](.image/banner/banner1223.png) | ![Video Surveillance](.image/banner/banner1224.png) | | ![Region Detection](.image/banner/banner1213.png) | ![Region Detection](.image/banner/banner1214.png) | ![Region Detection](.image/banner/banner1218.png) | | ![Post-processing Rule Chain](.image/banner/banner1216.png) | ![Post-processing Rule Chain](.image/banner/banner1217.png) | ![Post-processing Rule Chain](.image/banner/banner1215.png) | | ![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) | | #### 🤖 RAG Knowledge Base & AI Agents | | | | |:---:|:---:|:---:| | ![LLM Gateway](.image/banner/banner1240.png) | ![LLM Model Management](.image/banner/banner1241.png) | ![LLM Configuration](.image/banner/banner1242.png) | | ![LLM Templates](.image/banner/banner1243.png) | ![LLM Vendor](.image/banner/banner1244.png) | ![LLM Invocation](.image/banner/banner1245.png) | | ![Knowledge Base](.image/banner/banner1246.png) | ![Knowledge Documents](.image/banner/banner1247.png) | ![Knowledge Segments](.image/banner/banner1248.png) | | ![Knowledge Sets](.image/banner/banner1249.png) | ![RAG Expert](.image/banner/banner1250.png) | ![RAG Q&A](.image/banner/banner1251.png) | | ![AI Assistant](.image/banner/banner1252.png) | ![AI Agent Chat](.image/banner/banner1253.png) | ![Agent Effect Test](.image/banner/banner1254.png) | | ![IDEA Login](.image/banner/banner1203.png) | ![IDEA Workspace](.image/banner/banner1204.png) | ![IDEA Development](.image/banner/banner1205.png) | | ![AI Assistant Chat](.image/banner/banner1210.png) | ![AI Assistant Analysis](.image/banner/banner1211.png) | ![AI Assistant Collaboration](.image/banner/banner1212.png) | #### 🧠 AI Models | | | | |:---:|:---:|:---:| | ![Multi-cluster Sync](.image/banner/banner1200.png) | ![NFS Cluster Topology](.image/banner/banner1198.png) | ![NFS Cluster Management](.image/banner/banner1197.png) | | ![Node Management](.image/banner/banner1199.png) | ![NFS File Directory](.image/banner/banner1201.png) | ![NFS Directory Browser](.image/banner/banner1202.png) | | ![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.png) | ![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) | ![Forwarding](.image/banner/banner1206.png) | | ![Running](.image/banner/banner1209.png) | ![Destination](.image/banner/banner1207.png) | ![Delivery](.image/banner/banner1208.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) | | | #### 🔔 Alert Events | | | | |:---:|:---:|:---:| | ![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) | | #### 📋 Alert Work Orders | | | | |:---:|:---:|:---:| | ![Flow Design](.image/banner/banner1231.png) | ![Node Configuration](.image/banner/banner1232.png) | ![Select Approver](.image/banner/banner1233.png) | | ![Condition Branches](.image/banner/banner1234.png) | ![Condition Rules](.image/banner/banner1235.png) | ![Parallel Branches](.image/banner/banner1236.png) | #### ⚙️ 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 | | | | |:---:|:---:|:---:| | ![APP Screenshot](.image/banner/app/app_1008.jpg) | ![APP Screenshot](.image/banner/app/app_1009.jpg) | ![APP Screenshot](.image/banner/app/app_1010.jpg) | | ![APP Screenshot](.image/banner/app/app_1011.jpg) | ![APP Screenshot](.image/banner/app/app_1012.jpg) | ![APP Screenshot](.image/banner/app/app_1013.jpg) | | ![APP Screenshot](.image/banner/app/app_2023.png) | ![APP Screenshot](.image/banner/app/app_2024.png) | ![APP Screenshot](.image/banner/app/app_2025.png) | | ![APP Screenshot](.image/banner/app/app_2026.png) | ![APP Screenshot](.image/banner/app/app_2027.png) | ![APP Screenshot](.image/banner/app/app_2028.png) | | ![APP Screenshot](.image/banner/app/app_1014.jpg) | ![APP Screenshot](.image/banner/app/app_1015.jpg) | ![APP Screenshot](.image/banner/app/app_1016.jpg) | | ![APP Screenshot](.image/banner/app/app_1017.jpg) | ![APP Screenshot](.image/banner/app/app_1018.jpg) | ![APP Screenshot](.image/banner/app/app_1019.jpg) | | ![APP Screenshot](.image/banner/app/app_1020.jpg) | ![APP Screenshot](.image/banner/app/app_1021.jpg) | ![APP Screenshot](.image/banner/app/app_1022.jpg) | | ![APP Screenshot](.image/banner/app/app_2029.jpg) | ![APP Screenshot](.image/banner/app/app_2030.jpg) | ![APP Screenshot](.image/banner/app/app_2031.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. Building on that, he further contributed forward-looking reference code for "drawing tracking trajectories along actual roads"—addressing the common pain point that raw capture-point connections cut straight across buildings and water and deviate from real movement paths. He proposed a technical approach that treats consecutive capture points as origin–destination pairs, queries the map route-planning service segment by segment to match passable roads (driving strategy for vehicles, walking strategy for persons) and overlays the road-snapped paths, together with key implementation references for parsing route-planning results and gracefully degrading unmatched segments. This upgrades person/vehicle trajectories from "two-point straight lines" to "street-level reconstruction," making spatial-temporal analysis conclusions far closer to real movement routes and markedly improving their readability, credibility, and practical value. His selfless sharing of a reusable reference implementation also cleared technical barriers for the community and greatly lowered the reproduction threshold for similar capabilities.
雨落流殇 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.
添旺 To advance EasyAIoT in cloud-edge collaborative video ingestion and AI analytics, independently delivered several pivotal capabilities that confront the core pain points of real-world edge delivery—“can't get cameras in, can't schedule right, doesn't truly run, can't look back”: pioneered edge camera ingress with algorithm-node affinity—IPC/NVR devices can designate an online edge node as their “ingress node,” so discovery, subnet scanning, ONVIF probing, and NVR channel enumeration all run locally on that node while source streams are pushed back to the control-plane media service for unified distribution and playback; cameras in branch sites or cross-segment/private networks no longer need direct reachability to the central platform to be onboarded and streamed, and algorithm tasks are automatically pinned to their cameras' ingress node so workloads never land on nodes that cannot reach the source stream. Diagnosed and fixed the critical defect where multiple algorithm tasks or multi-model pipelines on one camera left only a single channel effective—isolating inference chains with task-scoped stream identities, reusing one shared decode across concurrent tasks via a dedicated camera-source service, and propagating task identity through alerts and runtime status end to end—one camera can now stably run multiple algorithm tasks and multi-model detection (face + vehicle in the same frame) in parallel, guarded by regression tests over the long term. Also contributed tiered storage for edge recordings with unified event replay—recordings retained in tiers at the edge while alert events and video evidence stay searchable and replayable through one cloud-edge unified entry, closing the evidence loop from “event happened” to “proof in hand.” Together these markedly strengthen the platform's delivery certainty in complex real-world network environments and the trustworthiness of its AI analytics results.

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, road-snapped trajectory reconstruction reference implementation, 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, edge camera ingress with algorithm-node affinity, isolation of multi-task/multi-model inference on the same camera, and tiered edge recording storage with unified event replay. 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.