Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#8

AW: Technische Hintergrundfrage, Webanbindung, REST

  Alt 7. Jun 2018, 08:53
Verstehe ich das so das die Maschinensteuerung mit Delphi geschrieben ist ?
Nope!
Es ist egal ob der Client (bei MQTT) eine Maschine, ein PC oder ein IoT oder was auch immer ist.
Es ist egal in welcher Sprache der Client das Protokoll implementiert hat.

Somit kannst Du deinen REST-Server mit Delphi Schreiben und dieser schickt die Konfigurationsänderung per MQTT an den Broker und dieser dann weiter an den/die Client/s.

Den Mosquitto Broker z.B. gibt es für diverse Plattformen:
https://mosquitto.org/download/

oder auch der erwähnte ActiveMQ:
http://activemq.apache.org/

Bekommt der REST-Server Änderungen z.B. bei GET einer Resource mit
www.maschine.de/v1/motor1?speed=500
Hinweis zu REST und GET/PUSH..:
GET - Nur Holen von Daten
PUSH - Neue Daten Anlegen
PUT - Setzen/Ändern von Daten
DELETE - Löschen von Daten
...

Dann müsste der REST-Server mit der Maschine die Änderung umsetzen:
entweder direkt, wenn Server = Maschine
oder z.B. per Feldbus, RS485, Ethernet, oder was es da so gibt an der Maschine.
Ungünstig, da der REST-Server ja dann 'Wissen' Muss, wie die Maschine direkt angesprochen wird!

Deshalb einen Broker!

Dieser leitet die Messages an alle entsprechenden Clients (Maschinen) weiter.
Somit muss nur für den Nachrichteninhalt eine Definition gemacht werden.

Die Maschine selber setzt dann anhand des Paketes die Konfiguration um.

MQTT wurde schon erwähnt, finde ich auch super, allerdings braucht man einen MQTT-Broker,
den man dann möglicherweise auf einem separaten Server, Clouddients, etc. laufen lassen muss.
Richtig, jedoch genügt hierfür ein Raspberry Pi...

Da du hier eh einen Zentralen REST-Server aufsetzen willst, kann auf diesm dein MQTT direkt mitlaufen..
Dieser muss nicht auf einem eigenen Server laufen.
Oder Du baust Dir direkt mit Delphi einen eigenen MQTT Server in deinen REST-Server mit ein.
  Mit Zitat antworten Zitat