Maritime Data Server 는 해양 데이터 용 Cloud (Clad) 서버입니다. Exmaple MDC (Maritime Data Collector 또는 Lora-Bootsmonitor 또는 기타 장치)의 데이터를 데이터베이스에 저장하고 사용자에게 데이터를 표시하고 일부 구성을 수행합니다.
초기 아이디어는 보트를 타지 않는 동안 일부 해상 데이터 (온도, 배터리 전압, 빌지 경보)를 볼 수 있다는 것입니다.
MDC IT는 센서 데이터를 수집하고 이러한 데이터를 MDS로 전송하는 ESP32와 몇 개의 센서가있는 소규모 보드입니다. https://github.com/bytecrusher/maritimedatacollectorsmall 에서 MDC 문서를 찾을 수 있습니다
Maritime Data Server는 사용자에게 데이터를 저장하고 데이터를 표시하는 웹 응용 프로그램입니다. 데이터와 함께 정보를 표시하기 위해 데이터를 저장하고 WebServer를 저장하기위한 MySQL 데이터베이스를 재평가합니다. MDS는 그래프/게이지 또는 차트에서 센서의 데이터를 표시 할 수 있습니다. 또한 보드와 센서를 구성 할 수 있습니다.
서버는 백엔드 (Collector 및 TTN으로부터 데이터를 수신하기위한 API, 이메일 보내기) 및 사용자 브라우저에 데이터를 표시하기위한 프론트 엔드로 구성됩니다.
백엔드는 데이터를 DB에 저장합니다. 또한 데이터가 유효하고 보드 및 센서가 DB에 존재하는지 확인합니다. 그렇지 않으면 새 DB 레코드가 생성됩니다.
프론트 엔드의 경우 사용자가 로그인해야합니다. 이제 사용자는 일부 구성을 수행하거나 일부 데이터를 표시 할 수 있습니다.
"SRC"폴더의 모든 MDS 파일을 HTDOCS DIR로 복사하십시오. 새 데이터베이스를 작성하고 (phpmyadmin과 함께)이 데이터베이스에 쓰기 권한이있는 새 사용자를 만듭니다. 브라우저에서 http : //yourdomain/maritimedataServer/install/index.php를 열고 건설 단계를 진행하십시오. 설치가 완료되면 "install"이라는 이름의 DIR을 제거하십시오 (보안상의 이유로).
이제 MDS는 http : // Yourdomain/MaritimedataServer 에서 사용할 수 있습니다



MD를 실행하려면 PHP 지원과 MySQL DB가있는 (APACHE) 웹 서버가 필요합니다.
로컬 네트워크 밖에서 MDC 를 실행하는 경우 MDS가 공개되어야합니다 (TTN 은이 서버에 도달 할 수 있어야합니다).
개발을 위해 다른 솔루션을 사용합니다. 첫 번째는 코딩 컴퓨터에서 실행되는 로컬 Docker 컨테이너입니다. 두 번째로 나는 서브 도메인을 웹 호스트에, 그곳에서 내 "개발"지점을 guthub에서 끌어 당깁니다.
######## 현재의 방법 첫 웨이브 : 나는 4 개의 컨테이너를 설정합니다 (각 서비스마다 하나) :
Apache 인 경우 HTDOCS 폴더에서 직접 작업 할 수 있도록 VSC를 구성했습니다. 따라서 필요한 파일의 수동 동기가 없습니다.
두 번째 웨이브 : WebHosting Subdomain에서 respository를 설정하여 Plesk 패널에서 풀 요청을 실행할 수 있으며 Webspace에 최신 개발 지점이 있습니다.
PHP 디버깅의 경우 xdebug를 사용합니다. MAMP의 구성은 **/applications/xampp/xamppfiles/etc/php.ini에서 수행됩니다.
[xdebug]
zend_extension = "/usr/local/cellar/php/8.1.1/pecl/20210902/xdebug.so"
xdebug.mode = 디버그
xdebug.client_host = 127.0.0.1
xdebug.client_port = "9000"
Firefox에서는 "xdebug helper"(IDE 키 : vscode)를 사용합니다.
Safari에서는 "xdebugtoggleextension 1.2"를 사용합니다.
디버그하려면 "Ausführen" - "Debugger Starte"및 Green Play 버튼 (F5)으로 이동해야합니다.
다양한 유형의 센서와 WiFi (및 나중에 LORA)를 통해 전송 된 데이터의 양을 줄이려고 노력합니다. 센서가 데이터를 전송할 수있는 스키마를 갖는 것이 좋습니다. 또한 값의 이름을 전달할 필요가 없습니다.
모든 값이 올바른 순서로 전달되면 어떤 값이 wich인지 분명합니다.
스키마 #: 1
이름 : DS18B20
deschription : tempsensor
센서의 NR (연결된) : 1
값의 수 : 1
값의 이름 : #1 온도
가치 유형 : #1 UINT8 (?)
스키마 #: 2
이름 : DS2438
Deschription : Batteriemonitor
센서의 NR (연결된) : 1
가치의 수 : 4
값 이름 : #1 CH1 전압, 2 #CH1 전류, #3 CH2 전압, #4 CH2 전류
값 유형 : #1 uint8 (?), #2 uint8 (?), #3 uint8 (?), #4 uint8 (?)
스키마 #: 3
이름 : DHT11
deschription : tempsensor & 습도
센서의 NR (연결된) : 1
값의 수 : 2
값의 이름 : #1 온도, #2 습도
값 유형 : #1 uint8 (?), #2 uint8 (?)
스키마 #: 4
이름 : 디지털 입력
deschription : 디지털 입력
센서의 NR (연결된) : 1
값의 수 : 1
값의 이름 : #1 디지털 입력
가치 유형 : #1 bool (?)
스키마 #: 5
이름 : GPS
deschription : GPS 수신기의 데이터
센서의 NR (연결된) : 1
가치의 수 : 4
가치 이름 : #1 위도, #2 경도, #3 코스, #4 속도
값 유형 : #1 uint8 (?), #2 uint8 (?), #3 uint8 (?), #4 uint8 (?)