国产物联网平台(IotSharp+IoTGateway+Influxdb)快速上手

环境说明:

安装Node

Node.js官网

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

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

编译和启动IotSharp

后端环境需要安装.NET 8.0

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

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

c# 复制代码
{
  "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"

IoTGateway配置,接入IotSharp

部署IoTGateway

下载Releases · iioter/iotgateway

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

plaintext 复制代码
IoTGateway.exe

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

用户名: admin​ 密码: iotgateway.net

接入IotSharp

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

设置【传输配置】接入IotSharp

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

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

有实时的遥测数据

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

使用Influxdb

部署influxdb

Releases · influxdata/influxdb

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

启动

plaintext 复制代码
influxd.exe

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

修改项目配置

修改配置"appsettings.InfluxDB.json"

c# 复制代码
{
  "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

c# 复制代码
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条

查询Influxdb中数据

相关推荐
正在走向自律15 小时前
大数据时代时序数据库选型指南:从技术架构到实战案例
大数据·架构·时序数据库
数据库学啊15 小时前
靠谱的时序数据库哪家技术强
数据库·时序数据库
攻城狮7号15 小时前
万物互联时代,如何选择合适的时序数据库?
大数据·物联网·时序数据库·apache iotdb·sql mcp
融智兴科技16 小时前
融智兴科技携RFID洗涤标签亮相2025中国洗涤展
科技·物联网
rfiwbp_32116 小时前
Mac上的C语言编译软件推荐与使用指南 | 如何选择适合你需求的C语言编译器
时序数据库
大河qu16 小时前
HCIP-IoT/H52-111 真题详解(章节C),接入技术和网络设计 /Part2
物联网·3gpp·nb-iot·接入技术·elte-iot·lwpa
北京耐用通信16 小时前
不只是延长,是“重生”:耐达讯自动化Profibus总线光端机如何让老旧设备数据“开口说话”?
人工智能·物联网·网络协议·自动化·信息与通信
ekdjyw_76716 小时前
入门C语言编译器 | 学习如何选择和配置C语言开发环境
时序数据库
tnudfo_17517 小时前
C语言编译器手机版 | 高效便捷的C语言编程工具
时序数据库
许泽宇的技术分享21 小时前
从零开始构建企业级物联网平台:IoTSharp 架构设计与实践全解析
物联网·iot·iotsharp