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

环境说明:

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

    Node.js官网

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

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

    编译和启动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”

    IoTGateway配置,接入IotSharp

    部署IoTGateway

    下载Releases · iioter/iotgateway

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

    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​并解压

    启动

    influxd.exe
    

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

    修改项目配置

    修改配置“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条
    

    查询Influxdb中数据

    作者:VinciYan

    物联沃分享整理
    物联沃-IOTWORD物联网 » 国产物联网平台(IotSharp+IoTGateway+Influxdb)快速上手

    发表回复