国产物联网平台(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中数据

相关推荐
山,离天三尺三1 小时前
基于LINUX平台使用C语言实现MQTT协议连接华为云平台(IOT)(网络编程)
linux·c语言·开发语言·网络·物联网·算法·华为云
常州晟凯电子科技5 小时前
海思SS626开发笔记之环境搭建和SDK编译
人工智能·笔记·嵌入式硬件·物联网
猫头虎9 小时前
如何解决 pip install -r requirements.txt 本地轮子路径 ‘./packages/xxx.whl’ 不存在 问题
开发语言·网络·python·r语言·pip·gpu算力·国产
elikai9 小时前
分布式追踪系统实战:OpenTelemetry集成Istio实现全链路故障定位
时序数据库
点灯小铭14 小时前
基于stm32的物联网OneNet火灾报警系统
stm32·单片机·嵌入式硬件·物联网·毕业设计·课程设计
爱喝白开水a1 天前
2025时序数据库选型,从架构基因到AI赋能来解析
开发语言·数据库·人工智能·架构·langchain·transformer·时序数据库
TDengine (老段)1 天前
TDengine 时序函数 MAVG 用户手册
大数据·数据库·物联网·性能优化·时序数据库·iot·tdengine
小龙报1 天前
《KelpBar海带Linux智慧屏项目》
linux·c语言·vscode·单片机·物联网·ubuntu·学习方法
沐欣工作室_lvyiyi1 天前
基于单片机的环境监测智能报警系统的设计(论文+源码)
单片机·嵌入式硬件·物联网·毕业设计
v_for_van1 天前
STM32简单的串口Bootloader入门
笔记·stm32·单片机·嵌入式硬件·物联网·学习