Something beautiful is on the way.

iotsharp 和 iotgateway

IoTSharp 是云端 IoT 平台,IoTGateway 是边缘网关,二者是云-边-端架构里的黄金搭档:IoTGateway 负责现场设备采集与协议转换,IoTSharp 负责云端管理、数据存储、规则与可视化。下面从定位、架构、协作、部署、接入全流程讲清楚。


一、核心定位与区别(一句话看懂)

1. IoTSharp(云端平台)

  • 定位云侧 IoT 操作系统,做设备管理、数据存储、规则引擎、告警、可视化、API 开放。
  • 核心能力:MQTT/HTTP/CoAP 接入、多租户、数字孪生、资产树、时序存储、规则链。
  • 部署:服务器/云主机,Docker 一键部署。
  • 用户:平台管理员、应用开发者、运维人员。

2. IoTGateway(边缘网关)

  • 定位边缘侧协议转换与数据采集网关,负责把 PLC/Modbus/OPC UA/串口设备转成 MQTT 上云。
  • 核心能力:南向多协议采集、北向 MQTT 上云、边缘计算、本地缓存、断点续传。
  • 部署:工业网关/工控机/树莓派/服务器,跨平台(Windows/Linux)。
  • 用户:现场工程师、集成商、设备厂商。

3. 核心差异对比表

维度 IoTSharp(云端) IoTGateway(边缘)
架构层级 云平台层 边缘网关层
核心职责 设备管理、数据处理、规则、可视化 协议转换、数据采集、边缘计算、上云
南向协议 MQTT/HTTP/CoAP Modbus/OPC UA/PLC/串口/CNC/扫码枪
北向协议 对外提供 API/MQTT MQTT(对接 IoTSharp/ThingsBoard)
存储 PostgreSQL+InfluxDB/TDengine SQLite/本地缓存(临时)
计算 云端规则引擎、批量分析 边缘实时计算、本地告警、数据过滤
部署 云服务器、集群 工业网关、工控机、边缘节点

二、云-边-端协作架构(光伏/风电/火电通用)

1. 整体数据流

  1. 感知层:光伏逆变器、汇流箱、PLC、传感器(Modbus/RS485/OPC UA)
  2. 边缘层(IoTGateway)
    • 采集:通过 Modbus TCP/RTU、OPC UA 读取设备数据
    • 转换:把寄存器/点位转成 JSON 遥测/属性
    • 边缘:本地计算、异常过滤、断点续传
    • 上云:通过 MQTT 上报到 IoTSharp
  3. 云端层(IoTSharp)
    • 接入:接收 MQTT 数据,设备认证
    • 存储:时序库存遥测,关系库存设备/属性
    • 处理:规则引擎、告警、数据清洗
    • 应用:Dashboard、报表、API、数字孪生

2. 为什么必须一起用?

  • IoTSharp 不直接接 Modbus/PLC:云端平台不适合直接处理大量工业协议,延迟高、不稳定。
  • IoTGateway 不做云端管理:网关只负责采集转发,没有多租户、可视化、长期存储能力。
  • 最佳实践IoTGateway + IoTSharp = 完整工业 IoT 方案,解决“设备上云最后一公里”。

三、快速部署与对接(可直接复制)

1. 部署 IoTSharp(云端)

# 克隆
git clone https://gitee.com/IoTSharp/IoTSharp.git
cd IoTSharp
# 启动(PostgreSQL+InfluxDB)
docker-compose up -d
# 访问:http://localhost:2927,账号 admin/iotsharp

2. 部署 IoTGateway(边缘)

# 克隆
git clone https://gitee.com/IoTSharp/IoTGateway.git
cd IoTGateway
# 构建运行
dotnet run --project src/IoTGateway.Web
# 访问:http://localhost:5000

3. 对接流程(3步完成)

1)IoTSharp 侧:创建设备

  • 路径:设备管理 → 产品 → 新增(如“光伏逆变器”,协议 MQTT)
  • 路径:设备管理 → 设备 → 新增,生成 DeviceIdAccessToken

2)IoTGateway 侧:配置南向设备(Modbus 示例)

  • 路径:设备管理 → 新增
  • 选择驱动:Modbus TCP
  • 配置:IP、端口、从站地址、寄存器地址(如 40001 对应 PV 电压)
  • 点位映射:寄存器 → 遥测名(如 40001 → pvVoltage)

3)IoTGateway 侧:配置北向(对接 IoTSharp)

  • 路径:云平台 → 新增 → 选择 IoTSharp
  • 配置:
    • MQTT Broker:tcp://IoTSharp服务器IP:1883
    • ClientId:DeviceId
    • 用户名/密码:AccessToken
    • 主题:v1/devices/me/telemetry
  • 启动:启用上传,数据自动上报到 IoTSharp

四、核心功能协作(光伏/风电/火电场景)

1. 数据采集与上云(光伏示例)

  • IoTGateway:采集逆变器 Modbus 数据(电压、电流、温度、辐照度)
  • 转换:寄存器值 → JSON 遥测
  • 上云:MQTT 上报到 IoTSharp
  • IoTSharp:存储到时序库,实时展示在 Dashboard

2. 边缘计算 + 云端规则(风机示例)

  • IoTGateway:本地判断振动 > 阈值 → 立即上报告警
  • IoTSharp:规则引擎触发 → 推送短信/邮件 → 派单运维

3. 远程控制(火电示例)

  • IoTSharp:下发 RPC 命令(如“重启设备”)
  • IoTGateway:接收命令 → 转成 Modbus 写指令 → 控制 PLC/设备

4. 资产树管理(公司→建筑→设备→回路→传感器)

  • IoTSharp:按层级管理资产,支持多租户、权限控制
  • IoTGateway:按回路/传感器分组采集,数据自动归属到对应设备

五、二次开发与扩展(二开重点)

1. IoTGateway 二开

  • 自定义驱动:开发非标协议驱动(如专用传感器、PLC)
  • 边缘脚本:C#/JS 脚本做本地计算、数据过滤、公式转换
  • 北向扩展:对接其他云平台(华为云/阿里云)或自有系统

2. IoTSharp 二开

  • 自定义 API:给 EMS/MES 提供专用接口
  • 规则节点:开发行业规则(如光伏超温、风机超速)
  • 前端页面:定制光伏/风电/火电监控 Dashboard

3. 联合二开(最佳实践)

  • IoTGateway:做边缘采集与预处理,减少云端压力
  • IoTSharp:做云端管理与应用,提供统一入口

六、常见问题与避坑

  1. MQTT 连接失败:检查 IoTSharp 1883 端口开放、AccessToken 正确、防火墙放行
  2. 数据不上报:确认 IoTGateway 点位映射正确、上传启用、网络通畅
  3. 边缘延迟:IoTGateway 本地缓存,断点续传,网络恢复自动补传
  4. 协议不支持:IoTGateway 支持 Modbus/OPC UA/PLC,非标设备需开发驱动
  5. 性能优化:IoTGateway 做数据过滤/聚合,IoTSharp 用时序库分表
posted @ 2026-04-01 10:27  张朋举  阅读(15)  评论(0)    收藏  举报