Temperatur-Logger

  • Hallo zusammen,

    habe mir dieses interessante Projekt https://github.com/meigrafd/HighCharts auf unserem Pi2 Model B nach Vorgaben der Installationsanleitung der enthaltenen README-Datei installiert.

    Momentan sind zum Testen 4Stück DS18S20 über Pull-up-Widerstand am PI angeschlossen.

    Diese konnten über

    Code
    cat/ sys/devices/w1_bus_master1/w1_master_slaves

    auf dem Terminal ausgelesen werden.

    Wenn im Projekt 1wire.py ausgeführt werden soll, erscheine die Meldung" (Errno 13) Permmision denied:`/usr/local/sbin/1wire.py`".

    Vielleicht kann mir jemand helfen - komme nicht weiter, auch durch lesen, lesen... + probieren.... .

    Besten Dank :danke_ATDE:

  • In meiner Anleitung wird das Script in die crontab vom root Benutzer eingetragen. Ausserdem liegt das Script absichtlich in einem Verzeichnis das nur im PATH von root ist (allgemein alle sbin Verzeichnisse).

    Du musst das Script also mit root-Rechten ausführen:

    Code
    sudo /usr/local/sbin/1wire.py

    Evtl. hast du vergessen das Script ausführbar zu machen - das ist im ersten Block ganz oben beschrieben:

    Code
    sudo chmod 770 /usr/local/sbin/1wire.py

    Wenn du weiterhin Probleme hast dann bitte detaillierter beschreiben Wie du es ausführst oder was in Deinem Script drin steht.

  • Hallo meigrafd,

    so mit

    Code
    sudo /var/local/sbin/1wire.py


    zeigt es mir schonmal die vier Sensornamen und die dazugehörigen Temperatueren an - prima!!!

    Leider kommt

    Code
    MySQL Error (2003 "Can`t not cannot to MyQSL server on ´127.0.0.1` (111)")

    Habe bei der Installation in

    Code
    sudo nano /var/www/charts/HighCharts/include/config.php

    nichts verändert! Was bedeutet "...set MyQSL Stuff".

    Danke für die Hilfestellungen

  • Hallo meigrafd,

    es ist mir gelungen, den MySQL-Fehler weg zubekommen - bin glaube ich, aber trotzdem auf Deine detaillierte Hilfe angewiesen - sorry!!!
    Denn jetzt bleibt des ganze nach dem 1.Temperatursensor stehen - es wird die Sensorbezeichnung und die Temperatur angezeigt, macht danach einen Zeilenumbruch und dann passiert nichts mehr.

    Was muss ich den beim MySQL-Setting für eine Host-Adresse angeben - habe die reingeschrieben, welche beim hochfahren des PI kurz angezeigt wird. Ebenso habe ich den angezeigte Port dort eingetragen.

    Weieterhin habe ich noch das gemacht:

    Code
    sudo apt-get install mysql-server masql-client php5-mysql

    Dort habe ich bei der Installation nach Aufforderung ein neues Passwort vergeben und dieses wiederholt bestätigt. Hoffe, das war kein Fehler!? :daumendreh2:

    Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Aber wieso liegt dein Script in [/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]/var[/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]/local/sbin/ ?[/font]

    [
    Sorry - habe mich vertippt - so lautet es richtig:

    Code
    sudo /usr/local/sbin/1wire.py

    Hoffe, Du kannst mir weiterhelfen.

    Trotzdem schon jetzt vielen Dank :thumbs1:

  • Wenn der MySQL Server lokal/direkt auf dem Pi läuft wo auch das 1wire.py Script ausgeführt wird, dann brauchst du keine 192.168.x.x oder ähnlich angeben, das würde mit einem Standard MySQL-Server nämlich eh nicht funktionieren - der lässt nur Verbindungen von "localhost" bzw "127.0.0.1" zu. Das 1wire.py Script hatte das aber eigentlich auch schon eingestellt, du brauchtest nur Login / Pass anpassen.

    Also noch mal im Detail:

    Du musst 2 Dateien bearbeiten und die MySQL relevanten Daten eintragen:

    • /var/www/charts/include/config.php
      [code=php]
      $dbuser = "root";
      $dbpass = "raspberry";
      $database = "measurements";
      [/php]
    • /usr/local/sbin/1wire.py
      [code=php]
      mysqlHost = '127.0.0.1'
      mysqlPort = '3306'
      mysqlLogin = 'root'
      mysqlPass = 'raspberry'
      mysqlDatabase = "measurements"
      [/php]

    Gib hier einfach das Password an was du bei der MySQL-Installation vergeben hast. Mehr brauchst du nicht einstellen/verändern.

  • Hallo meigrafd,

    :bravo2: - war der richtige Tip. Die vier angeschlossen Temp-Sensoren werden jetzt untereinander aufgelistet - prima!

    Wenn ich das ganze richtig verstanden habe, wird über die crontab-Anweisung das Script jetzt minütlich ausgeführt und die ermittelten Werte in die Datenbank geschrieben.

    Was muss ich den jetzt noch tuen, um die HighCharts-Grafik betrachten zu können! Der PI läuft als Remotedesktopverbindung über unsere FRITZ-Box - hat also keinen eigenen Bildschirm und keine eigene Tastatur und Maus.

    Weitere Frage:

    Musste das eingeben, um an die MySQL-Einstellung in der config.php zu gelengen:

    Code
    sudo nano /var/www/charts/HighChats/include/config.php

    Bei der Installation wurde nach Anlege des Verzeichnisses /var/ww/charts/ der Ordener HighCharts eingefügt. Habe ich da was verkehrt gemacht?

    Wie immer erstmal - :danke_ATDE:

  • Du hattest gestern gegen 18 Uhr einen Beitrag in einem anderen Thread gemacht - dort hab ich zu deinem "Verzeichnisproblem" bereits geantwortet:


    Wenn man der README auf Github folgt dann funktioniert es so wie dort beschrieben. Läd man sich davon abweichend aber eine Zip herunter, passt die README natürlich nicht mehr, da im Zip ein Verzeichnis enthalten ist. Entpackt man die Zip in /var/www/charts/ muss man dann also in den Unterordner wechseln. Folgt man der README werden die Dateien mithilfe von 'git clone' direkt in /var/www/charts/ geladen, ohne zusätzlichem Unterverzeichnis.

    Du musst nichts weiter machen als die IP und das Verzeichnis in deinem Webbrowser einzugeben um diese anzusurfen. In deinem Speziellen Fall irgendwie sowas: http://192.168.x.x/charts/HightCharts

    Wenn dich die Verzeichnisstruktur stört kannst du die Dateien verschieben:

    Code
    cd /var/www/
    sudo mv charts/HightCharts/* .

    Anschließend bräuchtest du nur noch http://192.168.x.x/ ansurfen.

    Die IP musst du natürlich mit der für dich passenden ersetzen, die LAN-IP deines RaspberryPi's

  • Hallo meigrafd,

    ok - hatte ich bereits versucht - gelingt mir aber nicht.

    Kommt immer "[font="Segoe UI, Tahoma, sans-serif"]Diese Webseite ist nicht verfügbar."[/font]

    Habe ich da eventuell noch´was "versaut". :wallbash:

    Oder muss im PI noch etwas anders konfiguriert werden. Remotdesktopverbindung und Putty vom PC zum PI funktionieren.

    Vielleicht noch ´nen Tipp?

    Vielen Dank!!!

  • Hallo zusammen,

    vielleicht doch noch jemand ´ne Idee?

    Sobald ich am PC den PI über dessen IP aufrufe kommt "Index of / Name .... ".

    Beim Aufruf über den PI-Browser (http://localhost/) kommt die gleiche Anzeige.

    Komme über die Forensuche seit etwa 3h leider nicht weiter.

    Wäre für Unterstützung sehr dankbar!

  • Bitte poste mal die Ausgabe folgender Befehle - bitte in CODE

    Code
    ls -la /var/www/
    ls -la /var/www/charts/

    Wenn du PuTTY benutzt, brauchst du den Text nur mit der Linken Maustaste markieren, dann kannst du ihn auch schon hier einfügen (rechte Maustaste Einfügen, oder STRG+V drücken, oder SHIFT+EINFG)

  • Hallo meigrafd,

    Code
    pi@raspberrypi:~ $ ls -la /var/www/charts/
    insgesamt 12
    drwxr-xr-x 3 www-data www-data 4096 Jan  8 16:06 .
    drwxr-xr-x 7 root     root     4096 Jan 10 14:51 ..
    drwxr-xr-x 3 www-data www-data 4096 Jan 10 13:21 HighCharts

    Ich hoffe, dass das zur Problemerkennung hilfreich ist.

    Trotzdem schon jetzt vielen Dank!

  • Hm du hast in /var/www/ zwei Verzeichnisse die in Frage kämen: charts und highcharts ... Beide Verzeichnisse sind zur selben Zeit erstellt worden :s Und dann hast du auch noch direkt in /var/www/ die Dateien drin liegen.

    Aber der entscheidene Hinweis ist, dass du Jessie hast. Dort müssen die Dateien nicht direkt in /var/www/ liegen sondern in /var/www/html/

    Du machst also jetzt einfach folgendes:

    Code
    sudo mv /var/www/* /var/www/html/


    Dort wird eine Fehlermeldung kommen, die kannst du aber ignorieren.

    Am besten wärs dann auch wenn du danach etwas aufräumst:

    Code
    sudo rm -rf /var/www/html/{charts,highcharts,Readme.md}
  • Hallo meigrafd,

    besten Dank für die schnelle Reaktion!

    Du meinst diese Meldung, die ich ignorieren kann:

    Code
    pi@raspberrypi:~ $ sudo mv /var/www/* /var/www/html/
    mv: das Verschieben von „/var/www/html“ in ein Unterverzeichnis
    seiner selbst („/var/www/html/html“) ist nicht möglich


    Danke!

  • Hallo meigrafd.

    :bravo2: :bravo2: .... :bravo2: :bravo2: !

    Prima, funktioniert - kann die Grafik sehen :D.

    Momentan kann ich noch keine Werte sehen(No data to display) - denke da muss sich erstmal was ansammeln - oder?
    Auch die Skalierungen erscheinen momentan noch nicht.

    Bitte nochmal zu meinem Verständnis:

    1.Es wird minütlich einmal geloggt ?
    2.Der Messwerte werden nach dem Booten(nach einschalten des PI) automatisch geloggt (Autostart)?

    :danke_ATDE:

  • Hallo meigrafd

    Code
    pi@raspberrypi:~ $ sudo crontab -l
    
    
    no crontab for root

    Soll ich

    Code
    crontab -e

    nochmal ausführen und

    Code
    * * * * *   /usr/local/sbin/1wire.py >def/null 2>&1

    eintagen?

    MfG - towi

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!