Présentation Blazing Conso

Blazing Conso permet d'afficher sous différentes formes la consommation électrique de ma maison.
Ci-dessous, voici le schéma de mon installation.

Description

En préambule : Il n'y a qu'un seul serveur physique. Je l'ai éclaté en plusieurs pour afficher un schéma plus clair.


  • Premier Service : un Raspberry PI3 connecté au compteur Linky via un dongle USB conçu par M. Charles Hallard. Sur ce Raspberry tourne un programme écrit en Python dont la fonction est de lire par le port série les trames fournies par le compteur Linky et de les transmettre via le protocole MQTT à un broker Mosquitto.

  • Second Service : wsUpdateDbLinky. Il s'agit d'un programme écrit en C# .NET 9 dont la fonction est de lire le topic publié par le Raspberry et de mettre à jour différentes tables d'une base MariaDB.
    Toutes les requêtes de mises à jour ou d'interrogation sont des procédures stockées et quelques triggers.
    Pour ce programme, j'utilise les librairies Dapper et mySQLConnector.

  • Troisième Service : WebAPIConso : Il s'agit d’un web service écrit en C# .NET 9 sous la forme d’un Minimal API. Ce service propose une bonne quinzaine de requêtes permettant d'interroger les tables de la base et d'en mettre quelques unes à jour.
    Pour ce programme, j'utilise les librairies Dapper et mySQLConnector.

  • Quatrième Service : BlazingConso : Il s'agit d’une application écrite en C# avec le framework Blazor .NET 9 version "Server". C'est ce programme qui est exécuté actuellement.
    Pour ce programme, j'utilise les librairies Syncfusion (grid, chart, dialog), MudBlazor (navigation, bouton, selecteurs) et EPPlus (génération Excel).


Architecture du Serveur

Il s'agit d'un NUC Intel sous Proxmox, système de virtualisation de serveurs (en version gratuite). C'est l'équivalent de l'environnement VM Ware.
Sur ce serveur, j'ai plusieurs VM et conteneurs.

  • Le broker Mosquitto est dans un conteneur sous Debian.
  • La base MariaDb et les 3 applications : wsUpdateDbLinky, webAPIConso et BlazingConso sont dans la même VM qui est sous Ubuntu Server.
    Il m'a suffit d'installer .NET 9 SDK pour pouvoir faire fonctionner ces applications écrites en C#.
    Elles s'exécutent sous forme de service Linux.
  • An unhandled error has occurred. Reload 🗙