开放代码社区 › IoTSharp 开源物联网平台
IoTSharp 开源物联网平台
基础设施与运维C#IoTSharp 是面向工业与企业场景的开源 IoT 平台,支持 HTTP、MQTT、CoAP 等协议设备接入,提供遥测采集、属性与告警管理、规则链处理、多租户运营及可视化管理,兼容关系型与时序数据库,可通过 Docker、系统服务等方式部署,适用于工业设备联网与数据运营。
仓库地址
https://gitee.com/IoTSharp/IoTSharp.gitREADME
<p align="left">
<a href="https://iotsharp.net/">
<img src="https://gitee.com/IoTSharp/IoTSharp/raw/master/docs/static/img/logo_white.svg" width="360px" alt="IoTSharp logo" />
</a>
</p>
# IoTSharp
[英文](https://gitee.com/IoTSharp/IoTSharp/blob/master/README.md) | [中文](https://gitee.com/IoTSharp/IoTSharp/blob/master/README.zh.md)
[](LICENSE)
[](https://github.com/IoTSharp/IoTSharp/actions/workflows/dotnet-build.yml)
[](https://github.com/IoTSharp/IoTSharp/actions/workflows/docs-deploy.yml)
[](https://github.com/IoTSharp/IoTSharp/actions/workflows/dotnet-publish.yml)
[](https://github.com/IoTSharp/IoTSharp/actions/workflows/pack-nupkg.yml)
[](https://github.com/IoTSharp/IoTSharp/actions/workflows/docker-release.yml)


IoTSharp 是一个面向工业与企业场景的开源 IoT 平台,覆盖设备接入、遥测采集、规则链处理、可视化管理、多租户运营与产品化交付。
## 在线演示与测试账号
- 演示地址:<https://iotsharp.online/#/login>
- 演示账号:`demo@iotsharp.online`
- 演示密码:`P@ssw0rd`
仅公共演示账号的用户名和密码每半小时恢复一次。**正常注册账号可用于测试服务,账号、密码和业务数据均不参与演示重置,长期保留。** [注册自己的测试账号](https://iotsharp.online/#/signup)。
## 🚀 项目概览
IoTSharp 将构建生产级 IoT 平台所需的关键能力组合在一起:
- 支持 HTTP、MQTT、CoAP 等协议的设备与网关接入能力。
- 围绕遥测、属性、告警、产品、资产和租户形成统一的数据与管理模型。
- 通过规则链完成数据转换、通知下发、自动化动作和业务处理。
- 支持关系型数据库与时序数据库,以适配不同部署和扩展场景。
- 提供 Docker、Windows 服务、Linux 服务、安装向导与发布包等多种交付方式。
- 路线图已把 AI 工作台、MCP 工具与智能体辅助运维定义为横切能力,覆盖采集、规则与发布三大场景。
- 已规划[本体工程应用轨道](https://gitee.com/IoTSharp/IoTSharp/blob/master/ROADMAP.md#ontology-engineering):围绕设备、告警和维修记录建设领域本体、审核与追溯查询,评估由 Sezika 辅助候选判断;实现和领域验收仍待完成。
当前主应用基于 `.NET 10`,Web 控制台基于 Vue 3,并已全面统一为 IoTSharp 品牌界面。
## 🧱 产品矩阵(云边一体)
IoTSharp 不只是单个平台应用,而是一套覆盖「平台 - 边缘 - 设备」三层加一个 AI 底座的开源产品矩阵:
| 层级 | 项目 | 说明 |
| --- | --- | --- |
| 平台层 | [IoTSharp](https://github.com/IoTSharp/IoTSharp)(本仓库) | 设备接入、遥测、规则链、多租户、EdgeNode 管理与发布运营的平台控制面 |
| 边缘层 | [IoTEdge](https://github.com/IoTSharp/IoTEdge) | 边缘网关运行时:单宿主程序 + 本地管理界面,内置 Modbus、OPC UA 及主流 PLC 采集驱动与脚本转换,对接平台的注册、心跳、能力上报、采集配置下发与任务回执 |
| 设备层 | [IoTEmbedded](https://github.com/IoTSharp/IoTEmbedded) | 嵌入式设备运行时:面向 MCU/RTOS 的固件级运行时,内置 BASIC 脚本引擎、Modbus RTU 与 MQTT 接入,支持脚本双槽存储与失败回滚 |
| AI 底座 | [Tomur](https://github.com/IoTSharp/Tomur) | 本地模型运行时:离线/内网环境下承载平台 AI 能力,支持 GGUF 大模型、语音、图像与 OCR 多模态推理,提供 OpenAI 兼容 API,单文件部署 |
各层均为开源自研,可独立使用,也可以组合为端到端的工业采集与运营方案;离线或内网场景下配合 SonnetDB 与 Tomur 可实现零外部依赖的全功能部署。
## 🧭 快速开始
### 🖥️ 5 分钟 SonnetDB Profile 体验
首次本地试用时,默认从 SonnetDB Profile 开始。该路径只需要 IoTSharp 与 SonnetDB 两个容器,关系库、遥测库、缓存、对象存储和平台事件队列都指向 SonnetDB:
```bash
docker compose -f docker-compose.sonnetdb.yml up -d
```
启动后访问 `http://localhost:2927`,按页面提示完成 Installer 初始化。
该 Profile 使用 `ASPNETCORE_ENVIRONMENT=SonnetDB` 并挂载 `appsettings.SonnetDB.json`。传统 PostgreSQL / TimescaleDB Compose 仍保留用于兼容性和生产拓扑验证,但快速体验默认优先走 SonnetDB。
### 🖥️ 本地运行 IoTSharp
建议先从以下文档入口开始:
- 快速开始:<https://iotsharp.net/guide/getting-started/>
- 部署指南:<https://iotsharp.net/guide/deployment/>
- 产品文档首页:<https://iotsharp.net/docs/intro>
- 安装方式:<https://iotsharp.net/docs/getting-started/installation-options>
前端本地开发默认端口为:
- 前端:`http://localhost:27915`
### 🤖 使用 OpenClaw 协助搭建 SQLite 体验实例
如果你明确需要 SQLite 体验实例,也可以让 OpenClaw 引导你完成本地 SQLite 版 IoTSharp 的安装。建议直接给它下面这两样内容:
- <https://iotsharp.net/docs/operations/openclaw-sqlite-runbook>
- 提示词模板:[`tools/prompts/openclaw-sqlite-instance.txt`](https://gitee.com/IoTSharp/IoTSharp/blob/master/tools/prompts/openclaw-sqlite-instance.txt)
运行手册里已经定义了 SQLite 引导流程、安装向导初始化路径、Docker Desktop 扩展的回退方案,以及后续通过 `appsettings.{Environment}.Installer.json` 安全切换数据库的规则。
## 🧩 支持的组件
| 领域 | 概览 |
| --- | --- |
| 接入能力 | 面向工业场景的设备接入、网关接入与协议扩展能力 |
| 平台模型 | 遥测、属性、告警、产品、资产、租户与用户等核心模型 |
| 数据基础 | 关系型存储、时序存储,以及安装阶段可选的配置模板体系 |
| 集成处理 | 规则链、脚本、通知、事件传递与自动化动作 |
| 交付方式 | Docker、系统服务、安装向导与 Docker Desktop 扩展等形态 |
如果你需要更细的数据库矩阵、时序引擎、消息中间件支持和配置示例,请直接查看文档:
- <https://iotsharp.net/docs/overview/product-overview>
- <https://iotsharp.net/docs/configuration/appsettings>
- <https://iotsharp.net/docs/integrations/protocols>
## 📦 部署方式
- Docker:<https://iotsharp.net/docs/deployment/docker>
- Docker Desktop 扩展:<https://iotsharp.net/docs/deployment/docker-desktop-extension>
- Windows 服务:<https://iotsharp.net/docs/deployment/windows-service>
- Linux 服务:<https://iotsharp.net/docs/deployment/linux-service>
- 应用配置:<https://iotsharp.net/docs/configuration/appsettings>
在线演示:
- <https://iotsharp.online/#/login>(账号、密码和长期测试账号说明见上方“在线演示与测试账号”)。
## 🗂️ 仓库结构
仓库中的关键目录如下:
- [`IoTSharp`](https://gitee.com/IoTSharp/IoTSharp/blob/master/IoTSharp):主 ASP.NET Core 应用。
- [`ClientApp`](https://gitee.com/IoTSharp/IoTSharp/blob/master/ClientApp):Vue 3 前端控制台。
- [`docs`](https://gitee.com/IoTSharp/IoTSharp/blob/master/docs):Docusaurus 帮助手册站点。
- [`docker-desktop-extension`](https://gitee.com/IoTSharp/IoTSharp/blob/master/docker-desktop-extension):Docker Desktop 扩展体验包。
- [`IoTSharp.Installer.Windows`](https://gitee.com/IoTSharp/IoTSharp/blob/master/IoTSharp.Installer.Windows):Windows 安装工程。
- `IoTSharp.Agent`:面向未来本地桌面 companion / 语音入口的规划方向,当前仓库中尚无对应目录。
- [`IoTSharp.SDKs`](https://gitee.com/IoTSharp/IoTSharp/blob/master/IoTSharp.SDKs):SDK 与面向客户端的相关项目。
## 🌐 生态与相关项目
NuGet 包与生态库包括:
- `IoTSharp.Sdk.Http`
- `IoTSharp.Sdk.MQTT`
- `IoTSharp.Extensions`
- `IoTSharp.Extensions.AspNetCore`
- `IoTSharp.Extensions.EFCore`
- `IoTSharp.Extensions.QuartzJobScheduler`
- `IoTSharp.HealthChecks.*`
- `IoTSharp.X509Extensions`
相关仓库包括:
- [IoTEdge](https://github.com/