跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C#Node.jsSaaS

IoTSharp 开源物联网基础平台功能与部署详解

IoTSharp 是基于 .NET 8.0 的开源物联网平台,支持设备管理、遥测数据监测、RPC 远程控制及规则链引擎。提供数字孪生与资产管理功能,兼容多种数据库(如 PostgreSQL、InfluxDB)和消息中间件。支持跨平台部署,包含仪表盘、多租户管理及安全配置。核心功能模块、技术架构优势及基于 Node.js 和 InfluxDB 的部署流程。

RustyLab发布于 2026/3/28更新于 2026/5/2926 浏览
IoTSharp 开源物联网基础平台功能与部署详解

IoTSharp 开源物联网基础平台

IoTSharp 是一个基于 .NET 8.0 的开源物联网基础平台,采用 Apache-2.0 许可证,集设备管理、数据收集、处理、可视化与远程控制于一体,遵循数字孪生理念将物理设备映射到数字世界。

文章配图


一、核心功能模块

1. 设备管理
  • 设备全生命周期管理:支持设备注册、配置、监控、删除等操作,提供设备 ID、型号、固件版本等基本信息管理
  • 网关配置器:支持网关设备的管理与配置
  • 设备属性管理:允许自定义设备属性字段(如温度阈值、湿度范围),自动收集并存储数据,提供可视化图表展示
  • 多类型设备支持:区分普通设备与网关设备,提供差异化管理能力
2. 遥测数据监测
  • 多参数采集:支持温度、湿度、压力等多种遥测数据的实时采集
  • 高效数据传输:自动收集设备端数据并传输至云端服务器进行处理和存储
  • 可视化展示:提供实时图表、历史曲线图等丰富的数据展示工具
  • 异常触发机制:内置规则链设计引擎,支持设置异常值报警条件和自动化响应动作
3. RPC 多模式远程控制
  • 跨网络控制:通过网络连接实现远程设备操作,支持指令编码、传输、解码及执行结果反馈的完整闭环
  • 多访问途径:支持 Web 界面、移动应用程序、API 接口等多种控制方式
  • 安全机制:所有通信过程加密传输,提供详尽日志记录功能,便于故障排查与审计
  • 灵活操作:Web 端提供直观操作面板,移动端优化小屏幕体验,API 支持第三方定制化集成
4. 规则链设计引擎
  • 可视化规则配置:通过拖拽方式创建数据处理流程
  • 灵活触发逻辑:支持基于设备数据、时间、事件等多维度触发条件
  • 自动化响应:可联动告警、设备控制、数据转发等动作
  • 模块化处理:通过 FlowRuleProcessor 负责规则链的执行
5. 告警与通知系统
  • 多源监控:监控设备、网关和资产的异常状态
  • 灵活规则配置:支持自定义告警触发条件和阈值
  • 多通道通知:可通过邮件、短信、Webhook 等多种方式通知相关人员
  • 状态管理:支持告警确认、清除、查询及多租户数据隔离

二、技术架构支持

1. 协议支持
  • 标准协议:HTTP、MQTT、CoAp
  • 协议扩展:支持非标协议的转换与接入
  • SDK 支持:提供 HTTP 和 MQTT 协议的客户端 SDK
2. 数据库支持
类型支持的数据库
关系型数据库PostgreSQL、MySQL、Oracle、SQL Server、SQLite(均支持分表)
时序数据库InfluxDB、IoTDB、TDengine、TimescaleDB、PinusDB
消息存储PostgreSQL、MongoDB、LiteDB、MySQL、SQL Server、InMemory
3. 消息中间件

支持 RabbitMQ、Kafka、ZeroMQ、NATS、Pulsar、Redis Streams、Amazon SQS、Azure Service Bus、InMemory 等多种消息队列

4. 事件总线
  • 发布 - 订阅模式:提供松耦合的异步通信机制
  • 核心组件:EventBusPublisher(事件发布)和 EventBusSubscriber(事件订阅与处理)
  • 高扩展性:支持多种消息队列后端,确保系统弹性

三、数字孪生与资产管理

1. 数字孪生实现
  • 物理设备映射:将可见与不可见的物理设备统一孪生到数字世界
  • 实时同步:设备状态、属性、遥测数据实时同步至数字孪生体
  • 虚拟化运营:支持在数字环境中模拟设备行为与系统配置变更
2. 资产管理
  • 资产列表管理:对物联网资产进行统一管理
  • 产品化理念:结合资产管理与产品化发展,适应复杂应用场景
  • 多租户隔离:租户数据完全隔离,确保安全性

四、平台管理功能

1. 仪表盘
  • 全局概览:展示设备数量、在线设备、最新遥测、报警事件等关键指标
  • 实时状态:可视化呈现系统运行状态与设备健康状况
2. 多租户管理
  • 租户列表:支持多租户环境的租户信息管理
  • 权限分级:区分系统管理员与租户管理员权限,实现精细化管理
  • 独立配置:各租户可独立配置设备、规则与告警策略
3. 用户与客户管理
  • 用户列表:平台用户账户管理
  • 客户列表:客户信息管理
  • 国际化配置:支持多语言与本地化设置
4. 系统设置
  • 字典设置:配置系统参数与业务字典
  • 证书管理:管理设备接入证书与安全凭证
  • 安全配置:身份认证、访问控制、数据加密等安全机制

五、部署与生态

环境说明:

  • Visual Studio 2022 Community
  • IotSharp 代码:https://github.com/IoTSharp/IoTSharp.git
  • IoTGateway 版本:v2.1.1
  • Node 版本:v20.18.1
  • Influxdb 版本:v2.7.11
1. 安装 Node

Node.js 官网

官网下载并安装,npm 使用淘宝镜像

用于编译 IotSharp 前端 Vue 项目使用

2. 编译和启动 IotSharp

后端环境需要安装.NET 8.0

拉取最新 IotSharp 项目代码,使用 VS 2022 打开,设置如下

文章配图

先使用数据库 Sqlite 进行快速演示,这时遥测将存储在 Sqlite 数据库中,后面可以换成其他时序数据库,使用配置文件为'appsettings.Sqlite.json'

{
  "DataBase": "Sqlite",
  "ConnectionStrings": {
    "IoTSharp": "Data Source=.data/IoTSharp.db",
    "TelemetryStorage": "Data Source=.data/TelemetryStorage.db"
  },
  "EventBusStore": "InMemory",
  "EventBusMQ": "InMemory",
  "TelemetryStorage": "Sharding",
  "RootKey": "kissme",
  "EventBus": "Shashlik"
}

启动项目,浏览器访问 http://localhost:8888/ 打开前端页面,注册用户并登录

【设备管理】新增网关'IoTGateway'

文章配图

文章配图

复制 Token 值'e07c389fae774f07a810dc87b6466761'和 Id 值'b6e643f0-4403-4437-b406-1ec84d677e68'

3. IoTGateway 配置,接入 IotSharp
1)部署 IoTGateway

下载 Releases · iioter/iotgateway

下载并解压 iotgateway-2.1.1-win-x64.zip,启动

IoTGateway.exe

浏览器访问 http://localhost:518/

用户名:admin 密码:iotgateway.net

2)接入 IotSharp

为方便演示,设置【变量配置】,只勾选并上传'用电量'

文章配图

设置【传输配置】接入 IotSharp

文章配图

MqttServer 的 IP 地址填写 IotSharp 的服务 IP,Id 和用户名分别填写 IotSharp 设备管理中网关的 Id 和 Token 值

文章配图

提交后,回到 IotSharp 前端页面,活动状态变为'活动'

文章配图

有实时的遥测数据

文章配图

遥测历史可以查询历史数据

文章配图

4. 使用 Influxdb
1)部署 influxdb

Releases · influxdata/influxdb

下载 influxdb2-2.7.11-windows.zip 并解压

文章配图

启动

influxd.exe

启动后浏览器打开 http://localhost:8086/,设置好用户名和密码等信息,并记录下 API Token 值'rMJtiyyXgUlhztRAgooCXRlkDi55hHcvRJAUUijKkDvBajr0YI-T5CK75uT1JC9zSXyMey1i6lRQUBXLyJmjHA=='

2)修改项目配置

修改配置'appsettings.InfluxDB.json'

{
  "Logging": {
    "LogLevel": {
      "Default": "Information"
    }
  },
  "DataBase": "Sqlite",
  "ConnectionStrings": {
    "IoTSharp": "Data Source=.data/IoTSharp.db",
    "TelemetryStorage": "http://192.168.1.212:8086/?org=vinciyan.com&bucket=vinci_bucket&token=rMJtiyyXgUlhztRAgooCXRlkDi55hHcvRJAUUijKkDvBajr0YI-T5CK75uT1JC9zSXyMey1i6lRQUBXLyJmjHA=="
  },
  "JwtKey": "kissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissme",
  "JwtExpireHours": 24,
  "JwtIssuer": "IoTSharp.Net",
  "JwtAudience": "IoTSharp.Net",
  "EventBusStore": "InMemory",
  "EventBusMQ": "InMemory",
  "TelemetryStorage": "InfluxDB",
  "EventBus": "Shashlik"
}

更改项目启动方式

文章配图

此时后端日志输出如下,表示数据已经写入 Influxdb

IoTSharp.EventBus.EventBusSubscriber: Information: 更新 IoTGateway(b6e643f0-4403-4437-b406-1ec84d677e68) 属性数据结果 2
IoTSharp.EventBus.EventBusSubscriber: Information: 更新 IoTGateway(b6e643f0-4403-4437-b406-1ec84d677e68) 属性数据结果 2
IoTSharp.EventBus.EventBusSubscriber: Information: 更新 IoTGateway(b6e643f0-4403-4437-b406-1ec84d677e68) 属性数据结果 2
IoTSharp.Storage.InfluxDBStorage: Information: 数据入库完成,共数据 1 条
3)查询 Influxdb 中数据

文章配图


六、技术架构优势

  1. 跨平台兼容:基于 .NET 8.0,支持 Windows、Linux、macOS
  2. 插件化设计:时序数据存储采用插件化架构,支持动态切换存储后端
  3. 高性能:支持数据库分表、异步消息处理、高效规则引擎
  4. 安全可靠:内置身份认证、数据加密、访问控制与日志审计机制

目录

  1. IoTSharp 开源物联网基础平台
  2. 一、核心功能模块
  3. 1. 设备管理
  4. 2. 遥测数据监测
  5. 3. RPC 多模式远程控制
  6. 4. 规则链设计引擎
  7. 5. 告警与通知系统
  8. 二、技术架构支持
  9. 1. 协议支持
  10. 2. 数据库支持
  11. 3. 消息中间件
  12. 4. 事件总线
  13. 三、数字孪生与资产管理
  14. 1. 数字孪生实现
  15. 2. 资产管理
  16. 四、平台管理功能
  17. 1. 仪表盘
  18. 2. 多租户管理
  19. 3. 用户与客户管理
  20. 4. 系统设置
  21. 五、部署与生态
  22. 1. 安装 Node
  23. 2. 编译和启动 IotSharp
  24. 3. IoTGateway 配置,接入 IotSharp
  25. 1)部署 IoTGateway
  26. 2)接入 IotSharp
  27. 4. 使用 Influxdb
  28. 1)部署 influxdb
  29. 2)修改项目配置
  30. 3)查询 Influxdb 中数据
  31. 六、技术架构优势
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 2026 年高校 AIGC 检测政策汇总
  • Java 静态关键字、代码块与内部类详解
  • ROS 2 自主导航机器人系统架构与 SLAM
  • Whisper-WebUI 本地部署与核心功能详解
  • 基于 OpenClaw 与 Claude 的自动化写作系统搭建实践
  • UnityMCP+Claude+VSCode 构建 AI 游戏开发环境
  • AI 大模型爆发一年后:人机共生时代的六大核心问题解析
  • 英伟达与 GitHub 免费获取大模型 API Key 方法指南
  • Python 基于 FTDI FT2232H 实现 SPI 通信控制
  • SimVascular 心血管建模高效使用技巧
  • LRU 缓存机制设计与 JavaScript 实现
  • Web 前端基础:HTML 核心语法和常用标签
  • C++ 字符序列处理详解
  • 各无人机厂家对 RemoteID 支持情况汇总
  • OpenClaw 开源 AI 助手部署与配置完全指南
  • SpringBoot 整合 Langchain4j RAG 技术深度解析
  • OpenClaw 与 Ollama 本地部署指南
  • 使用 Python 和 OpenCV 实现手势虚拟拖拽功能
  • RabbitMQ 客户端连接管理与信道搭建实践
  • C++备忘录模式:优雅实现对象状态保存与恢复

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online