IoTSharp is an open-source industrial IoT platform for device access, telemetry collection, rule-chain processing, visualization, multi-tenant operations, and product delivery.
IoTSharp brings together the core building blocks needed to run an IoT platform in production:
- Device and gateway connectivity with HTTP, MQTT, CoAP, and extensible protocol integration.
- Telemetry, attributes, alarms, products, assets, and tenant-aware management models.
- Rule-chain driven processing for transformation, notification, automation, and business actions.
- Relational and time-series storage options for different deployment and scaling needs.
- Multiple delivery modes including Docker, Windows service, Linux service, installer flows, and release artifacts.
- The roadmap now also treats AI workbench, MCP tools, and agent-assisted operations as a cross-cutting capability for collection, rules, and release workflows.
The current main application targets .NET 10, and the web console is maintained as an IoTSharp-branded Vue 3 application.
IoTSharp is not a single platform application but an open-source product matrix covering three layers plus an AI foundation:
| Layer | Project | Description |
|---|---|---|
| Platform | IoTSharp (this repo) | Control plane for device access, telemetry, rule chains, multi-tenancy, EdgeNode management, and release operations |
| Edge | IoTEdge | Edge gateway runtime: single-host executable with a local management UI, built-in Modbus, OPC UA, and mainstream PLC collection drivers plus script-based transformation; integrates with the platform for registration, heartbeat, capability reporting, collection-config rollout, and task receipts |
| Device | IoTEmbedded | Embedded device runtime for MCU/RTOS targets: firmware-level runtime with a built-in BASIC script engine, Modbus RTU, and MQTT access, supporting dual-slot script storage with failure rollback |
| AI foundation | Tomur | Local model runtime: hosts the platform's AI capabilities in offline/intranet environments, with GGUF LLM, speech, image, and OCR multimodal inference behind OpenAI-compatible APIs, deployable as a single file |
All layers are open source and independently usable, and together they form an end-to-end industrial collection and operations solution; in offline or intranet scenarios, combining SonnetDB and Tomur enables a fully functional deployment with zero external dependencies.
For a first local run, the default path is the SonnetDB profile. It starts IoTSharp with SonnetDB as the single data dependency for relational data, telemetry, cache, object storage, and the platform event queue:
docker compose -f docker-compose.sonnetdb.yml up -dThen open http://localhost:2927 and complete the Installer initialization.
This profile uses ASPNETCORE_ENVIRONMENT=SonnetDB and mounts appsettings.SonnetDB.json. The traditional PostgreSQL / TimescaleDB Docker compose remains available for compatibility and production topology validation, but SonnetDB is the recommended quick-start entry.
The recommended documentation entry points are:
- Quick start: https://iotsharp.net/guide/getting-started/
- Deployment guide: https://iotsharp.net/guide/deployment/
- Product docs: https://iotsharp.net/docs/intro
- Installation options: https://iotsharp.net/docs/getting-started/installation-options
For frontend development, the current local dev server default is:
- Frontend:
http://localhost:27915
- Chinese README: README.zh.md
- Roadmap: ROADMAP.md
- Changelog: CHANGELOG.md
Contributions are welcome through issues and pull requests:
- Pull requests: https://github.com/IoTSharp/IoTSharp/pulls
- Issues: https://github.com/IoTSharp/IoTSharp/issues
Before contributing, please review the codebase structure, related documentation, and the current release/distribution direction in the docs site.
If you need help using or deploying IoTSharp, community channels are available in the docs and community materials:
- GitHub: https://github.com/IoTSharp/IoTSharp
- Gitee: https://gitee.com/IoTSharp/IoTSharp
- Official site: https://iotsharp.net
IoTSharp is released under the Apache 2.0 license. If you would like to support the project, you can back it through:
- OpenCollective: https://opencollective.com/IoTSharp
- Afdian: https://afdian.net/a/maikebing
- Backers list: BACKERS.md
- May you do good and not evil.
- May you find forgiveness for yourself and forgive others.
- May you share freely, never taking more than you give.
