moziloCMS Logo
Spring Control Das Spring-Management System

Externe Steuerung

Der Proxy ermöglicht es auf einfache Weise, das Laden von externen Geräten zu managen. Momentan muss noch die mongosh-Shell installiert werden, damit die Skripte laufen. Das wird bald nicht mehr nötig sein, da die Skripte durch ein Programm ersetzt werden, welches alles integriert hat. Die Funktion ändert sich jedoch nicht dadurch.

Bild "Proxy-Server:kommunikation3"
Anbindung eines externen Gerätes


Wie funktioniert das Ganze jetzt genau?
  • Das externe Gerät startet einen Batch.
  • Dieser setzt sich mit dem Proxy-Server in Verbindung.
  • Auf dem Proxy-Server wird in der MongoDB-Datenbank ein Datensatz verändert.
  • Der Proxy-Server schaut jede Minute nach, ob neue Befehle eingetroffen sind.
  • Der Proxy erkennt, dass er eine Aktion machen muss, und handelt entsprechend.

Wie sehen die Batches nun aus?
Zunächst kommt das Hauptscript, welches dann weitere Scripte aufruft. Einfach folgenes Script speichern unter laden.sh und ausführbar machen mit chmod 770 laden.sh
es müssen natürlich die entsprechenden Parameter
  • userName
  • Passwort
  • domainname
angepasst werden.

LOGFILE="mongo_update.log"
echo "Starte MongoDB-Skript am $(date)" >> "$LOGFILE"
case $1 in
"start")
mongosh --tls -u userName -p Passwort domainname:27017/admin < start.sh  
;;
"stop")
mongosh --tls -u userName -p Passwort domainname:27017/admin < stop.sh  
;;
esac


Wird dieses Script mit dem Parameter start aufgerufen, so wird folgenes Script ausgeführt:
Einfach folgendes Script speichern mit dem Namen start.sh. Und userName anpassen.

use ("userName");  //Datenbankname
db.extern.updateOne(  //collectionName
   { id: 1},  
   { $set: { ladenStart: true } }  //Update-Operation
);


Wird es mit dem Parameter stop aufgerufen, so wird folgendes Script ausgeführt:
dieses script bitte unter stop.sh speichern. Und userName anpassen.

use ("userName");  //Datenbankname
db.extern.updateOne(  //collectionName
   { id: 1},  // Filterkriterium
   { $set: { ladenStop: true } }  //Update-Operation
);

Damit das ganze auch funktioniert muss zwingend in dem Formular Ladekonfiguration der Punkt Externres Laden erlauben eingeschaltet sein.