Maritime Data Server ist der Central Data (Cloud) -Server für maritime Daten. Es wird die Daten gespeichert, die für Exmaple MDC (Maritime Data Collector oder Lora-Bootsmonitor oder ein anderes Gerät) stammen, in eine Datenbank und gibt dem Benutzer eine GUI, um die Daten anzuzeigen und einige Konfigurationen durchzuführen.
Die ursprüngliche Idee war es, die Möglichkeit zu haben, einige maritime Daten (Temperatur, Batteriespannungen, Bilgenalarm) zu sehen, während Sie nicht auf dem Boot sind.
Das MDC ist eine kleine Platine mit ESP32 und einigen Sensoren, die die Sensordaten sammelt und diese Daten an die MDS übertragen. Sie finden die MDC
Der Maritime Data Server ist eine Webanwendung, um Daten zu speichern und Daten für den Benutzer anzuzeigen. Es gibt eine MySQL -Datenbank für das Speichern der Daten und einen Webserver mit PHP -Unterstützung, um die Informationen mit Daten anzuzeigen. Die MDS können die Daten von Sensoren in Grafik/Messgeräten oder Diagrammen anzeigen. Es ist auch möglich, Ihre Boards und Sensoren zu konfigurieren.
Der Server ist in einem Backend (API zum Empfangen von Daten von Collector und TTN, Senden von E -Mails) und als Frontend zum Anzeigen von Daten im Benutzerbrowser organisiert.
Das Backend speichert die Daten in die DB. Außerdem werden überprüft, ob Daten gültig sind und im DB Board und Sensoren vorhanden sind, ansonsten werden neue DB -Datensätze erstellt.
Für den Frontend muss sich der Benutzer anmelden. Jetzt kann der Benutzer einige Konfigurationen durchführen oder einige Daten anzeigen.
Kopieren Sie alle MDS -Dateien aus dem Ordner "SRC" in Ihr HTDOCS -DIR. Erstellen Sie eine neue Datenbank (mit phpmyadmin) und erstellen Sie einen neuen Benutzer mit Schreibberechtigungen für diese Datenbank. Öffnen Sie in Ihrem Browser http: //yourdomain/maritimedataServer/install/index.php und treten Sie durch die Instalationschritte. Entfernen Sie nach Abschluss der Installation die DIR -mit dem Namen "Installation" (aus Sicherheitsgründen).
Jetzt ist der MDS unter http: // yourdomain/maritimedataServer erhältlich



Für das Ausführen der MDS benötigen Sie einen (Apache) Webserver mit PHP -Support und eine MySQL -DB.
Wenn Sie MDC S außerhalb unseres lokalen Netzwerks ausführen, muss Ihr MDS öffentlich sein (TTN sollte in der Lage sein, diesen Server zu erreichen).
Für die Entwicklung verwende ich verschiedene Lösungen. Erstens ist der lokale Docker -Container, der auf meinem Codierungscomputer ausgeführt wird. Zweitens habe ich auf meinem Webhosting eine Subdomain, die meinen "Entwicklungszweig" von Guthub dort abzieht.
######## Mein aktueller Weg erste Welle: Ich habe 4 Container eingerichtet (eine für jeden Dienst):
Ich habe mein VSC so konfiguriert, dass ich im Ordner htdocs bei Apache direkt arbeiten kann. Es sind also keine manuelle Synchronisation von Dateien erforderlich.
Zweite Welle: In meinem Webhosting -Subdomain habe ich mein Respository eingerichtet, sodass ich eine Pull -Anfrage aus dem Plesk -Panel ausführen und die neueste Entwicklungszweig auf dem Webspace habe.
Für PHP -Debugging verwende ich xDebug. Die Konfiguration in MAMP erfolgt in **/applications/xampp/xamppFiles/etc/php.ini und sieht aus:
[xdebug]
Zend_extension = "/usr/local/cellar/php/8.1.1/pecl/20210902/xdebug.so"
XDEBUG.MODE = DEBUG
xDebug.client_host = 127.0.0.1
xDebug.client_port = "9000"
In Firefox verwende ich den "xDebug -Helfer" (IDE -Schlüssel: VSCODE).
In Safari verwende ich "xDebugToggleExtension 1.2".
Für Debuggen müssen Sie zu "Auslohren" - "Debugger Starte" und zum Green Play Button (F5) gehen.
Aufgrund verschiedener Arten von Sensoren und versuchen, die über WLAN (und später LORA) übertragene Datenmenge zu verringern. Es ist eine gute Idee, ein Schema für die Übertragung der Daten zu haben. Außerdem besteht nicht erforderlich, den Namen des Wertes zu liefern.
Wenn alle Werte in der richtigen Reihenfolge liefern, ist klar, welcher Wert ist.
Schema #: 1
Name: DS18B20
Deschription: Tempsensor
NR des Sensors (die verbunden sind): 1
Wertezahl: 1
Name der Werte: #1 Temperatur
Art des Wertes: #1 uint8 (?)
Schema #: 2
Name: DS2438
Deschription: Batteriemonitor
NR des Sensors (die verbunden sind): 1
Wertezahl: 4
Name der Werte: #1 CH1 -Spannung, 2 #CH1 -Strom, #3 CH2 -Spannung, #4 CH2 -Strom
Art des Wertes: #1 uint8 (?), #2 uint8 (?), #3 uint8 (?), #4 uint8 (?)
Schema #: 3
Name: DHT11
Deschription: Tempsensor & Feuchtigkeit
NR des Sensors (die verbunden sind): 1
Wertezahl: 2
Name der Werte: #1 Temperatur, Nr. 2 Luftfeuchtigkeit
Art des Wertes: #1 uint8 (?), #2 uint8 (?)
Schema #: 4
Name: Digitale Eingabe
Deschription: Digitale Eingabe
NR des Sensors (die verbunden sind): 1
Wertezahl: 1
Name der Werte: #1 Digitale Eingabe
Art des Wertes: #1 bool (?)
Schema #: 5
Name: GPS
Deschription: Daten vom GPS -Empfänger
NR des Sensors (die verbunden sind): 1
Wertezahl: 4
Name der Werte: #1 Breite, #2 Länge, #3 Kurs, #4 -Geschwindigkeit
Art des Wertes: #1 uint8 (?), #2 uint8 (?), #3 uint8 (?), #4 uint8 (?)