Le serveur de données maritimes est le serveur de données centrales (cloud) pour les données maritimes. Il stocke les données qui proviennent, pour EXMAPLE MDC (Maritime Data Collector ou Lora-BootsMonitor ou tout autre appareil), dans une base de données et donne à l'utilisateur une interface graphique pour afficher les données et effectuer des configurations.
L'idée initiale était d'avoir la possibilité de pouvoir voir certaines données maritimes (température, tensions de batterie, alarme de cale) pendant que vous n'êtes pas sur le bateau.
Le MDC est une petite planche avec un ESP32 et quelques capteurs, qui recueille les données du capteur et transfère ces données vers le MDS. Vous trouverez la documentation MDC sous https://github.com/bytecrusher/maritimedatacollectorsmall
Le serveur de données maritimes est une application Web pour stocker des données et afficher des données pour l'utilisateur. Il remporte une base de données MySQL pour stocker les données et un serveur Web avec le support PHP pour afficher les informations avec les données. Le MDS peut afficher les données des capteurs dans des graphiques / jauges ou des graphiques. Il est également possible de configurer vos planches et capteurs.
Le serveur est organisé dans un backend (API pour recevoir des données de Collector et TTN, envoyez des e-mails) et un frontend pour afficher des données dans le navigateur des utilisateurs.
Le backend stocke les données dans la base de données. Il vérifie également si les données sont valides et que la carte et les capteurs existent dans la base de données, sinon de nouveaux enregistrements DB seront créés.
Pour le frontend, l'utilisateur doit se connecter. Maintenant, l'utilisateur est capable de faire des configurations ou d'afficher certaines données.
Copiez tous les fichiers MDS du dossier "SRC" dans votre Dir HTDOCS. Créez une nouvelle base de données (avec PHPMyAdmin) et créez un nouvel utilisateur avec des privilèges d'écriture dans cette base de données. Ouvrez http: //yourdomain/maritimedataserver/install/index.php dans votre navigateur et parcourez les étapes d'instruction. Une fois l'installation terminée, supprimez le DIR nommé "Installer" (pour des raisons de sécurité).
Maintenant, le MDS est disponible sous http: // yourDomain / Maritimedataserver



Pour exécuter le MDS , vous avez besoin d'un serveur Web (Apache) avec support PHP et une base de données MySQL.
Si vous exécutez des MDC en dehors de notre réseau local, votre MDS doit être public (TTN devrait pouvoir atteindre ce serveur).
Pour le développement, j'utilise différentes solutions. Le premier est le conteneur Docker local qui s'exécute sur mon ordinateur de codage. Deuxièmement, j'ai sur mon sous-domaine Webhosting un sous-domaine, qui attire ma branche "Developtment" de Guthub là-bas.
######## Ma première vague actuelle: je configure 4 conteneurs (un pour chaque service):
J'ai configuré mon VSC pour pouvoir travailler directement dans le dossier HTDOCS si Apache. Il n'y a donc pas de synchronisation manuelle de fichiers nécessaires.
Deuxième vague: Dans mon sous-domaine Webhosting, j'ai configuré mon respositoire, donc je suis en mesure d'exécuter une demande de traction du panneau Plesk et d'avoir la dernière branche de développement sur l'espace Web.
Pour le débogage PHP, j'utilise XDebug. La configuration dans MAMP est effectuée dans ** / applications / xAMPP / XAMPPFILES / etc / php.ini et looks:
[xdebug]
zend_extension = "/ usr / local / celar / php / 8.1.1 / pEL / 20210902 / xdebug.so"
xdebug.mode = débogage
xdebug.client_host = 127.0.0.1
xdebug.client_port = "9000"
Dans Firefox, j'utilise le "XDebug Helper" (clé IDE: VScode).
Dans Safari, j'utilise "xdebugToggleExtension 1.2".
Pour le débogage, vous devez aller sur "Ausführen" - "Debugger Startte" et le bouton de lecture verte (F5).
En raison de différents types de capteurs et essayez de réduire la quantité de données transférées via le wifi (et plus tard LORA), il est une bonne idée d'avoir un schéma pour que les capteurs transfèrent les données. Il n'est pas non plus nécessaire de livrer le nom de la valeur.
Si toutes les valeurs fournissent dans le bon ordre, il est clair quelle valeur est qui est.
Schéma #: 1
Nom: DS18B20
Deschription: Tempsensor
NR du capteur (qui sont connectés): 1
Compte de valeurs: 1
Nom des valeurs: # 1 température
Type de valeur: # 1 uint8 (?)
Schéma #: 2
Nom: DS2438
Deschription: Batterimonitor
NR du capteur (qui sont connectés): 1
Compte de valeurs: 4
Nom des valeurs: Tension # 1 CH1, 2 # CH1 COURANT, # 3 CH2 Tension, # 4 CH2 COURANT
Type de valeur: # 1 uint8 (?), # 2 uint8 (?), # 3 uint8 (?), # 4 uint8 (?)
Schéma #: 3
Nom: DHT11
Deschription: Tempsensor & Humidité
NR du capteur (qui sont connectés): 1
Compte de valeurs: 2
Nom des valeurs: # 1 Température, # 2 Humidité
Type de valeur: # 1 uint8 (?), # 2 uint8 (?)
Schéma #: 4
Nom: entrée numérique
Deschription: entrée numérique
NR du capteur (qui sont connectés): 1
Compte de valeurs: 1
Nom des valeurs: # 1 entrée numérique
Type de valeur: # 1 bool (?)
Schéma #: 5
Nom: GPS
Deschription: données du récepteur GPS
NR du capteur (qui sont connectés): 1
Compte de valeurs: 4
Nom des valeurs: # 1 latitude, # 2 longitude, # 3 cours, # 4 vitesse
Type de valeur: # 1 uint8 (?), # 2 uint8 (?), # 3 uint8 (?), # 4 uint8 (?)