hello,
une des solutions pour la collecte des données destinées à être centralisée dans des bases de données sur un serveur c’est le protocole MQTT.
en gros le principe c’est l’envoie par le capteur des données sur un poste qui va mettre à jour les bases de données.
la bonne nouvelle c’est que ce protocole MQTT est utilisable et programmable par l’IDE d’arduino sur des ESP qui peuvent remplacer en partie l’arduino et ont une connectivité wifi. ( il existe plusieurs modeles d’esp ; le but du jeu étant de trouver celui qui correspond au besoin du capteur en terme d’input/output et de mémoire ram)
le programme telegraf va se charger de recupérer les données transmisent par mosquitto et de les stocker dans une base de données.
le stockage des données se fait classiquement dans une base de données ( mariadb (anciennement mysql) ou infludb ( interressant pour les données identifiées par des timestamps ( date et heure )) la visualisation de ces bases peut se faire via chronograph ou graphana.
kapacitor permet de générer des alertes en fonctions des données transmises a infludb avec la possiilité de lancer un script ( donc possibilité d’envoie de mail, de SMS - a condition d’écrire les scripts !)
pour l’extraction des données vers un tableur chronograph permet de faire des requetes sur une base et de sortir un fichier csv intégrable ds excell ou un equivalent opensource (openoffice,etc. )
on peut aussi faire des scripts pour extraire directement un csv depuis mariadb ou infludb.
plutot pour infludb :
. relevé température , humidité ( AAAAMMJJHHMMSS et le lieu - le topic pour telegraf)
. temps de jour ( AAAAMMJJHHMMSS et le lieu )
. tension cloture, charges batteries, volume réserve d’eau ( avec un stockage court et une gestion d’alerte kapacitor)
plutot pour mariadb :
. poids ( AAAAMMJJ et l’identifiant de l’animal )
. volume de lait ( AAAAMMJJ, traite et l’identifiant de l’animal )
un raspberry pi4 sous raspbian dispose des outils nécessaires ( mosquito, graphana, influxdb, mariadb, kapacitor ) et peut centraliser les données et éventuellement transmettre les données reçu à un autre appareil ( réplication, sauvegarde ). Les données sur graphana seront visibles d’un poste ( pc ou phone ) via le réseau local ou via le web si l’on ouvre la box vers l’extérieur ( avec les problèmes de sécurité que ça pose )
sources :
MQTT : MQTT — Wikipédia
Mosquitto : https://mosquitto.org/
ESP : https://projetsdiy.fr/programmer-esp8266-ide-arduino-librairies-gpio-web-serveur-client/
exemple : Raspberry Pi IoT: Sensors, InfluxDB, MQTT, and Grafana - DZone
exemple https://www.framboise314.fr/utiliser-le-protocole-mqtt-pour-communiquer-des-donnees-entre-2-raspberry-pi/