IR-Thermometer
Ziel ist es den MLX90614 mit dem Raspi auszulesen.
Dies scheint relativ einfach zu sein. Folgende Anleitungen gibt es:
https://olegkutkov.me/2017/08/10/mlx90614-raspberry/
https://tutorials-raspberrypi.de/raspberry-pi-mlx90614-kontaktlos-temperatur-messen/
Achtung: vom MLX90614 gibt es eine 3V und eine 5V Version. Die 3V Version muss logischerweise an der 3V Speisung angeschlossen werden.
I2C mit einem 5V Sensor läuft wenn nur die Raspi internen Pull-ups verwendet werden. (Professionell müsste man die Schwellen prüfen, ob i.O.) Bei meinem Bastel-Aufbau läuft es.
Die Implementation gemäss tutorials-raspberrypi.de ist simpel
- IC2 auf dem Raspi aktivieren (via GUI oder Konsole).
- Sensor anschliessen
- Prüfen ob Sensor am I2C erkannt wird mit
i2cdetect -y 1
- git Repo klonen
- mit dem Beispiel example.py ausprobieren
Logfile und Datum/Zeit-Format
Das Datumsformat beim TempLogger hatte ich eher europäisch und hübsch aber nicht besonders kompatibel gewählt. Folgende zwei Formate werden sowohl von LibreOffice als auch von Highcharts ohne Konvertierung verstanden:2014-06-30 06:01:02
@@@
Im Logfile generiere ich folgende Zeilen:DatumTZeit; Objekttemperatur Sensor1; Umgebungstemperatur Sensor1
Bei einer Auswertung von mehr als einem Sensor wird die Zeile einfach verlängert.
Wenn ich davon ausgehe, dass ich pro Sekunde eine Messung mache, gibt das 86'400 Zeilen pro Tag. Deshalb erzeuge ich ein Logfile pro Tag, welche in einem Ordner pro Monat gespeichert werden.
Das sollte das Handling verbessern. (Die Logfiles bei Bedarf zusammenzufügen ist einfacher als in einem Riesenlog interessante Stellen rauszusuchen.)
Bei einem permanenten Setup, wäre es vermutlich sinnvoll, die Logs extern zu speichern. Ich bringe mal etwas Abnutzung auf die SDCard.
Ein Log jede Sekunde ist nicht geeignet für ein Cron-Job. watch
macht jedoch ziemlich genau das. Genau wird es mit der -p Option. Das heisst die Messung wird manuell mit watch -n 1 -p ./log_sensor.sh
gestartet. (Das hat den Nachteil, dass bei einem Crash oder Reboot die Messung nicht automatisch gestartet wird.)