Paheber
-
Gesamte Inhalte
15 -
Benutzer seit
-
Letzter Besuch
Posts erstellt von Paheber
-
-
Hab gerade eben einen reboot durchgeführt und habe auf mqtt.fx # davor subscribet und jetzt kam auf tinkerforge/callback/bindings/shutdown "null" an
-
Hallo RTRBT
Er publischt glaube ich jetzt richtig :
sudo tinkerforge_mqtt --init-file ~/mqtt_outdoor_weather_init.txt --debug
2020-08-11 16:47:30,147 <DEBUG> MQTT bindings: Configuring connection to MQTT broker at localhost:1883
2020-08-11 16:47:30,147 <DEBUG> MQTT bindings: Connected to MQTT broker at localhost:1883
2020-08-11 16:47:30,151 <DEBUG> paho.mqtt.client: Sending CONNECT (u0, p0, wr0, wq0, wf1, c1, k60) client_id=
2020-08-11 16:47:30,152 <DEBUG> paho.mqtt.client: Received CONNACK (0, 0)
2020-08-11 16:47:30,153 <DEBUG> MQTT bindings: Connected to mqtt broker.
2020-08-11 16:47:30,154 <DEBUG> paho.mqtt.client: Sending SUBSCRIBE (d0, m1) [('tinkerforge/request/#', 0)]
2020-08-11 16:47:30,154 <DEBUG> paho.mqtt.client: Sending SUBSCRIBE (d0, m2) [('tinkerforge/register/#', 0)]
2020-08-11 16:47:30,155 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m3), 'tinkerforge/callback/bindings/restart', ... (4 bytes)
2020-08-11 16:47:30,156 <DEBUG> paho.mqtt.client: Sending SUBSCRIBE (d0, m4) [('tinkerforge/callback/bindings/restart', 0)]
2020-08-11 16:47:30,157 <DEBUG> MQTT bindings:2020-08-11 16:47:30,159 <DEBUG> MQTT bindings: Registered callback station_data for device K5A of type outdoor_weather_bricklet. Will publish messages to tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data.
2020-08-11 16:47:30,160 <DEBUG> MQTT bindings:2020-08-11 16:47:30,161 <DEBUG> MQTT bindings: Registered callback sensor_data for device K5A of type outdoor_weather_bricklet. Will publish messages to tinkerforge/callback/outdoor_weather_bricklet/K5A/sensor_data.
2020-08-11 16:47:30,161 <DEBUG> MQTT bindings: Connecting to brickd at localhost:4223
2020-08-11 16:47:30,163 <DEBUG> paho.mqtt.client: Received SUBACK
2020-08-11 16:47:30,164 <DEBUG> paho.mqtt.client: Received SUBACK
2020-08-11 16:47:30,165 <DEBUG> paho.mqtt.client: Received SUBACK
2020-08-11 16:47:30,168 <DEBUG> MQTT bindings: Connected to Brick Daemon: Connection established after request from user.
2020-08-11 16:47:30,168 <DEBUG> MQTT bindings: Connected to brickd at localhost:4223
2020-08-11 16:47:30,169 <DEBUG> MQTT bindings:2020-08-11 16:47:30,170 <DEBUG> MQTT bindings: Calling function set_station_callback_configuration for device K5A of type outdoor_weather_bricklet.
2020-08-11 16:47:30,178 <DEBUG> MQTT bindings: Calling function set_station_callback_configuration for device K5A of type outdoor_weather_bricklet succedded.
2020-08-11 16:47:30,178 <DEBUG> MQTT bindings:2020-08-11 16:47:30,180 <DEBUG> MQTT bindings: Calling function set_sensor_callback_configuration for device K5A of type outdoor_weather_bricklet.
2020-08-11 16:47:30,181 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m5), 'tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data', ... (146 bytes)
2020-08-11 16:47:30,198 <DEBUG> MQTT bindings: Calling function set_sensor_callback_configuration for device K5A of type outdoor_weather_bricklet succedded.
2020-08-11 16:47:51,308 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m6), 'tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data', ... (146 bytes)
2020-08-11 16:48:30,363 <DEBUG> paho.mqtt.client: Sending PINGREQ
2020-08-11 16:48:30,365 <DEBUG> paho.mqtt.client: Received PINGRESP
2020-08-11 16:48:39,467 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m7), 'tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data', ... (148 bytes)
2020-08-11 16:49:27,305 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m8), 'tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data', ... (146 bytes)
2020-08-11 16:49:31,312 <DEBUG> paho.mqtt.client: Sending PINGREQ
2020-08-11 16:49:31,314 <DEBUG> paho.mqtt.client: Received PINGRESP
2020-08-11 16:50:15,559 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m9), 'tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data', ... (146 bytes)
2020-08-11 16:50:31,583 <DEBUG> paho.mqtt.client: Sending PINGREQ
2020-08-11 16:50:31,585 <DEBUG> paho.mqtt.client: Received PINGRESP
2020-08-11 16:51:03,301 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m10), 'tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data', ... (148 bytes)
2020-08-11 16:51:32,343 <DEBUG> paho.mqtt.client: Sending PINGREQ
2020-08-11 16:51:32,344 <DEBUG> paho.mqtt.client: Received PINGRESP
2020-08-11 16:52:32,425 <DEBUG> paho.mqtt.client: Sending PINGREQ
2020-08-11 16:52:32,426 <DEBUG> paho.mqtt.client: Received PINGRESP
2020-08-11 16:52:39,644 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m11), 'tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data', ... (147 bytes)
^C2020-08-11 16:53:23,076 <DEBUG> MQTT bindings: Disconnecting from brickd and mqtt broker.
2020-08-11 16:53:23,228 <DEBUG> MQTT bindings: Disconnected from Brick Daemon: Disconnect was requested by user.
2020-08-11 16:53:23,230 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m12), 'tinkerforge/callback/bindings/shutdown', ... (4 bytes)
nur empfange ich nichts am broker wo muss ich denn noch die broker ip eintragen ?
-
Hallo RTRBT,
Ist es vielleicht schlau nochmal von vorne mit der Installation zu beginnen ?
So Wie ich als anfänger das jetzt alles verstehe müsste das ja so ablaufen
1. APT Repository einrichten
wget https://download.tinkerforge.com/apt/$(lsb_release -is | tr [A-Z] [a-z])/archive.key -q -O - | sudo apt-key add -
sudo sh -c "echo 'deb https://download.tinkerforge.com/apt/$(lsb_release -is | tr [A-Z] [a-z]) $(lsb_release -cs) main' > /etc/apt/sources.list.d/tinkerforge.list"
sudo apt update
2. Brick Daemon und Viewer installieren
sudo apt install brickd
sudo apt install brickv
Dann kann ich durch öffnen des brickv schonmal sehen ob die station daten funkt und alles läuft.
3. MQTT binding installieren
sudo apt install tinkerforge-mqtt
soo, wo speichere ich jetzt die callback bsp. datei (bislang liegt sie bei mir in usr/local/bin/ und heißt outdoor_weather_station ?
wo sage ich dem BrickD das er seine werte dort speichern soll ?
Sorry ich hab echt noch kaum erfahrung in Mqtt und würde mich mega freuen wenn sie mir helfen könnten.
Gruß Philipp
-
vor 1 Stunde schrieb duaw:
Alles befolgt unter https://www.tinkerforge.com/de/doc/Software/APT_Repository.html#apt-repository ?
brickd läuft ?
systemctl status brickd liefert bei mir
● brickd.service - Brick Daemon
Loaded: loaded (/lib/systemd/system/brickd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-08-10 08:27:30 CEST; 7h ago
Process: 460 ExecStart=/usr/bin/brickd --daemon (code=exited, status=0/SUCCESS)
Main PID: 471 (brickd)
Tasks: 7 (limit: 2068)
CGroup: /system.slice/brickd.service
└─471 /usr/bin/brickd --daemon
Ach ja: Raspi aktuell ? sudo apt update // sudo apt upgrade durchgeführt?
Gruß, Uwe ... jetzt weg.
Hallo Uwe ja das sieht bei mir auch so aus,
beim publishen über get_identity kommt das :
{"_ERROR": "Unknown callback get_identity for device K5A of type outdoor_weather_bricklet"}
beim publishen über station_data kommt das:
{"_ERROR": "Could not parse payload for station_data callback registration of <class '__main__.OutdoorWeatherBricklet'> outdoor_weather_bricklet as JSON encoding a boolean: No JSON object could be decoded"}
BIs Freitag, ich probiere mal noch ein bisschen und scrolle mich durchs WWW
-
Wenn ich nämlich nur das eingebe: brickd
2020-08-10 15:48:43.175960 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 2286, daemonized: 0)
libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/005: Permission denied
libusb: error [_get_usbfs_fd] libusb requires write access to USB device nodes.
2020-08-10 15:48:43.207192 <W> <usb_stack.c:376> Could not open USB device (bus: 1, device: 5), ignoring USB device: LIBUSB_ERROR_ACCESS (-3)
2020-08-10 15:48:43.207280 <E> <usb_stack.c:387> Could not find USB device (bus: 1, device: 5)
2020-08-10 15:48:43.207485 <W> <usb.c:184> Ignoring USB device (bus: 1, device: 5) due to an error
2020-08-10 15:48:43.207690 <E> <socket.c:243> Could not bind IPv4 server socket to '0.0.0.0' resolved from '0.0.0.0' on port 4223: EADDRINUSE (98)
2020-08-10 15:48:43.207805 <E> <network.c:242> Could not open any socket to listen to
2020-08-10 15:48:43.208376 <I> <main_linux.c:538> Brick Daemon 2.4.1 stoppedkommt das dabei raus
-
Ich gaube es liegt am deamon :
ich gebe das ein: brickd --check-config
Config file '/home/pi/.brickd/brickd.conf' not found, using default valuesUsing the following config values:
listen.address = 0.0.0.0
listen.plain_port = 4223
listen.websocket_port = 0
listen.mesh_gateway_port = 4240
listen.dual_stack = off
authentication.secret =
log.level = info
log.debug_filter =
bricklet.portA.sleep_between_reads = 200
bricklet.portB.sleep_between_reads = 200
bricklet.portC.sleep_between_reads = 200
bricklet.portD.sleep_between_reads = 200
bricklet.portE.sleep_between_reads = 200
bricklet.portF.sleep_between_reads = 200
bricklet.portG.sleep_between_reads = 200
bricklet.portH.sleep_between_reads = 200
bricklet.portI.sleep_between_reads = 200
bricklet.portJ.sleep_between_reads = 200
bricklet.portHAT.sleep_between_reads = 2000
bricklet.group0.spidev =
bricklet.group1.spidev =
bricklet.group0.cs0.driver = <unknown>
bricklet.group0.cs1.driver = <unknown>
bricklet.group0.cs2.driver = <unknown>
bricklet.group0.cs3.driver = <unknown>
bricklet.group0.cs4.driver = <unknown>
bricklet.group0.cs5.driver = <unknown>
bricklet.group0.cs6.driver = <unknown>
bricklet.group0.cs7.driver = <unknown>
bricklet.group0.cs8.driver = <unknown>
bricklet.group0.cs9.driver = <unknown>
bricklet.group1.cs0.driver = <unknown>
bricklet.group1.cs1.driver = <unknown>
bricklet.group1.cs2.driver = <unknown>
bricklet.group1.cs3.driver = <unknown>
bricklet.group1.cs4.driver = <unknown>
bricklet.group1.cs5.driver = <unknown>
bricklet.group1.cs6.driver = <unknown>
bricklet.group1.cs7.driver = <unknown>
bricklet.group1.cs8.driver = <unknown>
bricklet.group1.cs9.driver = <unknown>
bricklet.group0.cs0.num = -1
bricklet.group0.cs1.num = -1
bricklet.group0.cs2.num = -1
bricklet.group0.cs3.num = -1
bricklet.group0.cs4.num = -1
bricklet.group0.cs5.num = -1
bricklet.group0.cs6.num = -1
bricklet.group0.cs7.num = -1
bricklet.group0.cs8.num = -1
bricklet.group0.cs9.num = -1
bricklet.group1.cs0.num = -1
bricklet.group1.cs1.num = -1
bricklet.group1.cs2.num = -1
bricklet.group1.cs3.num = -1
bricklet.group1.cs4.num = -1
bricklet.group1.cs5.num = -1
bricklet.group1.cs6.num = -1
bricklet.group1.cs7.num = -1
bricklet.group1.cs8.num = -1
bricklet.group1.cs9.num = -1
bricklet.group0.cs0.name =
bricklet.group0.cs1.name =
bricklet.group0.cs2.name =
bricklet.group0.cs3.name =
bricklet.group0.cs4.name =
bricklet.group0.cs5.name =
bricklet.group0.cs6.name =
bricklet.group0.cs7.name =
bricklet.group0.cs8.name =
bricklet.group0.cs9.name =
bricklet.group1.cs0.name =
bricklet.group1.cs1.name =
bricklet.group1.cs2.name =
bricklet.group1.cs3.name =
bricklet.group1.cs4.name =
bricklet.group1.cs5.name =
bricklet.group1.cs6.name =
bricklet.group1.cs7.name =
bricklet.group1.cs8.name =
bricklet.group1.cs9.name = -
vor 6 Stunden schrieb duaw:
der brickd (Test: vom Mac aus kann ich mich mit dem BrickV mit 192.168.1.200:4223 verbinden. Ich sehe am Mac das HAT Zero und den Master mit allen Bricklets
Hallo Uwe,
Also das kann ich schonmal nicht, bislang klappt der test auch nicht
-
Hallo Uwe danke für die ausführlicher Erklärung und Anleitung ich probiere es gegen 15 Uhr wenn ich wieder im Büro bin
Grüße Philipp
-
vor 18 Stunden schrieb duaw:
Hallo, Philipp,
subscribe doch mal tinkerforge/# in MQTT.fx
Was passiert, wenn via MQTT.fx die Nachricht
tinkerforge/request/outdoor_weather_bricklet/K5A/get_station_data
publishst? Es sollte in MQTT.fx die Response ankommen.
Passiert das?
Gruß, Uwe
Hallo Uwe,
Dann kommt {"_ERROR": "Could not parse payload for get_station_data call of outdoor_weather_bricklet K5A as JSON: No JSON object could be decoded"}
gruß Philipp
-
Hallo Zusammen,
Hallo Uwe,
Ich habe jetz nochmals rumprobiert und alles neu aufgesetz setp-by-step aber es funzt nicht.
Deshalb hier einmal mein Aufbau
Raspberry Pi 3B+
Outdoor Weather Station
Outdoor Station Empänger --- Master Brick --- Raspberry
Auf dem Raspberry sind installiert und laufen der Deamon und der Brickviewer ich bekomme auch alle werte in den Brickviewer
dann habe ich den mqtt binding installiert über sudo ...install..._mqtt läuft auch Version 2.0.11
Masquitto ist auch installiert und lässt sich über mqtt.fx auslesen und abfragen
danach habe ich in den pfad usr/local/bin die mqtt datei der tinkerforge mqtt bindings zip :"tinkerforge_mqtt" kopiert und danach in den selben ordner eine textdatei namens outdoor_weather_config diese ist gefüllt mit:
# Change XYZ to the UID of your Outdoor Weather Bricklet
setup:
# Enable station data callbacks
publish '{"enable_callback": true}' to tinkerforge/request/outdoor_weather_bricklet/K5A/set_station_callback_configuration# Enable sensor data callbacks
publish '{"enable_callback": true}' to tinkerforge/request/outdoor_weather_bricklet/K5A/set_sensor_callback_configuration# Handle incoming station data callbacks
subscribe to tinkerforge/callback/outdoor_weather_bricklet/K5A/station_data
publish '{"register": true}' to tinkerforge/register/outdoor_weather_bricklet/K5A/station_data # Register station_data callback# Handle incoming sensor data callbacks
subscribe to tinkerforge/callback/outdoor_weather_bricklet/K5A/sensor_data
publish '{"register": true}' to tinkerforge/register/outdoor_weather_bricklet/K5A/sensor_data # Register sensor_data callbackK5A ist meine UID
in crontab -e steht:
***** /usr/bin/python3 /usr/local/bin/tinkerforge_mqtt --debug --broker-host 192.168.8.147 --init-file /usr/local/bin/outdoor_weather_config.txt >> ~/cron.log 2>&1
mein mqtt brocker hat kein passwort wie schon gesagt publischen über z.B diesen befehl :mosquitto_pub -d -t /home/data -m "Hello World"
funzt ohne probleme.
Bin ich richtig der Annahme das ich wenn ich diesen Kanal subscribe in mqtt.fx :
tinkerforge/register/outdoor_weather_bricklet/K5A/station_data
ich irgendwelche daten bekommen solllte ?
Beim mqtt.fx scan findet er auch nix auser mein /home/data test
Wäre mega wenn jemand mir hier helfen könnte
Grüße Philipp
-
vor 5 Stunden schrieb duaw:
Hallo, Philipp,
das im Video sieht alles ganz vernünftig aus. Ich bin den Weg mit der Anleitung von TF gegangen. Die ist doch ganz gut! Leider habe ich keine ausführlichere step-by-step-Anleitung ...
VOR dem automatischen Ausführen als Service oder über crontab solltest Du manuell checken, ob die Einzelteile funktionieren. Und dabei "unten" anfangen.
Wie ist Dein Aufbau?
Welche HW verwendest Du? Welches OS?
Aktuelle SW?
Wo läuft der MQTT-Broker? Läuft der? Kannst Du mit MQTT.fx überhaupt Nachrichten publishen/subscriben ?
Wo ist welches Bricklet wie angeschlossen? Siehst Du das im BrickViewer?
Hast Du python wie erforderlich ?
Wo läuft das Bindung tinkerforge_mqtt? Wie rufst Du das auf (nimm man --debug mit in den Aufruf 😉) Kannst Du das Binding in einer Shell (Konsole) aufrufen?
Was funktioniert und was funktioniert nicht?
Die Anleitung von TF ist doch ganz gut! Leider habe ich keine ausführlichere step-by-step-Anleitung ...
Gruß, Uwe
Hallo Uwe,
vielen Dank für die Tipps, ich Versuch mich mal nochmal daran alles Step by step durchzuarbeiten und gegen zu prüfen 👍🏽
Grüße Philipp
-
vor 2 Stunden schrieb duaw:
Hallo, Philipp,
ich bin wie hier beschrieben vorgegangen:
https://www.tinkerforge.com/de/doc/Software/API_Bindings_MQTT.html#
Unter Debian Linux (auch Raspi)
sudo apt install tinkerforge-mqtt
macht alles. Die Doku ist etwas gewöhnungsbedürftig. Am besten, du spielst mit den Kommandozeilentools oder z.B. MQTT.fx etwas rum.
Gruß, Uwe
Hallo Uwe,
Sorry ich bin echt anfänger, ich habe mich an diesem Video Orientiert, leider funktioniert das so bei mir nicht und ich weiß nicht warum.
-
vor 28 Minuten schrieb duaw:
Hallo,
der Maintainer maintaint wohl nur das, was er selbst hat.
Ich verwende das MQTT-Binding. Das läuft gut und ist bestens supported!
Gruß, Uwe
Hallo Uwe,
kennst du eine Anleitung für Anfänger das Mqtt-Binding einzurichten ?
vielen Dank für euere schnellen Antworten
Grüße Philipp
-
Hallo Community,
Ich habe Node-Red entdeckt und wollte meine Outdoor Weather Station einpflegen.
In Node-Red gibt es eine Tinkerforge Palette "node-red-contrib-tinkerforg".
Alle Bricklets sind dort hinterlegt. Gibt es hier jemand der das schonmal eingebunden hat ?
Bei mir stürzt node red ab sobald ich localhost in der konfiguration eingegeben habe und dann auf deploy klick.
Vielen dank für eure Bemühungen im vorraus!
Philipp
Node-Red Tinkerforge Palette
in Software, Programmierung und externe Tools
Geschrieben
Hallo,
Es hat doch geklappt er sendet ohne probleme alle daten vielen herzlichen dank!!!!!
Nur noch eine frage: wie sorge ich dafür das bei einem restart automatisch wieder angefangen wird daten zu senden
grüße philipp