mit dem mosquitto_passwd Befehl ... siehe oben in der Anleitung.
Die IP muss dann natürlich die IP des RPi sein.
Ankündigung
Einklappen
Keine Ankündigung bisher.
MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054
Einklappen
X
-
Danke für die umfangreiche Anleitung.
Hätte den Mosquitto bereits auf meinem Raspberry installiert. Hab in konfiguriert wie du beschrieben hast und er läuft auch.
Allerdings erhalte ich noch keine Rückmeldung (vom LBS und Busmonitor) auf den mospuitto_pub Befehl.
Wo wird den der Benutzername festgelegt? Bzw. wie finde ich raus wie der auf dem Raspberry ist?
Einen Kommentar schreiben:
-
Hier noch mal die Installationsanleitung für den Mosquitto MQTT Broker auf dem EDOMI Server. Dies setzt voraus, dass die Installation der LBS auf dem EDOMI Server bereits gemäß Anleitung im LBS erfolgt ist. Nur dann kann folgende Installation erfolgreich ablaufen:
Hier mein /etc/mosquitto/mosquitto.conf Konfigurationsfile:Code:yum -y install mosquitto mkdir /var/log/mosquitto chown mosquitto:mosquitto /var/log/mosquitto
Danach kann mitCode:pid_file /var/run/mosquitto.pid log_dest file /var/log/mosquitto/mosquitto.log listener 1883 persistence true persistence_location /var/lib/mosquitto/ persistence_file mosquitto.db log_dest syslog log_dest stdout log_dest topic log_type all connection_messages true log_timestamp true allow_anonymous false password_file /etc/mosquitto/pwfile
ein Passwort für den User 'edomi' angelegt werden und Mosquitto neu gestartett werden:Code:mosquitto_passwd -c /etc/mosquitto/pwfile edomi
Jetzt ist der Mosquitto Broker einsatzfähig und man kann die LBS entsprechend konfigurieren mit IP (IP des Mosquitto Servers), Port (1883), User (edomi), Password (wie gerade festgelegt).Code:/etc/init.d/mosquitto restart
In EDOMI kann MQTT nun wie folgt konfiguriert werden:
Screenshot from 2017-05-20 20-37-15.png
Zunächst sollte der Subscribe und Publish Server ausreichen (die oberen beiden LBS).
Publish Server:
E1: 1
E2: Broker IP: <EDOMI IP>
E3: Broker Port: 1883
E4: Broker User: edomi
E5: Broker Password: <so wie oben gewählt>
E6: Plain Filter: <leer>
E7: RegExp Filter: <leer>
E8: Structure: both
E9: QoS: 1
E10: Retain: 1
E11: Loglevel: 8
Subscribe Server:
E1-E7: wie beim Publish Server
E8: QoS: 1
E9: Retain: 1
E10: Loglevel: 8
QoS/Retain sind nur für die Last Will & Testament Message (edomi/status), welche vom Broker an alle subscribten Clients gesendet wird, wenn die Verbindung zum Subscribe Server LBS abreißt.
Dann Projekt neu aktivieren und schon sollte im Logfile des Mosquitto Brokers eine Menge los sein:
Des weiteren kann der Empfang von MQTT wie folgt getestetet werden. Auf dem EDOMI Server folgenden Befehl ausführen:Code:tail -f /var/log/mosquitto/mosquitto.log
x-y-z steht für eine KNX GA und ### für einen Wert der dieser GA zugeordnet werden soll.Code:mosquitto_pub -h <IP-Mosquitto-Server> -u edomi -P <password> -t edomi/set/knx/[COLOR=#0000CD][B]x-y-z[/B][/COLOR] -m [COLOR=#0000CD][B]###[/B][/COLOR]
Einen Kommentar schreiben:
-
Meinst du die Anleitung aus der Hilfe?
Die installiert nur mosquitto-php, welches vom LBS verwendet wird.
Zusätzlich benötigst du irgendwo in deinem Netzwert den Mosquitto MQTT Broker. Das hatte ich in der Anleitung in dem Thread von Nanosonde beschrieben.
- Likes 1
Einen Kommentar schreiben:
-
Ich bin deiner Anleitung aus der Hilfe gefolgt also denke ich ja
. Werd heute Abend aber mal prüfen ins auch geklappt hat...
Einen Kommentar schreiben:
-
ja kann ich heute abend mal machen.
den mosquitto MQTT broker hast du schon laufen?
Einen Kommentar schreiben:
-
Einen Kommentar schreiben:
-
okay, dann hast du das Paket vermutlich anders installiert als ich.
Aber gut wenns jetzt funktioniert.
Einen Kommentar schreiben:
-
Thx Jonofe für die Hilfe!!!!!!!
Ich hab das Problem gefunden.
Bei mir ist der Pfad von Node-Red ein anderer.[Unit]
Description=Node-RED
After=syslog.target network.target
[Service]
ExecStart=/usr/local/bin/node-red -v
Restart=on-failure
KillSignal=SIGINT
# log output to syslog as 'node-red'
SyslogIdentifier=node-red
StandardOutput=syslog
# non-root user to run as
WorkingDirectory=/home/node-red/
User=node-red
Group=node-red
[Install]
WantedBy=multi-user.target
Hab mal im .service script das was ich geändert habe grün markiert.
Der Befehl
hatte folgendes mitgeteiltwhich node-red
/usr/local/bin/node-red
Einen Kommentar schreiben:
-
Hast du mal einen neuen User 'node-red' angelegt und die Startdatei entsprechend angepasst? nur um auszuschließen, dass es irgendein Berechtigungsproblem ist.
Wenn du node-red als root gestartet hast, dann kann das leicht mal passieren.
Einen Kommentar schreiben:
-
Zitat von jonofe Beitrag anzeigenwas passiert denn wenn du node-red in der Kommandozeile startest?läuft!xxxx@ubuntu-LTS-NodeRED-MQTT:/usr/local/bin$ node-red
20 May 14:23:58 - [info]
Welcome to Node-RED
===================
20 May 14:23:58 - [info] Node-RED version: v0.16.2
20 May 14:23:58 - [info] Node.js version: v4.2.6
20 May 14:23:58 - [info] Linux 4.4.0-78-generic x64 LE
20 May 14:24:00 - [info] Loading palette nodes
20 May 14:24:08 - [warn] ------------------------------------------------------
20 May 14:24:08 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
20 May 14:24:08 - [warn] ------------------------------------------------------
20 May 14:24:08 - [info] Settings file : /home/xxxx/.node-red/settings.js
20 May 14:24:08 - [info] User directory : /home/xxxx/.node-red
20 May 14:24:08 - [info] Flows file : /home/xxxx/.node-red/flows_ubuntu-LTS-NodeRED-MQTT.json
20 May 14:24:08 - [info] Creating new flow file
20 May 14:24:08 - [info] Starting flows
20 May 14:24:08 - [info] Started flows
20 May 14:24:08 - [info] Server now running at http://127.0.0.1:1880/
Das einzigste was ich nach der iso install von 16.04 LTS gemacht habe ist ein disto-upgrade.
Einen Kommentar schreiben:
-
was passiert denn wenn du node-red in der Kommandozeile startest?
Einen Kommentar schreiben:
-
Zitat von jonofe Beitrag anzeigen
Bei mir funktioniert es wie folgt. Ich habe mal ganz vorn bei der Installation angefangen. Vielleicht hilft das ja anderen dann auch noch.
Das funktioniert natürlich wie erwähnt nur auf Ubuntu (ggf. mit kleinen Anpassungen auf dem RPi), nicht aber auf CentOS (EDOMI-Server).
Code:# Install Node.JS sudo apt-get install nodejs-legacy #Install node package manage sudo apt-get install npm # Install Node-Red sudo npm install -g --unsafe-perm node-red node-red-admin # Open firewall for node-red sudo ufw allow 1880 # add a node-red user sudo adduser -q node-red # Create start script sudo nano /etc/systemd/system/node-red.service [COLOR=#0000CD][I][Unit] Description=Node-RED After=syslog.target network.target [Service] ExecStart=/usr/bin/node-red -v Restart=on-failure KillSignal=SIGINT # log output to syslog as 'node-red' SyslogIdentifier=node-red StandardOutput=syslog # non-root user to run as WorkingDirectory=/home/node-red/ User=node-red Group=node-red [Install] WantedBy=multi-user.target[/I][/COLOR] sudo systemctl enable node-red sudo systemctl daemon-reload sudo systemctl start node-red
Hi,
habs genauso gemacht wie du beschrieben hast.
Habe aber das gleiche problem wie vorher.
Bei ...
sudo systemctl status node-red
● node-red.service - Node-RED
Loaded: loaded (/etc/systemd/system/node-red.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Sa 2017-05-20 13:59:04 CEST; 10s ago
Process: 1282 ExecStart=/usr/bin/node-red -v (code=exited, status=203/EXEC)
Main PID: 1282 (code=exited, status=203/EXEC)
Mai 20 13:59:04 ubuntu-LTS-NodeRED-MQTT systemd[1]: node-red.service: Unit entered failed state.
Mai 20 13:59:04 ubuntu-LTS-NodeRED-MQTT systemd[1]: node-red.service: Failed with result 'exit-code'.
Mai 20 13:59:04 ubuntu-LTS-NodeRED-MQTT systemd[1]: node-red.service: Service hold-off time over, scheduling restart.
Mai 20 13:59:04 ubuntu-LTS-NodeRED-MQTT systemd[1]: Stopped Node-RED.
Mai 20 13:59:04 ubuntu-LTS-NodeRED-MQTT systemd[1]: node-red.service: Start request repeated too quickly.
Mai 20 13:59:04 ubuntu-LTS-NodeRED-MQTT systemd[1]: Failed to start Node-RED.
System hatte ich extra nochmal frisch ausgesetzt.
Verdammt
Bevor ich den LBS einstzten kann muss node-red auch laufen
Einen Kommentar schreiben:
-
Thx jonofe.
.. Mmh hab ich bis auf die Installation von node.js und node-red auch so probiert.
Naja der Fehler liegt wie immer im Detail.
Werde es nochmal genau so machen wie du es oben gemacht hast.
Kann übrigens berichten das ich bereits erfolgreich ein "Hallo Welt" mit dem Server subscriber empfangen habe
Einen Kommentar schreiben:
-
Bei mir funktioniert es wie folgt. Ich habe mal ganz vorn bei der Installation angefangen. Vielleicht hilft das ja anderen dann auch noch.Zitat von trollmar Beitrag anzeigen@jonofe
Bekomme node-red unter Ubuntu 16.04 lts einfach nicht dazu bei reboot zu starten via SystemD. Klappt das bei dir?
Das funktioniert natürlich wie erwähnt nur auf Ubuntu (ggf. mit kleinen Anpassungen auf dem RPi), nicht aber auf CentOS (EDOMI-Server).
Code:# Install Node.JS sudo apt-get install nodejs-legacy #Install node package manage sudo apt-get install npm # Install Node-Red sudo npm install -g --unsafe-perm node-red node-red-admin # Open firewall for node-red sudo ufw allow 1880 # add a node-red user sudo adduser -q node-red # Create start script sudo nano /etc/systemd/system/node-red.service [COLOR=#0000CD][I][Unit] Description=Node-RED After=syslog.target network.target [Service] ExecStart=/usr/bin/node-red -v Restart=on-failure KillSignal=SIGINT # log output to syslog as 'node-red' SyslogIdentifier=node-red StandardOutput=syslog # non-root user to run as WorkingDirectory=/home/node-red/ User=node-red Group=node-red [Install] WantedBy=multi-user.target[/I][/COLOR] sudo systemctl enable node-red sudo systemctl daemon-reload sudo systemctl start node-red
Einen Kommentar schreiben:


Einen Kommentar schreiben: