国产物联网平台(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 小时前
嵌入式需要掌握哪些核心技能?
物联网·学习·嵌入式·华清远见
亿坊电商1 天前
物联网共享棋牌室:无人值守与24H营业下的轻量化运营实战!
物联网
牛马大师兄1 天前
STM32实现低功耗管理使用配置知识梳理笔记
笔记·stm32·单片机·嵌入式硬件·物联网·低功耗
小叮当⇔1 天前
ESP8266无线开关
物联网·iot
阿祥~1 天前
windows 安装 TDengine
大数据·时序数据库·tdengine
小叮当⇔2 天前
IOT项目——电源入门系列-第三章
物联网
TDengine (老段)2 天前
TDengine 配置参数作用范围对比
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
塔能物联运维2 天前
物联网运维中基于强化学习的自动化决策优化技术
运维·物联网·自动化
Hy行者勇哥3 天前
物联网多类型设备列表的智能化设计与实现
物联网
TDengine (老段)3 天前
从“事后抢险”到“事前防控”:江西水投用 TDengine 时序数据库重塑防汛模式
大数据·数据库·物联网·时序数据库·tdengine·涛思数据·1024程序员节