Jump to content

LPD

Members
  • Gesamte Inhalte

    22
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von LPD

  1. Danke für den Tipp, rtrbt .... aber Sorry, gleiches Ergebnis!

    (Authentifizierung hatte ja auch schon vor der Passwortänderung geklappt (vergleiche Rückgabewerte oben)- probiert habe ich es trotzdem, sogar mit einem falschen Kennwort um zu sehen , was passiert: "....authentification failed!" )

    Schade , aber Danke für die Hilfe!

    Da es relativ lange dauert, bis die Meldung erscheinen ... könntes es sein, daß die bindings erst gar nicht gefunden werden? (also nicht im richtigen Verzeichnis liegen, oder rechtetechnisch nicht ausfürbar sind, o.ä.  ? ) Ich bin (leider) kein Linux-Guru ....

    Gruß, Manuel

  2. Vielen Dank für Deine Hilfe, photon!

    Leider scheint es auch nicht am Passwort zu liegen (oder der Fehler liegt zwischen meinen Kopfhörern).

    Ich habe folgendes Programm geschrieben:

    #!/bin/sh
    uid=xYz   # UID of my LCD 20x4 Bricklet

    # Trigger enumerate with authentication / geheim is NOT my real password ;-)
    tinkerforge --secret "geheim" enumerate &

    # Turn backlight on
    tinkerforge call lcd-20x4-bricklet $uid backlight-on

    # Write Text
    tinkerforge call lcd-20x4-bricklet $uid write-line 0 0 "Hello Manuel !"

    ___________________________________________________________________________

    .... und erhalte nach dem Start folgende Ausgabe:

    uid=123ABC
    connected-uid=0
    position=0
    hardware-version=2,0,0
    firmware-version=2,4,10
    device-identifier=master-brick
    enumeration-type=available

    [ .... weitere Bricklets ... ]

    uid=xYz
    connected-uid=123ABC
    position=d
    hardware-version=1,2,0
    firmware-version=2,0,6
    device-identifier=lcd-20x4-bricklet
    enumeration-type=available
    tinkerforge call lcd-20x4-bricklet <uid> backlight-on: error: Did not receive response for function 255 in time
    tinkerforge call lcd-20x4-bricklet <uid> write-line: error: Did not receive response for function 255 in time

    __________________________________________________________________________________________________

    Hinweis hierzu:  Im Brick-Viewer funktioniert alles (anzeigen, schreiben, löschen, etc. ...).

    Das Kennwort ist 1:1 identisch mit dem aus dem Brickv (hat also die exakt gleiche Syntax)...

     

     

     

  3. Ach menno .... (verzweifel)

    Jetzt funktioniert zwar die Anzeige der Sensordaten, aber meine Python Skripte und die Programmbeispiele (Shell / a.d. Konsole) laufen nicht.

    Als Beispiel das Shell-Programm "example-stack-status.sh" für den Master-Brick ...

    Nach dem Eintragen der UID und dem Ausführen passiert erstmal nichts, und dann gibt es Fehlermeldungen anstatt der Werte:

    tinkerforge call master-brick <uid> get-stack-voltage: error: Did not receive response for function 255 in time

    tinkerforge call master-brick <uid> get-stack-current: error: Did not receive response for function 255 in time

     

    ... oder das Python-Script "example_hello_world.py" für das LCD_20x4 Bricklet (mit eingetragener ID):

    python example_hello_world.py
    Traceback (most recent call last):
      File "/usr/local/bin/examples/bricklet/lcd_20x4/example_hello_world.py", line 19, in <module>
        lcd.backlight_on()
      File "/home/mg/.local/lib/python3.11/site-packages/tinkerforge/bricklet_lcd_20x4.py", line 116, in backlight_on
        self.check_validity()
      File "/home/mg/.local/lib/python3.11/site-packages/tinkerforge/ip_connection.py", line 506, in check_validity
        device_identifier = self.ipcon.send_request(self, 255, (), '', 33, '8s 8s c 3B 3B H')[5] # <device>.get_identity
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/mg/.local/lib/python3.11/site-packages/tinkerforge/ip_connection.py", line 1314, in send_request
        raise Error(Error.TIMEOUT, msg, suppress_context=True)
    tinkerforge.ip_connection.Error: Did not receive response for function 255 in time (-1)

     

     

     

  4. Oupps, leider zu früh gefreut ....

    Der Daemon wurde zwar geladen, der Viewer aber, kann aber weiterhin keine lokalen Sensoren anzeigen....

    Ein Aufruf von brickd im Terminal bringt folgende Ausgabe:

    brickd
    2024-01-22 11:14:31.394767 <I> <main_linux.c:369> Brick Daemon 2.4.5 started (pid: 2142, daemonized: 0)
    2024-01-22 11:14:31.394786 <I> <main_linux.c:375> Running on Linux system (sysname: Linux, release: 6.1.0-rpi7-rpi-v8, version: #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24), machine: aarch64)
    libusb: warning [libusb_init] installing new context as implicit default
    2024-01-22 11:14:31.411173 <E> <socket.c:244> Could not bind IPv4 server socket to '0.0.0.0' resolved from '0.0.0.0' on port 4223: EADDRINUSE (98)
    2024-01-22 11:14:31.411222 <E> <network.c:242> Could not open any socket to listen to
    2024-01-22 11:14:31.411375 <I> <main_linux.c:563> Brick Daemon 2.4.5 stopped

    Klappt also noch nicht ganz ... sorry

  5. Hallo,

      ich habe vergeblich versucht, Tinkerforge auf meinem neuen Raspberry Pi 5 zum laufen zu bringen: der Brick Viewer hat zwar Sensoren auf meinen anderen Systemen angezeigt, die "eigenen" (Localhost) aber nicht.

    Ich habe mich an Eure Installationsanleitung gehalten und den aktuellsten Brickd sowie Brickv auf meinem Raspi installiert. 

    Auf der "Himbeere" läuft Debian GNU/Linux 12 (bookworm), Kernel: Linux 6.1.0-rpi7-rpi-2712. Das im System inkludierte Python hat die Version 3.11.2

    Ein Aufruf von 'systemctl status brickd.service' bringt folgendes:

    * brickd.service - Brick Daemon
         Loaded: loaded (/lib/systemd/system/brickd.service; enabled; preset: enabled)
         Active: failed (Result: exit-code) since Sun 2024-01-21 20:27:35 CET; 1min 34s ago
        Process: 5543 ExecStart=/usr/bin/brickd --daemon (code=exited, status=127)
            CPU: 1ms

    Jan 21 20:27:35 Baba25 systemd[1]: Starting brickd.service - Brick Daemon...
    Jan 21 20:27:35 Baba25 brickd[5543]: /usr/bin/brickd: error while loading shared libraries: librt.so.1: ELF load command address/offset not page-aligned
    Jan 21 20:27:35 Baba25 systemd[1]: brickd.service: Control process exited, code=exited, status=127/n/a
    Jan 21 20:27:35 Baba25 systemd[1]: brickd.service: Failed with result 'exit-code'.
    Jan 21 20:27:35 Baba25 systemd[1]: Failed to start brickd.service - Brick Daemon.

     

    So, leider endet mein spärliches Wissen hier ... und ich brauche Hilfe von Euch Experten...

    Habe ich etwas übersehen / übersprungen oder vergessen? Was kann ich tun?

     

    Vielen Dank schon einmal im Voraus,

    VG,

    Manuel

     

     

     

  6. Hi,

     

    ... also den Rechtschreibfehler schliesse ich aus ! 8)

    (die Log-Datei und der Graph waren wohl zu gross - daher fehlte der "rettende" Anhang ..)

     

    Jetzt aber:

    Ich hab meine RRD mit neuen Grenzen versehen (uG: 0.00lx, oG:100000lx) und mittels Logfile die Werte von gestern aufgezeichnet (und auf's Wesentliche gekürzt):

     

    Auffallend sind die Stellen, an denen Petrus das Sonnenlicht "ausgeknipst" hat ;D (0 lx von 14:30 bis 14:45Uhr und 15:42 bis 16:11Uhr) und die maximalen Messwerte von 75026.8 lx um 15:01 bis 15:04 Uhr ...

     

    ... hier fehlt mir jede Erklärungsidee. 

    TagesHelligkeit_29_08.thumb.gif.3073dcdbedc084ce70d6b19ae8aec375.gif

    aussenwerte29_08.lst

  7. Hi,

     

      na jetzt aber:  wie erhofft gab es im Graphen wieder Ausssetzer (siehe Anhang)

    Geschätzt hatte ich so ca. 15:30 Uhr für den Ersten - also ab ins Logfile uns siehe da: keine Fehlermeldungen oder irgendwelche "Ungewöhnlichkeiten".

     

    Beim genaueren Hinsehen wurde ich dann doch stutzig: wie sehen denn die Werte aus: um 15:32 Uhr hatte ich für 3 Minuten Werte von 66430 lx !?!

     

    Hier liegt also das Problem: Beim Ambient Light v1 konnte der Wert nicht größer als 800lx werden - daher bin ich bei der Version 2 auch davon ausgegangen (-> Datenblatt: bis 64000lx).

     

    Wie kreaktiv schon richtig angemerkt hat: ich habe natürlich als obersten Grenzwert 64000 beim Anlegen der RRD angegeben....

     

    Die RoundRobin-Datenbank hat völlig richtig gearbeitet und Werte außerhalb dieser Grenze als Fehlerwert interpretiert und verworfen -> daher auch keine

    "Punkte" im Graphen.

     

    Ich werde den Wert jetzt mal auf 80000 erhöhen - die Aussetzer sind nun bestimmt weg ....

     

    Vielen, vielen Dank - ohne Euch würde ich immer noch im Trüben fischen.

     

    Aber woher diese hohen Werte ?

     

    Grüße aus dem Hochtaunuskreis,

    LPD

  8. Hallo photron,

    Hallo Loetkolben,

     

    photron:

    Kannst du mal in deinem crontab hier das > durch >> ersetzen und in aussenwerte.sh am besten auch noch date mit ausgeben?

     

    Hab ich gerade gestartet und gegengecheckt: Aufzeichnung läuft inklusive Datum und Zeit...

    Ich werde morgen Abend das Log mal durchschauen und "Auffälligkeiten" posten.

     

    photron:

    Ist das Ambient Light v2 am gleiche Master Brick angeschlossen, wie die anderen Bricklets deren Graphen keine Lücken aufweisen?

     

    Jep - Aufbauschema findest Du im Anhang IMG_0282.jpg

     

    Loetkolben:

    Liegt der Sensor hinter einer Scheibe? Filtert diese die UV-Strahlung?

     

    Der Sensor liegt unmittelbar hinter einem ca. 1mm dicken Stück Plexiglas (ohne Filter - siehe Foto im Anhang). IMG_0668.jpg

    Soviel ich weis läßt Plexiglas weniger UV durch als Glas, bei der Dicke würde Nivea wohl eher helfen ;D

     

    Ich melde mich morgen wieder,

    Grüße aus Weilrod,

    LPD

     

     

    IMG_0282.thumb.jpg.630c5cc2348834048619e5b2af73b44e.jpg

    IMG_0668.jpg.8b0bbf5c2b11fb9cae59e94c9ae6cd1b.jpg

  9. Hi,

    ich hab' mir nocheinmal alle Graphen angeschaut - ich glaube ich habe die Ursache des Problems gefunden....

     

    Eine zyklische Wiederholung schliesse ich aus, da die Ausfälle willkürlich stattfinden und in keinem direkten zeitlichen Zusammenhang stehen.

     

    Da die Graphen der Temperatur, der Feuchte und die des Version1-AmbientLight-Sensors  (seit Messbeginn vor ca. einem Jahr) keine Lücke aufweisen, gehe ich auch nicht von einem "Übertragungsfehler" aus.

     

    Auffallend ist jedoch, daß kurz vor jeder "Lücke" die Lichtwerte sehr hoch waren - d.h. die Sonneneinstrahlung dementsprechend auch ...

     

    ... ich vermute dass das Bricklet im direkten Sonnenlicht extrem warm wird und sich daher einfach kurzzeitig "verabschiedet".

     

    Begründen läßt sich die Vermutung damit, daß die heutige Kurve (bis jetzt) keine Unterbrechungen aufweist - die Außentemperatur ist ja auch längst nicht mehr so hoch wie in den letzten Wochen ... oder?

     

    Wie hoch darf denn die maximal zulässige Betriebstemperatur bei dem Bricklet sein?

     

    LG,

    LPD

     

    TagesHelligkeit.thumb.gif.05231d2cc538a38386c78a08ea43c94c.gif

    TagesFeuchteAussen.thumb.gif.a56741f6990067c3a4f5b137ccb503cb.gif

    aussentemperatur.thumb.gif.d0474cc28cf276bf9e1c7b6da8582818.gif

  10. Hallo photron,

     

    sorry, wenn ich erst jetzt antworten kann:

    Kannst du mal dein Skript zeigen, dass die Daten abfragt und in die RRD Datei packt?

    Gerne: Die Daten werden minütlich mittels crontab abgeholt, ein Graph wird alle 15 Minuten erstellt. Hier sind folgende Zeilen eingetragen:

    [...]
    * * * * * /home/lpd/aussenwerte.sh > /home/lpd/aussenwerte.lst 2>&1
    */15 * * * * /home/lpd/helligkeitsgraph.sh
    

     

    Das shellscript aussenwerte.sh sieht so aus:

    #!/bin/bash
    HOST=192.xxx.yyy.zzz
    UID_MASTER=1ABcdE
    UID_TEMPERATURE=aBc
    UID_HUMIDITY=dEF
    UID_AMBIENTLIGHT=gHi
    
    OutsideTemperature1=$(/usr/local/bin/tinkerforge --host $HOST call temperature-bricklet $UID_TEMPERATURE \
    get-temperature  --execute "echo 'scale=2; {temperature} / 100' | bc | xargs printf '%.1f\n'| tr ',' '.'")
    
    OutsideHumidity1=$(/usr/local/bin/tinkerforge --host $HOST call humidity-bricklet $UID_HUMIDITY \
    get-humidity --execute "echo 'scale=2; {humidity} / 10' | bc | xargs printf '%.1f\n'| tr ',' '.'")
    
    OutsideLuminance1=$(/usr/local/bin/tinkerforge --host $HOST  call ambient-light-v2-bricklet $UID_AMBIENTLIGHT \
    get-illuminance --execute "echo 'scale=2; {illuminance} / 100' | bc | xargs printf '%.1f\n'| tr ',' '.'")
    
    /usr/bin/rrdtool update aussenwerte.rrd N:$OutsideTemperature1:$OutsideHumidity1:$OutsideLuminance1
    
    echo "Temperatur: $OutsideTemperature1 °C"
    echo "Feuchte: $OutsideHumidity1 %Rh"
    echo "Helligkeit: $OutsideLuminance1 lx"
    

     

    ... in der Datei aussenwerte.lst stehen dann die letzten Werte und/oder Fehlermeldungen drin, z.B.:

    Temperatur: 24.8 °C
    Feuchte: 37.2 %Rh
    Helligkeit: 16284.9 lx
    

     

    Für die Erstellung der Graphen hab ich folgendes Script (helligkeitsgraph.sh)

    #!/bin/sh
    rrdtool graph TagesHelligkeit.gif \
    --start end-1d \
    --vertical-label "lx" \
    -w 1200 -h 400 \
    --title "Tages-Aussenwerte Helligkeit" \
    DEF:l1=aussenwerte.rrd:helligkeit:AVERAGE \
    DEF:l1min=aussenwerte.rrd:helligkeit:MIN \
    DEF:l1max=aussenwerte.rrd:helligkeit:MAX \
    VDEF:l1durch=l1,AVERAGE \
    VDEF:l1a=l1,LAST \
    VDEF:lmina=l1min,MINIMUM \
    VDEF:lmaxa=l1max,MAXIMUM \
    LINE3:l1#00ff00:"Helligkeit\n" \
    GPRINT:l1a:"aktuell\: %5.2lf lx\n" \
    GPRINT:l1durch:"Durchschnitt\: %5.2lf lx\n" \
    GPRINT:lmina:"tiefste\: %5.2lf lx\n" \
    GPRINT:lmaxa:"höchste\: %5.2lf lx\n" \
    > /dev/null
    

     

    Mehr mache ich derzeit nicht - hat ja auch bisher (mit dem 'alten' Bricklet) prima geklappt.

    Bestimmt hab' ich aber noch einen Anfängerfehler drin - ich lerne gerne dazu ;-)

     

     

    Der Graph von heute sieht übrigens richtig mies aus: auch hier gibt's wieder ein riesen-gap (s.Anhang)

    TagesHelligkeit.thumb.gif.21a03b033e8d440b6e5a52998c91309b.gif

  11. Hallo,

     

    vielen Dank ersteinmal für die Hilfe.

    Ich hab' natürlich gleich Nic's Rat umgesetzt und die Integrationszeit auf 100ms herabgsetzt. Das Ergebnis ist wirklich besser geworden (vgl. Graph1)

     

    Nach dem Aufspielen von Protons Update habe ich aber Aussetzer (bei 100ms) - siehe Graph2 ?!

     

    Anhand der Anzahl der Downloads haben anscheinend auch andere dieses Update ausprobiert - hat noch jemand Probs mit Aussetzern?

     

    Ich werde morgen nocheinmal mit dem gleichen Wert aufzeichnen - vielleicht hat ja nur ein Vogel mein Gehäuse schön gefunden :D ...

     

    Graph1.thumb.gif.583c1ee753263aa3a873e6481dca7087.gif

    Graph2.thumb.gif.29f93d4d7b5ee125b6778a6a23ddc51c.gif

  12. Hi,

     

    ich habe seit 2 Tagen das neue Ambient Light V2 Bricklet für meine Wetterstation eingesetzt. Der Sensor soll die Sonnenlichtintensität messen, daher habe ich ersteinmal den größtmöglichen Bereich (64000lx) und eine möglichst große Integrationszeit (400ms) gewählt.

    Eigentlich klappt auch alles wie es sollte, nur scheinen Werte oberhalb von 38070.90 Lx nicht dargestellt zu werden (siehe Anhang: Graph ist nach oben abgeschnitten...).

    TagesHelligkeit.gif

    Ich vermute den Fehler bei der Einstellung des Verhätnisses Messbereich/Integrationszeit - welche Werte würdet Ihr nehmen bzw. empfehlen?

    TagesHelligkeit.thumb.gif.df2f706184b6b230ef22d314e45b953c.gif

  13. ...vielen Dank für die schnelle Hilfe.

    Ok, ich bekomme jetzt immerhin eine Fehlermeldung:

     

    In der Zieldatei steht nun:

     

    
    /home/lpd/aussenwerte.sh: Zeile 19: tinkerforge: Kommando nicht gefunden.
    /home/lpd/aussenwerte.sh: Zeile 22: tinkerforge: Kommando nicht gefunden.
    /home/lpd/aussenwerte.sh: Zeile 25: tinkerforge: Kommando nicht gefunden.
    
    

     

    ... ich habe die Bindings doch richtig geladen?

    Warum wird tinkerforge nicht gefunden?

  14. Hallo,

     

    ... bin am verzweifeln:

     

    Ein cronjob soll Sensoren mittels Shellscript abfragen, die Werte in einer (temporären) Datei ablegen um sie (später irgendwann) mit einer RRDTool + Grafik

    auf einer Webseite darzustellen. Soweit der Traum - doch bereits Schritt 1 geht in die Hose :'(  ...

     

    Also folgendes Script habe ich auf meinem RaspberryPi geschrieben:

    #!/bin/sh
    HOST=192.168.---.---
    UID_MASTER=------
    UID_TEMPERATURE=---
    UID_HUMIDITY=---
    UID_AMBIENTLIGHT=---
    
    tinkerforge --host $HOST call temperature-bricklet $UID_TEMPERATURE \
    get-temperature  \
    --execute "echo 'scale=2; {temperature} / 100' | bc | xargs printf 'Outside temperature is %.1f °C\n'"
    
    tinkerforge --host $HOST call humidity-bricklet $UID_HUMIDITY \
    get-humidity \
    --execute "echo 'scale=2; {humidity} / 10' | bc | xargs printf 'Outside humidity is %.1f %%Rh\n'"
    
    tinkerforge --host $HOST  call ambient-light-bricklet $UID_AMBIENTLIGHT \
    get-illuminance \
    --execute "echo 'scale=2; {illuminance} / 10' | bc | xargs printf 'Ambient light is %.1f lx\n'"
    

     

    ... das funzt soweit, wenn ich es 'per Hand' aufrufe:

     

    Outside temperature is 6,9 °C

    Outside humidity is 82,3 %Rh

    Ambient light is 0,2 lx

     

     

    Ein nun mit crontab -e generierter Cronjob, soll jetzt dieses Script aufrufen, und die Ausgabe in eine Datei umleiten ...

    * * * * * /home/lpd/aussenwerte.sh >>/home/lpd/aussenwerte.lst
    
    

     

    Die Datei 'aussenwerte.lst' wird zwar erzeugt, es sind aber keine Werte drin!

     

    Hab' ich was vergessen? Wo steckt der Fehler?

     

    Vielen Dank im voraus,

    LPD

  15. Hallo,

     

      tja, als wenn ich es geahnt hätte: die frostigen Temperaturen der letzten Tage haben wohl meinem Feuchtesensor arg zugesetzt.

     

    Ich habe ihn, nebst eimem Barometer und einem Temperatursensor kopfüber in einen Strahlenschutz (vgl. http://www.sven-lindeboom.net/?page_id=265 ) eingebaut ...

    Ich kann mit dem Brickviewer zwar immer noch die Sensordaten zugreifen, der Wert ist aber konstant 100.0%.... (nein, er steht nicht in einem Wassereimer !  ;) )

     

    Grüße, LPD

  16. Hi,

     

      so, meine Wetterstation läuft! Nun plane ich diese mit externen Wettersensoren zu erweitern.

    Da ich diese dann auch im Freien platzieren wollte (...wir hatten schon Temperaturen unter -25°C) interessieren mich natürlich die maximalen Temperaturgrenzen. Leider habe ich nirgends diese Angaben gelesen/gefunden.

    Sind diese jemandem bekannt bzw. kann jemand weiterhelfen?

     

    Danke im vorraus,  LPD

×
×
  • Neu erstellen...