Jump to content

Paheber

Members
  • Gesamte Inhalte

    15
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von Paheber

  1. 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 ?

  2. 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

     

     

  3. 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

     

  4. 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 stopped

    kommt das dabei raus

     

  5. Ich gaube es liegt am deamon :

    ich gebe das ein:  brickd --check-config


    Config file '/home/pi/.brickd/brickd.conf' not found, using default values

    Using 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             =

     

  6.  

    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

  7. 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 callback

     

    K5A 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

     

     

  8. 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 

  9. 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.

     

  10. 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

×
×
  • Neu erstellen...