Maritime Data Server es el servidor de datos centrales (Cloud) para datos marítimos. Almacena los datos que provienen, para Exmaple MDC (recolector de datos marítimos o lora-bootsmonitor o cualquier otro dispositivo), en una base de datos y le da al usuario una GUI para mostrar los datos y hacer algunas configuraciones.
La idea inicial era tener la posibilidad de poder ver algunos datos marítimos (temperatura, voltajes de la batería, alarma de sentina) mientras no está en el bote.
El MDC es una pequeña placa con un ESP32 y algunos sensores, que recopila los datos del sensor y transfieren estos datos al MDS. Encontrará la documentación de MDC en https://github.com/bytecrusher/MaritimedatacollectorsMall
El servidor de datos Maritime es una aplicación web para almacenar datos y mostrar datos para el usuario. Reqa una base de datos MySQL para almacenar los datos y un servidor web con soporte PHP para mostrar las informaciones con datos. El MDS puede mostrar los datos de los sensores en gráficos/medidores o gráficos. También es posible configurar sus tableros y sensores.
El servidor está organizado en un backend (API para recibir datos de Collector y TTN, enviar correos electrónicos) y un interfaz para mostrar datos en el navegador de usuarios.
El backend almacena los datos en el DB. También verifica si los datos son válidos y los sensores y los sensores existen en el DB, de lo contrario, se crearán nuevos registros de DB.
Para el frontend, el usuario necesita iniciar sesión. Ahora el usuario puede hacer algunas configuraciones o mostrar algunos datos.
Copie todos los archivos MDS de la carpeta "SRC" en su DIR HTDOCS. Cree una nueva base de datos (con phpMyAdmin) y cree un nuevo usuario con privilegios de escritura a esta base de datos. Abra http: //yourdomain/MaritimedataServer/install/index.php en su navegador y atraviese los pasos de instalación. Una vez finalizado la instalación, elimine el Dir llamado "Instalar" (por razones de seguridad).
Ahora el MDS está disponible en http: // yourdomain/maritimedataServer



Para ejecutar el MDS necesita un servidor web (Apache) con soporte PHP y un DB MySQL.
Si ejecuta MDC fuera de nuestra red local, su MDS debe ser público (TTN debería poder comunicarse con este servidor).
Para el desarrollo uso diferentes soluciones. Primero es el contenedor de Docker local que se ejecuta en mi computadora de codificación. En segundo lugar, tengo en mi webhosting un subdominio, que saca mi rama de "desarrollo" de Guthub allí.
####### Mi camino actual Primera ola: configuré 4 contenedores (uno para cada servicio):
Configuré mi VSC para poder trabajar directamente en la carpeta HTDOCS si Apache. Por lo tanto, no se necesita una sincronización manual de archivos.
Segunda ola: en mi subdominio webhosting, configuro mi respositorio, por lo que puedo ejecutar una solicitud de extracción del panel Plesk y tener la última rama de desarrollo en el espacio web.
Para la depuración de PHP, uso xdebug. La configuración en MAMP se realiza en **/Aplicaciones/XAMPP/XAMPPFILES/ETC/PHP.INI y looks:
[xdebug]
zend_extension = "/usr/local/cella/php/8.1.1/pecl/20210902/xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = "9000"
En Firefox, uso el "Xdebug auxiliar" (tecla IDE: VScode).
En Safari utilizo "xdebugToggleExtension 1.2".
Para la depuración debes ir a "Ausführen" - "Debugger Starte" y el botón de reproducción verde (F5).
Debido a los diferentes tipos de sensores e intente reducir la cantidad de datos transferidos a través de wifi (y luego lora), es una buena idea tener un esquema para que los sensores transfieran los datos. Además, no hay necesidad de entregar el nombre del valor.
Si todos los valores se entregan en el orden correcto, está claro qué valor es que.
Esquema #: 1
Nombre: DS18B20
Deschription: Tempsensor
Nr del sensor (que están conectados): 1
Recuento de valores: 1
Nombre de los valores: #1 Temperatura
Tipo de valor: #1 uint8 (?)
Esquema #: 2
Nombre: DS2438
Deschription: Batteriemonitor
Nr del sensor (que están conectados): 1
Recuento de valores: 4
Nombre de los valores: #1 CH1 Voltaje, 2 #CH1 Corriente, #3 CH2 Voltaje, #4 CH2 Corriente
Tipo de valor: #1 uint8 (?), #2 uint8 (?), #3 uint8 (?), #4 uint8 (?)
Esquema #: 3
Nombre: DHT11
Deschription: tempsensor y humedad
Nr del sensor (que están conectados): 1
Recuento de valores: 2
Nombre de los valores: #1 Temperatura, #2 Humedad
Tipo de valor: #1 uint8 (?), #2 uint8 (?)
Esquema #: 4
Nombre: entrada digital
Deschription: entrada digital
Nr del sensor (que están conectados): 1
Recuento de valores: 1
Nombre de los valores: entrada digital #1
Tipo de valor: #1 bool (?)
Esquema #: 5
Nombre: GPS
Deschription: datos del receptor GPS
Nr del sensor (que están conectados): 1
Recuento de valores: 4
Nombre de los valores: #1 Latitud, #2 Longitud, #3 curso, #4 velocidad
Tipo de valor: #1 uint8 (?), #2 uint8 (?), #3 uint8 (?), #4 uint8 (?)