# BasicLab-AIoT
**Repository Path**: zyqgitgit/BasicLab-AIoT
## Basic Information
- **Project Name**: BasicLab-AIoT
- **Description**: BasicLab-AIoT全网首个开源创新型AIoT智慧物联网平台,深度融合物联网、实时流媒体摄像与先进AI技术。我们不仅促成设备间的高效互联,更通过尖端AI算法与高清视频流集成,实现精密人脸识别、行为解析、风险管控及入侵预警,重塑安防、智能制造与智慧城市领域的监控和数据分析标准。此创新不仅加速数据处理时效与精确性,更拓宽物联网应用范畴,赋能每个节点“视觉”与“智识”。
- **Primary Language**: Java
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: https://blog.csdn.net/qq_19734597/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 91
- **Created**: 2025-01-17
- **Last Updated**: 2025-01-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# BasicLab AIoT Smart Vision IoT Cloud Platform
## Applying what we have learned to revitalize China
## BasicLab-AIoT | [中文文档](README.zh_CN.md)
# Pioneering open source across the entire network: an integrated solution based on video, IoT, and AI services
#### BasicLab AIoT leads the innovation of intelligent visual IoT cloud platform, seamlessly integrating IoT technology, real-time transmission of streaming media cameras, and AI analysis, ushering in a new era of intelligent monitoring and data analysis.
#### We have not only achieved interconnectivity of devices, but also added intelligent eyes to camera monitoring through deep integration of high-definition streaming video streams and cutting-edge AI algorithms - precise execution of face and behavior recognition, behavior analysis, risk personnel screening, and regional intrusion detection, redefining the standards of security monitoring, intelligent manufacturing, and smart city management.
#### This initiative not only improves the real-time and accuracy of data processing, but also greatly expands the boundaries of IoT applications, allowing the ability to "see" and "understand" to spread throughout every IoT node, truly practicing the seamless integration of IoT+streaming media+AI, and promoting digital transformation towards deeper and broader fields.

## Disclaimers
BasicLab AIoT Community Edition is an open-source learning project unrelated to commercial activities. Users should comply with laws and regulations when using this project and must not engage in illegal activities. If BasicLab AIoT discovers that users have engaged in illegal activities, it will cooperate with relevant authorities to investigate and report to government departments. Any legal liability caused by the user's illegal behavior shall be borne by the user themselves. If the user's use causes third-party damage, the user shall compensate according to law. All related resources using BasicLab AIoT are at the user's own risk
## Online demonstration (Due to limited machine resources, the open source version does not provide a demonstration environment. Please forgive us.)
Address: http://pro.basiclab.top:8888/
Account: admin
Password: Basiclab@456789
## Product documentation
地址:https://basiclab.yuque.com/org-wiki-basiclab-clp72d/kc7990?#
## Deploy and Install
##### Backend program packaging
```
mvn clean package -Dmaven.test.skip=true
```
##### Start MQTT server
```
# Port:8885,Topic:device/data/#
nohup java -server -Xms512m -Xmx1024m -Djava.io.tmpdir=/var/tmp -Duser.timezone=Asia/Shanghai -jar iot-things*.jar --spring.profiles.active=dev >iot-things.log &
```
##### Backend business deployment
```
nohup java -server -Xms512m -Xmx1024m -Djava.io.tmpdir=/var/tmp -Duser.timezone=Asia/Shanghai -jar iot-device*.jar --spring.profiles.active=dev >iot-device.log &
nohup java -server -Xms512m -Xmx1024m -Djava.io.tmpdir=/var/tmp -Duser.timezone=Asia/Shanghai -jar iot-gateway*.jar --spring.profiles.active=dev >iot-gateway.log &
nohup java -server -Xms512m -Xmx1024m -Djava.io.tmpdir=/var/tmp -Duser.timezone=Asia/Shanghai -jar iot-infra*.jar --spring.profiles.active=dev >iot-infra.log &
nohup java -server -Xms512m -Xmx1024m -Djava.io.tmpdir=/var/tmp -Duser.timezone=Asia/Shanghai -jar iot-system*.jar --spring.profiles.active=dev >iot-system.log &
```
##### Front end deployment
```
pnpm install
pnpm dev
```
## Application scenarios
#### Vehicle tracking/license plate recognition
#### Cross camera risk personnel tracking
#### Train stations, airplane stations, park access control/gate machines
#### Real time facial comparison for security
## System screenshot(Cloud servers do not have GPUs, resulting in slow inference speed. We apologize for any inconvenience caused.)
## Contact Information
#### QQ communication group: 🚀913496130
#### WeChat: BasicLab2024
## Code repository
- Gitee repository:https://gitee.com/vegetable-chicken-blog/BasicLab-AIoT
## Function List
- [x] AI Algorithm Services
- [x] AI video suspicious personnel detection (by analyzing video surveillance footage, automatically identifying individuals who do not conform to conventional behavior patterns, improving security monitoring efficiency)
- [x] AI suspicious personnel retrieval (quickly searching for specific individuals in a large amount of video materials to assist in security investigations and case solving)
- [x] AI face retrieval and matching (using face recognition technology to compare face images in a database for identity verification, security monitoring, etc.)
- [x] AI suspicious behavior recognition (automatically identifying behaviors such as fighting, debris detection, abnormal gathering, crossing fences, entering restricted areas, etc., to prevent security incidents from occurring)
- [x] AI license plate recognition and tracking (automatically recognizing vehicle license plate information and tracking vehicle travel trajectories, applied in traffic management, parking lot management, and other scenarios)
- [x] AI crop pest and disease detection (using image recognition technology to identify early signs of pests and diseases on crops, assist in precise pesticide application, and reduce losses)
- [x] AI natural disaster monitoring (analyzing satellite or ground observation data, early warning of natural disasters such as floods, fires, earthquakes, etc., ensuring the safety of people's lives and property)
- [ ] In the development of other AI algorithms
- [x] Device access service
- [x] Video surveillance equipment
- [x] MQTT protocol
- [x] TCP protocol
- [x] UDP protocol
- [x] HTTP protocol
- [x] Modubus TCP protocol
- [x] Modebus RTP protocol
- [x] OPC UA protocol
- [x] Copa protocol
- [x] NB-IOT protocol
- [x] ZigBee protocol
- [x] LoRA protocol
- [x] Device Management
- [x] physical model
- [x] Product classification
- [x] Product Template
- [x] Product Management
- [x] Protocol management
- [x] Equipment grouping
- [x] Equipment List
- [x] Device details
- [x] Running status
- [x] Device logs
- [x] Device Services
- [x] Device events
- [x] Equipment alarm
- [x] Equipment control
- [x] Real time monitoring
- [x] Equipment debugging
- [x] Data collection
- [x] Equipment Empowerment
- [x] Device on-demand
- [x] Equipment recording
- [x] Cloud based recording
- [x] Equipment channel
- [x] Equipment Batch
- [x] Device Sharing
- [x] Equipment distribution network
- [x] Device Template
- [x] Edge end mapping
- [x] Equipment diagnosis
- [x] Equipment functions
- [x] Rule Engine
- [x] Event monitoring (real-time monitoring of specific events generated by systems or devices, laying the foundation for automated response)
- [x] Data filtering (selecting valuable information from received data based on preset conditions to improve processing efficiency)
- [x] Message storage (securely storing relevant message records triggered by events for subsequent analysis and auditing)
- [x] Data forwarding (forwarding filtered data or instructions to other systems or devices in real-time to promote collaboration between systems)
- [x] Data storage (long-term storage of critical data, supporting data analysis and business optimization, providing a basis for intelligent decision-making)
- [x] KAFKA node: Implement high-throughput real-time streaming data processing.
- [x] HTTP node: Easily interact with web services and make API calls.
- [x] Predicate node: Determine the direction of data flow based on specific conditions.
- [x] ROCKET-MQ node, RABBIT_SQ node: Supports mainstream message queue protocols to achieve asynchronous message passing.
-MYSQL nodes and POSTGRESQL nodes: directly interact with relational databases to perform data read and write operations.
- [x] INFLUXDB node, TDENGINE node: A database interface designed specifically for time-series data, suitable for storing time-series data such as sensors.
-MQTT node: a lightweight messaging protocol suitable for the Internet of Things, especially for resource constrained devices.
-TOPIC node: A logical entity used in a messaging system to organize and filter messages.
- [x] LOG node: Record important events or data flow logs for debugging and auditing purposes.
- [x] DEBUG node: Provides debugging information for developers to accelerate problem localization.
- [x] Scene linkage
- [x] Rule orchestration (allowing users to customize the logical relationships between devices and achieve intelligent home or office environments)
- [x] Device trigger (automatically activates the preset scene when the specified device status changes, such as turning on the light when opening the door)
- [x] Manual triggering (users can actively activate scene mode through the app or panel to adapt to real-time demand changes)
- [x] Timed trigger (automatically execute scene changes according to the user's set schedule, such as morning mode)
- [x] Trigger conditions (supporting multi-dimensional setting conditions such as time and environmental parameters to accurately control scene switching)
- [x] Action choreography (flexibly combining multiple operations to form a coherent action sequence, enhancing the richness of automation scenarios)
- [x] Alarm orchestration (automatically triggering warning notifications under specific conditions, such as sending SMS reminders when smoke detectors alarm)
- [x] Device linkage (realizing intelligent collaboration between devices, such as temperature and humidity sensors linked to air conditioning to regulate indoor environment)
- [x] Scene customization (users can customize exclusive scene modes according to their lifestyle habits)
- [x] Home leaving mode (one click start of home safety protection and energy-saving settings, such as turning off non essential appliances and turning on security monitoring)
- [x] Home mode (automatically prepares for welcoming home scenes, such as turning on lights and adjusting the appropriate room temperature)
- [x] Weather control (automatically adjusts home environment based on weather forecast, such as automatically closing windows on rainy days)
- [x] Intelligent control (comprehensively utilizing the above characteristics to achieve comprehensive automation of smart homes or office spaces)
- [x] Video Center
- [x] Integrated Web Console (providing an intuitive user interface, simplifying device management and system configuration processes)
- [x] Wide compatibility and stability (ensuring seamless integration with multiple types of devices, maintaining efficient and stable system operation)
- [x] Flexible device access management (supporting access to any number of devices, limited only by server performance, to achieve maximum resource utilization)
- [x] High definition video preview and stream control (easy switching between main/sub streams to adapt to different monitoring scenarios)
- [x] Free control of pan tilt zoom (all-round control of camera rotation and zoom, achieving fine monitoring)
- [x] Video playback and intelligent retrieval (convenient query and playback of videos, with on-demand and download functions)
- [x] Intelligent traffic saving mechanism (automatically reduces bandwidth consumption and optimizes resource utilization when no one is watching)
- [x] Real time device information update (ensuring synchronization between video device information and status, improving monitoring efficiency)
- [x] 24/7 monitoring system (supporting offline and online status monitoring of devices to ensure monitoring continuity)
- [x] Multi protocol stream output capability (directly providing multiple stream protocol addresses for quick access and viewing)
- [x] Plug and play experience (no need for additional login or interface calls, one click access to monitoring screen)
- [x] Dual guarantee of national standard communication and streaming transmission (fully compatible with UDP/TCP national standard, strengthening system interoperability)
- [x] Fine search and categorized browsing (providing channel filtering and sub directory query tools for more efficient management)
- [x] Pure audio-visual experience (effectively filtering out background noise to ensure viewing quality)
- [x] Accurate time synchronization (ensuring consistency of device time across the entire network and enhancing system collaboration capabilities)
- [x] Advanced video encoding support (smooth playback of H264 and H265 encoded videos, optimized storage and transmission efficiency)
- [x] Efficient linkage of alarm system (real-time processing of alarm information, seamless push to the front-end, ensuring quick response)
- [x] Bidirectional voice communication (integrating voice intercom function to enhance on-site interaction and command scheduling)
- [x] Event notification and subscription service (flexible configuration of alarm event subscription and notification strategies, customized monitoring experience)
- [x] Enhance security measures (support device independent password and permission management, strengthen system security defense)
- [x] National standard cascading expansion (realizing multi-level monitoring network interconnection and building large-scale monitoring system)
- [x] Registration and heartbeat mechanism (ensuring continuous device online and improving system availability)
- [x] Channel management optimization (simple channel selection and push function, improving operational convenience)
- [x] Adaptive streaming media configuration (automatically optimizing ZLM media service configuration to reduce configuration difficulties)
- [x] Intelligent load balancing (multi node automatic load allocation to ensure efficient and stable streaming media services)
- [x] UDP performance enhancement (enabling multi port mode to significantly improve UDP transmission efficiency)
- [x] Flexible deployment options (supporting deployment in public network environments and adapting to diverse network architectures)
- [x] Strict flow and interface permission control (implementing push flow and interface authentication, strengthening data security)
- [x] Cloud based video storage (flexible recording and archiving, supporting remote preview and download)
- [x] Diverse deployment forms (supporting jar/war package deployment, adaptable to cloud native and traditional environments)
- [x] Cross domain resource access (seamless support for front-end and back-end separation deployment, enhancing development flexibility)
- [x] Monitoring equipment inspection (one click determination of the cause of cluster failures in monitoring equipment)
- [x] Data visualization
- [x] Large screen display
- [x] Data analysis
- [x] Layer Management
- [x] Basic components
- [x] Decorative components
- [x] Bar Chart Component
- [x] Bar Chart Component
- [x] Line Chart Component
- [x] Area chart component
- [x] Pie Chart Component
- [x] Progress Chart Component
- [x] Scatter plot component
- [x] Rose diagram component
- [x] Map component
- [x] Custom Components
- [x] Configuration Management
- [x] Configuration Arrangement
- [x] Configuration Library
- [x] Configuration Chart
- [x] Configuration component
- [x] Configuration Model
- [x] Mobile end
- [x] Real time monitoring of devices (displaying the current status of all connected devices, including device operation, key indicators, and sensor data)
- [x] Device Control Panel (allows users to remotely control devices, such as switches, parameter adjustments, etc.)
- [x] Alarm and Notification (Real time reception of device abnormalities or warning notifications, and quick viewing of alarm details and historical records)
- [x] Device management (including functions such as device addition, deletion, group management, and device details viewing)
- [x] Data visualization (visually displaying device data in chart form, supporting custom views and tracking of key indicators)
- [x] Geographic positioning and map view (displaying the actual geographic location of the device for easy tracking and management of mobile or distributed devices)
- [x] Scene automation (configuring and triggering preset scene modes, such as "home mode" or "energy-saving mode")
- [x] Energy management (monitoring and managing equipment energy consumption, supporting energy analysis reports)
- [x] Historical data query (provides query function for device operation logs and data records, supports filtering by time period)
- [x] Firmware upgrade and maintenance (remote push firmware updates, manage device maintenance plans)
- [x] User permission management (supports multi-user access, can assign different permission levels)
- [x] Offline operation and synchronization (can still operate without network, and then automatically synchronize data)
- [x] Voice control integration (integrated with intelligent voice assistants to achieve voice control of devices)
- [x] API and third-party integration (supports API integration with other systems or applications, extends platform functionality)
- [x] System Management
- [x] User Management
- [x] Role management
- [x] Menu management
- [x] Department management
- [x] Job management
- [x] Dictionary management
- [x] Parameter settings
- [x] Notice Announcement
- [x] Log management
- [x] System monitoring
- [x] Online users
- [x] Scheduled tasks
- [x] Data monitoring
- [x] Service monitoring
- [x] Cache monitoring
- [x] System Tools
- [x] Form construction
- [x] Code generation
- [x] System interface
- [] In development features...
## Commercial Authorization
BasicLab AIoT Community Edition adopts AGPL3.0 protocol, which can be used for personal learning and use, and commercial use is not allowed. Commercial use requires sponsorship of projects, authorization, and provision of commercial version source code. Sponsored users are requested to download the commercial version source code.
- The second open source project also follows the AGPL3.0 protocol for open source, and can apply for authorization from the original author
- If a commercial project wants to switch to closed source, it can apply for or purchase closed source authorization from the original author
- Simple modifications to packaging claiming to be one's own project are not allowed
- We have applied for the relevant software development copyright and registration
- If there are any extension projects that use our project features, please provide clear explanations in the project introduction
## Supporting the author
If you think the project is good, I hope you can go to BasicLab AIoT Community Edition and help me point out a Star. Thank you.
## Thank you
Thank you to the author [芋道源码](https://gitee.com/zhijiantianya/yudao-cloud) Providing such a great open-source rapid development framework and open-source easy-to-use backend management system.< br>
Thank you to all the big shots for your sponsorship and for your corrections and assistance to the project. Various forms of support, including but not limited to code contributions, problem feedback, funding donations, etc! The following rankings are in no particular order: