Giter Club home page Giter Club logo

pitempsensor's Introduction

PiTempSensor

Protokolliere die CPU-Temperatur des Raspberry Pi per cron job

###Überblick

Mit einem kleinen Script sollen die Temperaturwerte der CPU auf dem Raspberry Pi überwacht werden. Das Script soll regelmäßig im Abstand von wenigen Minuten die Temperatur auslesen und aufzeichen. Um das Datenhandling zu vereinfachen, werden die Daten in eine SQlite-Datenbank geschrieben. Dadurch können Auswertungen oder eine Auswahl der Daten per SQL-Befehle durchgeführt werden. Außerdem ist es einfacher, die Datensammlung auf einen bestimmten Zeitraum zu begrenzen.

Übersicht

Das Script liest die Temperatur-Werte des Raspberry Pi mit Hilfe von vcgencmd aus schreibt sie in eine kleine Datenbank. Die Daten können später als CSV-Datei exportiert werden, um sie z. B. in einer Tabellenkalkulation ein Diagramm draus zu bauen. Mit dem Script generate_cpu_temp_json.sh können die Daten auch im JSON-Format ausgegeben werden. In diesem Format können Diagramme mit jgPlot in html-Seiten eingebettet werden:

Temperatur Plot

Damit die Scripte laufen, muss das Paket sqlite3 installiert sein:

sudo apt-get install sqlite3

In diesem Repository sind die Scripte enthalten, mit denen die Daten ausgelesen, in die sqlite-Datenbank geschrieben und zur Weiterverarbeitung in verschiedene Formate exportiert werden können.

###Die Skripte

Im Verzeichnis bin/ sind vier Scripte enthalten:

Scriptname Erläuterung
write_stats_to_db.sh Liest die CPU-Temperatur aus und schreibt sie in eine SQLite-DB
generate_cpu_temp_csv.sh Exportiert die Daten aus der SQLite-DB in eine CSV-Datei
generate_cpu_temp_json.sh Exportiert die Daten aus der SQLite-DB in eine JSON-Datei
logTemp fasst die scripte zum Speichern und Exportieren für den cron-job zusammen.

Die Datei crontab enthält den Eintrag für einen cron-job, um das Skript logtemp alle 5 Minuten auszuführen:

*/5 * * * *   ~/PiTempSensor/bin/logtemp

Dieser Eintrag wird mit crontab -u pi -e in die crontab-Datei des Benutzers pi eingetragen. Der Pfad zum Script muss natürlich so angepasst werden, dass er zum Script zeigt.

Ein einfacher Web-Server zum Abrufen der Daten mit einem Browser ist mit einem python-Aufruf möglich:

nohup python -m SimpleHTTPServer > /dev/null 2>&1 &

Der Web-Server ist dann über den hostnamen auf Port 8000 erreichbar, wenn Ihr eine Fritz!Box habt - z.B. http://pi:8000/ - oder über die IP-Adresse des Raspberry Pi, z.B. http://192.168.0.100:8000/

Das Zusammenspiel der Scripte ist in der Abbildung oben dargestellt.

pitempsensor's People

Contributors

rheikvaneyck avatar nasarek avatar

Watchers

 avatar  avatar

pitempsensor's Issues

logtemp root

logtemp lässt sich nur als root ausführen.

user pi hat nicht die Rechte das script voll auszuführen und Messdaten in die db zu schreiben.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.