Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:middleware:push-server

Dies ist eine alte Version des Dokuments!


Push-Server

Der Push-Server (PS) ist ein Dienst der Teile der Middleware nutzt um Echtzeitwerte an Clients auszuliefern. Quelle für die Rohdaten ist der vzlogger. Ausgeliefert werden aber nur Daten von Kanälen die in der Middleware konfiguriert sind.

Ziel der Daten können das Frontend oder andere Clientanwendungen wie z.B. Node-RED sein.

Konfiguration

Um den PS zu nutzen sind folgende Änderungen nötig.

Middleware

Standardmäßig ist der PS deaktiviert, um das zu ändern muss er enabled werden:

volkszaehler.conf.php
/**
 * Push server settings
 */
$config['push']['enabled'] = true;

Die übrigen Parameter kurz erläutert:

volkszaehler.conf.php
$config['push']['server'] = 5582;                       // vzlogger sendet an diesen Port (angebunden an IP 0.0.0.0)
$config['push']['broadcast'] = 8082;                    // frontend abonniert an diesem Port (angebunden an IP 0.0.0.0)
$config['push']['routes']['wamp'] = array('/', '/ws');  // Route für WAMP-Zugriff (Frontend)
$config['push']['routes']['websocket'] = array();       // Route für einache Websockets (z.B. Note-RED), Empfehlung: array('/socket')

Gestartet wird der Konsole PS mit:

php /var/www/volkszaehler.org/misc/tools/push-server.php

Es ist aber besser einen vollwertigen Hintergrunddienst einzurichten.

Systemd

Für Debian „Jessie“ (Raspberry-Image) ist Systemd folgendermaßen einzurichten:

sudo nano /etc/systemd/system/push-server.service

Inhalt der Datei:

push-server.service
[Unit]
Description=push-server
After=syslog.target network.target
Requires=

[Service]
ExecStart=/usr/bin/php /var/www/volkszaehler.org/misc/tools/push-server.php
ExecReload=/bin/kill -HUP $MAINPID
StandardOutput=null
Restart=always

[Install]
WantedBy=multi-user.target

Den Dienst beim Boot aktivieren:

sudo systemctl enable push-server

Den Dienst starten:

sudo systemctl start push-server

Vzlogger

Die vzlogger-Konfiguration um die Zeilen erweitern:

vzlogger.conf
"push": [
  {
    "url": "http://127.0.0.1:5582"  // notification destination, e.g. frontend push-server
  }
],

Vzlogger neu starten:

sudo systemctl stop vzlogger
sudo systemctl start vzlogger
software/middleware/push-server.1491503656.txt.gz · Zuletzt geändert: 2017/04/06 20:34 von jau