[Open-source] Open-source IoT foundation development platform, quickly build your own IoT business platform
![[Open-source] Open-source IoT foundation development platform, quickly build your own IoT business platform](https://yy123.ink/api/img/1782578860866-i46dtr.jpg)
1. Project Overview
Charming IoT (iotkit) open-source IoT platform project. Charming IoT is an open-source IoT basic development platform, providing common basic functions for IoT and related businesses, which can help you quickly build your own IoT-related business platform.
The system includes categories, product models, message conversion, communication components (mqtt/EMQX communication components, Xiao Du speaker interface components, Onenet Studio interface components), modbus transparent access, modbus virtual gateway, cloud-side low-code device development, device management, device grouping, rule engine, third-party platform access, data flow conversion, data visualization, alarm center, etc. And smart home APP (mini program).
2. Open Source License
Licensed under Apache-2.0
3. Screenshots

4. Feature Overview
iotkit IoT platform, including categories, product models, message conversion, communication components (mqtt/EMQX communication components, Xiao Du speaker interface components), modbus transparent access, modbus virtual gateway, cloud-side low-code device development, device management, device grouping, virtual devices, rule engine, third-party platform access, data flow conversion, data visualization, alarm center, etc.
roadmap
Green: completed, blue: in progress, orange: planning

5. Tech Stack
Low-end server with million-level device access capability
Server configuration: 1 2-core 2G (Aliyun sudden performance instance) running the main program, 1 2-core 4G (Aliyun sudden performance instance) running TDengine and RocketMq
Program configuration: using built-in H2 database and built-in mqtt
Device Access Status: Access to 4,000 gateways + 8,000 sub-devices, with 4,000 sub-devices reporting data every 10 seconds
Stable operation: Devices online and reporting/forwarding normally, CPU usage not exceeding 50%, and no lag in interface operation
Low learning threshold
1. Zero-configuration one-click operation, even a novice can use it
2. Low environmental requirements, no additional software installation required
3. Civilian-level code, no formal layered structure and excessive encapsulation, simple and easy to understand
Mainstream database support
Relational databases: Theoretically supports all databases that implement standard SQL, such as: DB2, H2, HSQLDB, MariaDB, Microsoft SQL Server, MySQL, Oracle, Postgres
Time-series database: elasticsearch, TDEngine
K-V database: redis
Support for message bus
Vertx event-bus (built-in), RocketMQ, other message middleware can be connected through extension module.
Software Architecture
Software architecture description This system uses springboot, vertx, redis, H2, mysql, elasticsearch, TDEngine, RocketMq, sa-token and other frameworks and third-party software, and uses modular non-invasive integration, which is very easy to extend and replace.
Default use built-in redis, h2 database, es time-series database and vertx message bus to reduce the difficulty of startup, can achieve zero-configuration one-key startup , the program will use the data/init directory's example data to initialize when it starts for the first time.