Anzeige


Anzeige


Anzeige


Anzeige

Anzeige


Anzeige


Anzeige


Anzeige
Anzeige
Anzeige
  • Raspberry Pi mit Wetterstation und Außensensoren (Teil 2)


    Raspberry Pi

    Wetterstation und Außensensoren - Teil 2

    Claus Eckert


    (oben) Basisstation und Raspberry Pi
(unten und rechts) Solarregler und Schaltkästen


    Der Raspberry Pi ist konfiguriert, die Hardware ist angeschlossen und alle notwendigen Programme sind auf dem PC installiert.

    Ungefähr eine Minute nachdem wir den Raspberry Pi wieder mit Strom versorgt haben, sollte der Boot-Vorgang abgeschlossen sein. Jetzt wird Putty auf dem PC gestartet und die Verbindung mit dem Pi hergestellt (s. Teil 1)

    Bevor wir das Programm für die Wetterstation laden können, benötigen wir einige andere Anwendungen.

    Wir laden ein paar Programme direkt in den Pi (die Abfrage wieder mit „j“ bestätigen):

    Code:
    sudo apt-get install git
    (unter Umständen ist git schon installiert, dann wird dies angezeigt)

    Code:
    sudo apt-get install python-dev
    Code:
    sudo apt-get install gnuplot
    Code:
    sudo apt-get install libudev-dev
    Code:
    sudo apt-get install python-daemon
    An dieser Stelle beenden wir unsere vorbereitende Installation. Man könnte jetzt noch weitere Programme installieren, beispielsweise um automatisiert Wetterdaten an Twitter abzusenden oder einen sicheren Upload zu gestalten. Die Beschreibung solcher Module kann man hier nachlesen (scrollen bis Secure website uploading):

    Für die folgenden Arbeiten ist es vernünftig, einen Ordner zu haben, in dem wir unsere Downloads ablegen können. Dazu erstellen wir einen Ordner „Downloads“.

    Code:
    sudo mkdir downloads
    Code:
    cd /downloads
    Wir laden als erstes Cython in den Ordner. Dazu müssen wir die aktuelle Version ermitteln. Diese findet man hier >> Downloads

    Unter Download ist „the latest release“ bezeichnet. Stand 07/2015 ist 0.22.1

    Die Versionsnummer ist wichtig, denn diese wird anstatt der X.XX.X Zeichen im Code eingesetzt:

    Code:
    sudo wget http://www.cython.org/release/Cython-X.XX.X.tar.gz

    Hier der Code für die 07/2015 aktuelle Version:

    Code:
    sudo wget http://www.cython.org/release/Cython-0.22.1.tar.gz
    Code:
    sudo wget https://pypi.python.org/packages/b7/67/7e2a817f9e9c773ee3995c1e15204f5d01c8da71882016cac10342ef031b/Cython-0.25.2.tar.gz#md5=642c81285e1bb833b14ab3f439964086
    Jetzt muss das Programm entpackt werden (Versionsnummer gegebenenfalls wie oben anpassen):

    Code:
    sudo tar xvzf Cython-0.22.1.tar.gz
    Anschließend wechseln wir in den Ordner des Programme (Versionsnummer gegebenenfalls wie oben anpassen):

    Code:
    cd ~/downloads/Cython-0.22.1

    Dann installieren wir das Programm mit:

    Code:
    sudo python setup.py install
    Jetzt ist viel Geduld gefragt. Das kann nämlich einige Zeit dauern.
    Man kann sich inzwischen eventuell ein gutes Essen kochen. Mahlzeit…


    Lange genug Zeit gehabt? Nun wechseln wir wieder in den Ordner „downloads“.

    Code:
    cd ~/downloads
    Wir laden uns Cython-Hidapi

    Code:
    sudo git clone https://github.com/gbishop/cython-hidapi.git
    Danach gehen wir in den Ordner:

    Code:
    cd ~/downloads/cython-hidapi
    Bevor wir hier etwas starten, muss eine Datei bearbeitet werden:

    Code:
    sudo nano setup.py
    Mit der Raute # kann man Zeilen in der Datei auskommentieren. Diese sind dann ohne Funktion.

    Wir verschieben mit der Pfeiltaste „nach unten“ den Cursor auf den Anfang der folgenden Zeilen und setzen dort vor jeder Zeile eine Raute #.

    Das sieht dann so aus:

    Code:
    #os.environ['CFLAGS'] = "-I/usr/include/libusb-1.0"
    #os.environ['LDFLAGS'] = "-L/usr/lib/i386-linux-gnu -lusb-1.0 -ludev -lrt"

    Jetzt gehen wir mit der Pfeiltaste einmal nach unten auf eine leere Zeile, gehen mit der Maus hier her zurück, markieren und kopieren diese Zeilen und fügen sie in der Putty-Konsole mit einem Linksklick und einem Rechtsklick in der leeren Zeile ein.

    Code:
    os.environ['CFLAGS'] = "-I/usr/local/include/libusb-1.0"
    os.environ['LDFLAGS'] = "-L/usr/lib/arm-linux-gnueabihf -lusb-1.0 -ludev -lrt"
    Das sieht dann so aus:





    Nun installieren wir libusb, damit unser USB auch funktioniert:

    Wir wechseln wieder in den Ordner „downloads“:

    Code:
    cd ~/downloads
    Wir holen uns die aktuelle Version. Diese überprüfen wir aber vorher auf:

    http://sourceforge.net/projects/libusb/files/

    Jetzt holen wir uns die Version mit (aktuell 07/2015):

    Code:
    sudo wget sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.19/libusb-1.0.19.tar.bz2
    Achtung: Wenn es eine neue Version gibt, bitte den Link entsprechend ändern.

    Anschließend entpacken (auch hier gegebenenfalls die Versionsnummer ändern):

    Code:
    sudo tar xvjf libusb-1.0.19.tar.bz2
    Wir wechseln in das Verzeichnis (auch hier gegebenenfalls die Versionsnummer ändern):

    Code:
    cd ~/downloads/libusb-1.0.19
    Jetzt geben wir ein:

    Code:
    sudo ./configure

    Danach:

    Code:
    sudo make
    Code:
    sudo make install

    Jetzt kopieren wir noch eine Datei in einen anderen Ordner:

    Code:
    sudo cp /lib/arm-linux-gnueabihf/libudev.so.0.13.0 /usr/lib/arm-linux-gnueabihf/libudev.so
    Achtung!: Die Datei kann auch eine andere Endung bekommen, falls sich die Version geändert hat. Bitte dann im Ordner /lib/arm-linux-gnueabihf/ nach der Datei libudev.so.x.xx.x sehen.

    Erst jetzt starten wir die Installation von cython-hidapi:
    Dazu wechseln wir wieder in den Ordner...

    Code:
    cd /downloads/cython-hidapi
    ...und geben den Befehl ein:

    Code:
    sudo python setup.py install


    Holen wir uns die Software pywws in den Pi.

    Als Erstes sehen wir nach, welche Version aktuell ist.
    Dazu gehen wir auf: http://pywws.readthedocs.org/en/late...CHANGELOG.html
    (Stand 07/2015 ist die Version 15.07.0)

    Danach erstellen wir einen Ordner „weather“:

    Code:
    cd ~
    Code:
    mkdir weather
    Der Code, um die Software auf den Pi zu holen, lautet (gegebenenfalls Version ändern):

    Code:
    sudo wget https://pypi.python.org/packages/source/p/pywws/pywws-15.07.0.tar.gz
    Code:
    sudo tar zxvf pywws-15.07.0.tar.gz
    Code:
    ln -s pywws-15.07.0 pywws
    Code:
    cd ~/weather/pywws
    Code:
    sudo python setup.py build

    Wenn diese Fehlermeldung kommt, haben wir ein Problem. Ich habe das etwas unkonventionell gelöst.



    Code:
    cd
    Code:
    sudo apt-get install python-pip
    Code:
    cd ~/weather/pywws
    Code:
    sudo python setup.py build
    Wenn keine Fehlermeldung erscheint, geht es mit diesem Befehl weiter:

    Code:
    sudo python setup.py install


    Nun können wir die Basistation mit dem USB-Kabel zum Raspberry Pi verbinden und den ersten Test machen. Wir bleiben im Ordner „pywws“ und geben folgenden Befehl ein:


    Code:
    sudo python -m pywws.TestWeatherStation

    Gratulation! Geschafft. Wir können frohlocken, wenn dieser Bildschirm erscheint:




    Zusammenfassung:
    Wir haben umfangreiche Programmierarbeiten am Raspberry vorgenommen. Wir haben eine Lösung für eine Fehlermeldung bekommen und am Ende den Raspberry Pi erfolgreich mit der Wetterstation verbunden.
    Noch ein Hinweis auf andere Installationen im Netz: Es gibt einige Installationen, die aber leider alle mit Fehlern behaftet sind. Selbst die Vorgehensweise von Jim Easterbrook, der „pywws“ geschrieben hat, mit pip zu installieren, hat bei mir leider nicht funktioniert.
    Warum auch immer, der hier beschriebene Weg war bisher erfolgreich, auch wenn an zumindest zwei Stellen von hinten durch die Brust ins Auge. Welche das sind, verrate ich aber nicht.



    Die Einstellung von „pywws“

    Der nächste Schritt setzt wieder Konzentration voraus. Wir müssen eine Datei erstellen, die wichtig für die Funktion ist. Wir geben den Befehl ein:

    Code:
    sudo nano /etc/udev/rules.d/39-weather-station.rules
    Diese Datei wird mit folgendem Inhalt versehen:

    Code:
    ACTION!="add|change", GOTO="weatherstation_end"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1941", ATTRS{idProduct}=="8021", GROUP="weatherstation"
    LABEL="weatherstation_end"
    Wir speichern die Datei mit Strg und o, bestätigen mit Enter und schließen mit Strg und X.

    Zunächst kontrollieren wir die Vendor-ID (links) und die Product-ID (rechts) unserer Wetterstation. Dazu geben wir ein:

    Code:
    lsusb
    Die Nummer hinter WH merken wir uns auch gleich. Die brauchen wir später.






    Dann wenden uns wieder der Konfiguration unseres Programms zu. Als Nächstes stellen wir das Zeitintervall ein, mit dem die Daten in der Wetterstation erfasst werden.
    Der Befehl für die Einstellung der Zeit. Im Beispiel sind das 5 Minuten.

    Code:
    sudo python -m pywws.SetWeatherStation -r 5
    Es dauert einige Zeit, bis die Änderung genommen wird.
    Hinweis: Diese Zeiteinstellung hat nichts mit den Übertragungsintervallen in das Internet zu tun. Sie legt fest, in welchen Zeitabständen die Wetterstation intern die Werte speichert. Mit dieser Einstellung sind Zeitabstände bis zu einigen Wochen möglich.


    Nun benötigen wir noch einen Ordner, in dem wir unsere Daten speichern.
    Dazu erstellen wir im Ordner „weather“ einen Unterordner „data“.

    Code:
    mkdir ~/weather/data
    Jetzt machen wir einen Ausflug zu Filezilla und kontrollieren, ob wir den Ordner erfolgreich erstellt haben.

    Bevor es weiter geht ist es wichtig, dass die Wetterstation und der Raspi die gleiche Uhrzeit haben. Dazu muss bei der Wetterstation die Zeit eingestellt werden. Bei der empfohlenen Wetterstation ist es notwendig, die Akkus in den Außensensor einzulegen und nach draußen zu gehen, um das DCF-Signal zu empfangen. Wie das funktioniert, ist in der Beschreibung zur Wetterstation hinterlegt.
    Passen die Uhrzeiten nicht zusammen, kommt man mit der Installation nicht mehr weiter, da die weiteren benötigten Dateien nicht erstellt werden können.

    Während wir mit der Wetterstation hantieren, ist es vernünftig, mal einen Reboot beim Raspi zu machen. Es wurde doch schon einiges installiert und ein Reboot ist nie verkehrt:

    Code:
    sudo reboot
    Die Wetterstation und der Raspi zeigen die gleiche Uhrzeit an? Wenn ja, dann geht es weiter.

    Wir müssen jetzt „pywws“ manuell starten und damit automatisch eine Datei erzeugen. Dazu verwenden wir folgenden Befehl:

    Code:
    sudo python -m pywws.LogData -vvv ~/weather/data
    Jetzt sollte folgende Meldung erscheinen:



    Eine unbekannte Wetterstation . Ah ja und wir sollen die Datei „weather.ini“ editieren.
    „weather.ini“ ist eine der wichtigsten Dateien. Dort hinterlegen wir in Folge alle Einstellungen, die der Raspberry Pi mit den Wetterdaten machen soll. Hier kann man auch die meisten Fehler machen.

    Wir rufen die Datei zum editieren auf:

    Code:
    sudo nano ~/weather/data/weather.ini


    Als Erstes ändern wir „ws type = unknown“ in den Wert, den wir uns vorhin gemerkt haben.

    ws type = 1080

    Dann ergänzen wir eine Zeile:

    day end hour = 0

    Jetzt sollte in der Datei das Folgende stehen:

    Code:
    [config]
    ws type = 1080
    logdata sync = 1
    day end hour = 0
    Oder auch:
    Code:
     
    [config]
    ws type = 1080
    usb activity margin = 3.0
    pressure offset = 55
    logdata sync = 1
    day end hour = 0
    Danach die Datei speichern und schließen.


    Jetzt holen wir erstmals Daten von der Wetterstation auf den Raspberry PI:

    Code:
    sudo python -m pywws.LogData -vvv ~/weather/data
    Das sieht dann so aus:






    Nach einiger Zeit beenden wir mit Strg und c und gehen mit Filzilla auf den Raspberry pi in den Ordner „/weather/data/raw“.

    Dort finden wir jetzt die ersten Daten der Wetterstation, indem wir die Ordner mit dem aktuellen Jahr und Monat öffnen. Die Daten sind als Text-Datei gespeichert.



    Wie der Pi daraus Bilder und Texte für eine Homepage erzeugt, lernen wir gleich.


    Zunächst sehen wir uns die Ordnerstruktur noch mal genauer an. Wir haben einen Hauptordner „weather“ und mehrere Unterordner in der ersten Ebene.
    Wichtig ist für uns zunächst „data“. Darin ist die „weather.ini“ enthalten.
    „pywws“ und „pywws-15.07.0“ benötigen wir im Moment nicht.

    Damit der Raspi die Text-Dateien umwandeln kann braucht er templates. Wir unterscheiden in graph templates und templates.
    Graph templates generieren Bilder,
    templates generiert Text-Dateien, die man in eine Homepage einbinden kann.

    Der nächste Schritt besteht darin, die Vorlagen im System in die beiden Ordner „graph_templates“ und „templates“ zu verschieben. Ich mache das mit Filezilla weil es am schnellsten geht. Dazu wende ich aber einen kleinen Trick an. Filezilla ermöglicht leider nicht das Kopieren der Dateien. Macht nichts.

    Wir holen uns die Dateien auf den PC und schieben sie dann in den richtigen Ordner.

    Unser Quellordner ist /home/pi/weather/pywws/src/pywws/examples. Die Ordner „graph-templates“ und „templates“ ziehen wir auf den Desktop (linke Seite in Filezilla) Die Ordner werden nur kopiert, der Inhalt bleibt so erhalten.

    Jetzt öffnen wir auf der linken Seite in Filezilla unter Desktop den Ordner „graph_templates“, markieren die Dateien mit Strg a und schieben sie in den Ordner /home/pi/weather/graph_templates

    Das gleiche machen wir mit dem Inhalt des Ordners „templates“.




    Als Nächstes bearbeiten wir unsere Datei „weather.ini“
    Code:
    sudo nano ~/weather/data/weather.ini
    Wir geben nun die Pfade an, die der Raspi zur Bearbeitung der Daten verwenden muss.
    Code:
    [paths]
    work = /home/pi/weather/temp/
    templates = /home/pi/weather/templates/
    graph_templates = /home/pi/weather/graph_templates/
    local_files = /home/pi/weather/raw
    Jetzt kommt etwas Wichtiges: Wie oft sollen unsere Daten erfasst und gegebenenfalls auf die Webseite geladen werden?

    [live] ungefähr alle 50 Sekunden?
    [logged] bei jedem Script-Aufruf? (also wenn die Wetterstation Daten speichert, 5 Minuten)
    [hourly] stündlich?
    [12 hourly] alle 12 Stunden?
    [daily] alle 24 Stunden
    [monthly] monatlich?

    Und was soll mit den Daten passieren?
    services = [ ] Upload zu Wetterdiensten? Dort muss man registriert sein.
    plot= [ ] Erstellen eines Bildes oder Diagramms, das wir aus dem Ordner „~/weather/graph_templates“ generieren und das man dann auf der eigenen Website präsentieren kann?
    text= [] Erstellen einer Text- oder HTML-Datei, die man auf der eigenen Website als Text einbinden kann?

    Die Antworten auf die Fragen beeinflussen die Programmierung der „weather.ini“-Datei.
    Hier mal eine meiner Konfigurationen, geöffnet in Filezilla mit Notepad++:




    Die Standardrechte lassen ein Editieren und Speichern via Filezilla nicht zu. Daher ist der klassische Weg über die Konsole vorzuziehen.
    Code:
    sudo nano ~/weather/data/weather.ini
    Hier meine Vorlage:
    Code:
    [live]
    services = []
    text = []
    plot = []
     
    [logged]
    services = []
    plot = []
    text = ['dmi_borgervejr_1080.txt']
     
    [hourly]
    services = []
    plot = ['rose_1hrs.png.xml', '24hrs_full_features.png.xml']
    text = []
     
    [12 hourly]
    services = []
    plot = []
    text = []
     
    [daily]
    services = []
    plot = ['rose_24hrs.png.xml', '24hrs_full_features.png.xml']
    
    text = []
    In den Ordnern „graph_template“ und „template“ sind standardmäßig die englischen Dateien. Im letzten Teil dieser Tutorialreihe lernen wir, wie man die Dateien in Deutsch umschreibt. Momentan ist das aber nicht wichtig.

    Wer seine Daten auf eine Internetseite hochladen will, benötigt in der „weather.ini“ noch weitere Einträge
    Code:
    [ftp]
    local site = False
    secure = False
    site = Hier wird Dein Server eingetragen z.B. ftp.strato.com
    user = Hier wird Deine Benutzername eingetragen
    password = Das Passwort, leider in Klarschrift *
    directory = Der Ordner in dem Du Deine Daten speichern willst
    port = Und ggf der Port des Servers
    * Thema Passwort in Klarschrift:
    Das ist natürlich heikel, wenn der Raspberry Pi zum Beispiel von Außen, also über das Internet zugänglich ist. In der Regel stellt man dazu Portforwarding am Router ein und hat einen Zugang z. B. über eine NoIp-Adresse. Bei dieser Konfiguration verzichte ich darauf dankend.
    Es macht überhaupt keinen Sinn, dem Raspi einer Wetterstation einen Remotezugang zu geben. Das Ergebnis kann ganz schnell eine von dämlichen Script-Kidies gehackte Internetseite sein. Also Finger weg von diesen Dingen. Lasst Eure Raspis alleine am Router laufen, geschützt von der Firewall des Routers und dann habt ihr Ruhe. Wenn mal was eingestellt werden muss, kann man sich auf mit einem Handy aufschalten (Näheres in Teil 4).

    Wer sich auskennt, findet vielleicht eine funktionsfähige Lösung, um die Zugangsdaten unsichtbar zu machen.

    Übertragung via FTP: Dabei gibt es ein paar Dinge zu beachten. Die Daten können entweder als Bilder oder als Textdatei auf die Website übertragen werden. Die Bilddateien sind im Bereich von 20 kB, die Textdateien sind wesentlich kleiner. Wer alle fünf Minuten zwei Bilddateien mit etwa 50 kB hochlädt, hat im Monat einen Traffic von rund 400 MB. Wenn man im Festnetz ist, spielt das keine Rolle. Wer aber im mobilen Netz ist, der könnte mit seinem Datenvolumen schnell an die Grenze stoßen.
    An dieser Stelle ist also etwas Überlegung notwendig.


    Pywws als Service starten:

    Um „pywws“ einfach starten zu können oder auch nach einem Reboot automatisch zu starten, benötigen wir ein kleines Script.
    Hat man die Konfiguration wie in diesem Tutorial vorgenommen, so muss man nichts anpassen. Wer aber Ordner mit anderen Bezeichnungen verwendet, der muss entsprechend umbauen. (in der Zeile DATADIR= den Pfad zum Ordner ändern)

    Wir erstellen eine Datei mit:

    Code:
    sudo nano /etc/init.d/pywws

    Dort kopieren wir folgenden Code rein:

    Code:
    #!/bin/sh
     
    ### BEGIN INIT INFO
    # Provides:        pywws-livelog-daemon
    # Required-Start:  $all
    # Required-Stop:   $all
    # Default-Start:   2 3 4 5
    # Default-Stop:    0 1 6
    # Short-Description: Start pywws daemon
    ### END INIT INFO
     
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
     
    . /lib/lsb/init-functions
     
    DAEMON=/usr/local/bin/pywws-livelog-daemon
    PIDFILE=/var/run/pywws.pid
    DATADIR=/home/pi/weather/data
    LOGFILE=$DATADIR/live_logger.log
     
    RUNASUSER=pi
    UGID=$(getent passwd $RUNASUSER | cut -f 3,4 -d:) || true
     
    case $1 in
         start)
             log_daemon_msg "Starting pywws service" "pywws"
             if [ -z "$UGID" ]; then
                  log_failure_msg "user \"$RUNASUSER\" does not exist"
                  exit 1
             fi
             $DAEMON -v $DATADIR $LOGFILE start 
             status=$?
             log_end_msg $status
             ;;
         stop)
             log_daemon_msg "Stopping pywws service" "pywws"
             $DAEMON -v $DATADIR $LOGFILE stop
             log_end_msg $?
             rm -f $PIDFILE
             ;;
         restart|force-reload)
             $DAEMON -v $DATADIR $LOGFILE restart
             ;;
         try-restart)
             if $0 status >/dev/null; then
                  $0 restart
             else
                  exit 0
             fi
             ;;
         reload)
             exit 3
             ;;
         status)
             status_of_proc $DAEMON "pywws service"
             ;;
         *)
             echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
             exit 2
             ;;
    esac
    Die Datei ausführbar machen mit:

    sudo chmod a+x /etc/init.d/pywws
    Jetzt können wir „pywws“ als service mit start, stop und restart steuern. Mit status fragt man den aktuellen Zustand ab.

    Zum Beispiel:

    Code:
    sudo service pywws start
    oder
    Code:
    sudo service pywws status
    (Je nach Rechtevergabe kann man als User pi auf sudo verzichten)


    Cronjob für Reboot

    Ein Cronjob ist eine Automatisierung von Vorgängen zu bestimmten Zeiten oder bei bestimmten Zuständen.
    Wir gehen davon aus, dass unser Pi mal den Strom verliert. Wir möchten aber, dass unsere Wetterstation anschließend wieder Daten sendet. Deshalb müssen wir dem Pi sagen, was er nach einem Reboot zu tun hat.

    Wir geben ein:
    Code:
    cd
    Code:
    sudo crontab –e
    In der letzten Zeile fügen wir ein:
    Code:
    @reboot sudo service pywws start
    Dann speichern und schließen wir die Datei.

    Wir machen einen Reboot mit:
    Code:
    sudo reboot
    Wir verbinden uns via Putty und geben folgenden Befehl ein:
    Code:
    sudo service pywws status




    Hervorragend. Es funktioniert.

    Und jetzt kommt die Kontrolle, ob unsere Daten auf den Server oder den Homepage-Account geladen werden. Ich habe selbstverständlich eine Verbindung via Filzilla zu meinem Server und kann aktuell die Daten einsehen. Und so sieht das gerade im Moment aus:



    Das ist ein Raspberry Pi, den ich mit dem Schreiben dieses Artikels parallel Schritt für Schritt erstellt habe. Wer sich exakt an die Anweisungen gehalten hat und auch bei der Einstellung der Daten zum Server keinen Fehler gemacht hat, der dürfte jetzt auch mit der Installation erfolgreich fertig geworden sein.

    Herzlichen Glückwunsch. Du hast wirklich lange ausgehalten. Ich vermute, seit dem Start ist fast ein Tag vergangen. Aber der Erfolg spricht für sich.

    Autsch, ein Fehler!

    Es ist immer möglich, dass man an irgendeiner Stelle einen Fehler macht. Nachdem ich den Artikel geschrieben hatte, musste ich die Basisstation wieder in unserer Hütte einbauen und die SD-Karte in den Raspberry Pi schieben.
    Aber irgendwie hat der Pi nicht das gemacht, was zu Hause noch wunderbar geklappt hat. Er schaltete nach kurzer Zeit einfach „pywws“ ab. Es dauerte einige Zeit, bis mir einfiel, dass ich noch die Datei „12month.txt“ in der „weather.ini“ eingetragen hatte, um diese auf die Homepage zu übetragen.
    Ein Blick in den Ordner „data“ und die Datei „live_logger.log“ zeigte sehr schnell, die Datei heißt „12months.txt“. Was also so ein kleines "s" anrichten kann. Fehler gefunden und behoben.
    Also, immer in der „live_logger.log“ nachsehen wo es hakt, falls mal was nicht so läuft wie gewünscht.

    Ohne Spannung keine Wetterdaten:

    Dein Raspberry Pi benötigt jetzt nur noch Strom, die USB-Verbindung zur Wetterstation und eine Verbindung zum Internet. Wir haben am Anfang WLAN eingerichtet. Was Du vor Ort benötigst, kann ich nicht sagen. Wer 220 V und einen WLAN-Router zur Verfügung hat, der ist fein raus.
    Wir betreiben unseren Raspberry Pi an einem Akku, der von Solarzellen gespeist wird. Eine USB-Steckdose mit StepDown-Wandler (2 A) für das Auto tut bei uns ihren Dienst. Der mobile UMTS-Router wird ebenfalls so versorgt.
    Das ist für eine Anwendung abseits des Stromnetzes eine gute Lösung.

    Der Raspi ist mit diesem Router via WLAN verbunden. Man kann den Raspi sicher auch direkt mit einem UMTS-Stick verbinden. Wie das geht, habe ich aber noch nicht getestet. Aber hier ist schon einer bereit, eventuell habe ich ja mal Lust....


    Wie man die Bilder und Daten in die eigene Homepage einbaut, wird im nächsten Teil beschrieben.
    Und keine Angst. Dieser Teil ist schnell erledigt.

    Für die Linux-Freaks und Neerds:
    Sicher gibt es an der einen oder anderen Stelle andere Wege, die Programmierung zu machen. Aber wer Verbesserungsvorschläge hat, bitte nicht mit "mach' das besser so oder so" theoretisch abhandeln, sondern selbst eine Installation aufsetzen und dann beweisen, dass sie funktioniert. Gut gemeinte Codezeilen gibt es im Netz nämlich genug. Nur eben selten den Nachweis, dass es auch in der Gesamtkonstellation bei jedem funktioniert.

    Was also dieses Tutorial angeht: "It works - so what?"

    Von Anfang an:

    Raspberry Pi - Erste Schritte mit der Himbeere

    Raspberry Pi mit Wetterstation und Außensensoren - Teil 1

    Fortsetzung:

    Raspberry Pi mit Wetterstation und Außensensoren - Teil 3


    Hier geht es zum Diskussionsthread:
    Raspberry Pi mit Wetterstation
  • RC-Network empfiehlt


  • Anzeige








  • News

    Engel Modellbau und Technik

    Knüppelschalter von RC-Technik für FrSky ab sofort auch bei uns!

    Hallo an Alle!

    Seit heute führen wir auch die Knüppelschalter von RC-Technik für die Sender TARANIS X9D, TARANIS X9E und HORUS X12S in

    Engel Modellbau und Technik 22.06.2017, 09:52 Gehe zum letzten Beitrag
    Modellbau Lindinger

    Mamba 10 - das neue Highlight unter den Doppeldeckern jetzt lieferbar!

    Endlich ist sie da! Die lang ersehnte Mamba 10 aus der Hand des vielfachen Weltmeisters Quique Somenzini ist ab sofort lieferbar!
    Rot oder Grün?

    Modellbau Lindinger 20.06.2017, 11:19 Gehe zum letzten Beitrag
    Engel Modellbau und Technik

    Neuer FrSky Empfänger XMF3E-EU ohne Telemetrie

    Features:

    - Eingebaute F3EVO Flight Control und XM Empfänger
    - Mit dem neuesten Beschleunigungsmesser, Gyro und Kompass und Baro

    Engel Modellbau und Technik 20.06.2017, 08:25 Gehe zum letzten Beitrag
    Piotr

    Handsenderpult mit integrierten FPV-Halter - neu bei pp-rc

    Hallo,

    neu bei uns:

    Handsenderpult mit abnehmbarem Halter für FPF-Anlage. Für nicht FPV-Piloten verbleibt, nach dem der

    Piotr 18.06.2017, 21:50 Gehe zum letzten Beitrag
    Engel Modellbau und Technik

    Carbon Klappluftschrauben (F-ESSP: Folding-Engel-Super-Silence-Propeller) bei EngelMT

    Neu in unserem Sortiment sind unsere Carbon Klappluftschrauben (F-ESSP: Folding-Engel-Super-Silence-Propeller) in verschiedenen Größen.

    Engel Modellbau und Technik 15.06.2017, 15:26 Gehe zum letzten Beitrag
  • Forum - Neue Beiträge

    Maddin67

    UMX Modelle Tuning

    Ja ich fliege auch my lipo 205mah sind optimal fūr die umx Modelle
    Gruss Martin

    Maddin67 22.06.2017, 20:20 Gehe zum letzten Beitrag
    Spartan

    DINAH-die erste

    Danke! Aufmunterung kann ich gut gebrauchen!
    Gruß
    Klaus

    Spartan 22.06.2017, 20:14 Gehe zum letzten Beitrag
    Tofo

    Sterben Segelflug-Wettbewerbe aus? Wie kann das erhalten werden?

    Ich denke das Interesse an F3K, RES, F3F ist gestiegen. Diese Klassen sind schön puristisch.

    F3J ist irrgendwie ausgereizt. Das ist mir

    Tofo 22.06.2017, 20:09 Gehe zum letzten Beitrag
    eisn

    danke!

    danke für die Info,

    auch nach soooo langer Zeit hat mir höhn-modellbau noch weitergeholfen.
    Mittlerweile, so hat er mir gesagt,

    eisn 22.06.2017, 20:08 Gehe zum letzten Beitrag
    Marc P.

    D-Tour Wettbewerb 7. Spinning Contest Kaltenkirchen am 24.06.2017

    Hallo Zusammen,

    Nach der unveränderten Sachlage habe ich in Absprache mit unserem Vorstandes entschieden den Wettbewerb für diesen Samstag

    Marc P. 22.06.2017, 20:06 Gehe zum letzten Beitrag
  • Blog - Neue Einträge

    Kreissl2014

    Pilatus B4

    Aus Platzmangel steht meine 6 m und 19 kg schwere Pilatus B4 zum Verkauf.
    Die Pilatus ist gebraucht und weißt Gebrauchsspuren auf.
    Ausgestattet ist sie mit einer Schleppkupplung und Einziehfahrwerk...

    Kreissl2014 19.06.2017 03:48
    hänschen

    neues zu Europa...

    http://www.modellflug-im-daec.de/ima...6ln_Report.pdf

    hänschen 18.06.2017 13:55