Categories
Raspberry Pi

DL0FIS – Raspberry Pi – Kameras mit Sensoren – Revision

Link zu den Webcams und Wetterdaten hier

Link zum A18, auf dessen Clubstation (DL0FIS), die Kameras installiert sind hier

Einleitung

Nach einigen Jahren haben die Kameras mit Sensoren bei DL0FIS immer unzuverlässiger gearbeitet, bis hin zum Totalausfall beider Raspberry Pis.

Daher mussten die Kameras abgebaut und revisioniert werden. Meistens ist es “nur” die SD-Karte, sollte man meinen. Doch nach einigen Jahren der Witterung ausgesetzt, war es nicht nur die SD Karte, die defekt war.

Bestandsaufnahme

Der DHT22 Sensor genauso wie der BME280 Sensor sind durch die Witterungseinflüsse komplett “abgegammelt”.

Defekter DHT22 Sensor – Im Hintergrund zu sehen: der damals noch schlecht gedruckte “Wetterschutz” für den Sensor.
Defekter DHT22 Sensor – Innenleben

Bei einer der Kameras hat sich der Kleber der Scheibe gelöst, somit konnte Wasser ins Gehäuse eindringen – Den Raspberry Pi hat das nicht zerstört, da das Wasser im Gehäuse nie hoch stand.

Vorderseite der Kamera, bei der sich der Kleber des Frontglases gelöst hat (ohne Glas) – Links erkennt man gut die Moosbildung durch eindringende Feuchtigkeit.

Bei einer der Kameras habe ich Pappe statt einer 3D gedruckten Kamerarückseite verwendet, auch diese hat sich sehr verzogen. Davon habe ich kein Foto gemacht, hier nochmal das Original bzw. wie es beim Einbau aussah:

Die eingebauten Step-Down Wandler (damals noch mit schlecht gedruckten Gehäuse) funktionieren weiterhin zuverlässig.

Step-Down Wandler in der Gehäuserückseite einer Kamera.

Die SD-Karte ist auch defekt und muss ersetzt werden.

Hardware

Bisher war die eine Kamera mit einem DHT22 Sensor und die andere mit einem BME280 Sensor für die Messung der Umgebung ausgestattet. Sowie eine der Kameras mit Sensoren für die Messung der Innentemperatur.

Im Zuge der Revision habe ich mich dazu entschieden die Innensensoren zu entfernen, sowie nur noch eine der Kameras mit einem Außensensor (BME280) auszustatten.

Neuer Außensensor – BME280

Die Schutzhülle des Sensors habe ich neu gestaltet, sodass der Schutz für den Sensor verbessert wird. Den Schutz habe ich im Anschluss lackiert, um den ABS Kunststoff etwas gegen die UV Strahlung zu schützen.

BME280 Sensor Schutz lackiert inklusive Bohrungen für die Luftzirkulation.
3D Modell – BME280 Sensor Schutz – Der mehrwandige Schutz soll verhindern, dass Wasser bei Wind zum Sensor gelangt.

Die Front mit der Glasscheibe habe ich auch repariert bzw. die Scheibe mit etwas Acryl befestigt.

Befestigte Scheibe in der Kamerafront

Als Kamerarückseite habe ich eine 3D gedrucktes Teil eingesetzt, dass ich mit schwarzer Farbe lackiert habe, da ABS Kunststoff dazu neigen kann bei Sonneneinstrahlung aus zu bleichen. Die Kamerarückseite ist deshalb montiert, damit es auf der Scheibe keine Reflexionen gibt.

Kamerarückseite ohne eingesetzte Kamera, aufgeraut, damit der Lack besser hält.
Lackierte Kamerarückseite ohne eingesetzte Kamera.

Das Kameragehäuse hat eine Art “Schlitten” integriert, auf dem der Raspberry Pi installiert war und wieder installiert wird.

Der Kamerahalter ist separat gedruckt und wird mittels Aceton an die Kamerarückseite “geklebt”. Darin wird die Kamera mit zwei kleinen Klebetropfen nochmals fixiert. Alle Teile sind aus ABS gedruckt.

Montierte Kamera von der Rückseite

Bisher hatte der Raspberry Pi ein Gehäuse, dass auch oben zu war. Das neue “Gehäuse” ist ausschließlich eine Halterung, die oben offen ist, damit die Abwärme des Raspberry Pis besser in das Gehäuse abgegeben werden kann.

Raspberry Pi in der Halterung
3D Modell – Raspberry Pi 2 – Halterung

Die Stromversorgung bleibt wie bisher auch über den Step Down Wandler bestehen. Allerdings war es bisher so, dass ein langes LAN-Kabel von unten bis in die Kamera geführt wurde. Das ist sehr wartungsunfreundlich, deshalb wurde das geändert, dazu später. Da ich keine flexiblen LAN-Kabel für den Außeneinsatz gefunden habe, habe ich ein flexibles Kabel für innen mit einem für den Außeneinsatz geeigneten, selbst verschweißenden Band umwickelt und durch eine Kabeldurchführung ins Gehäuse geführt.

Schwarz mit Band eingewickelt das Netzwerkkabel.

Wie bereits erwähnt, werden kurze Netzwerkkabel verwendet, um die Kameras mit dem Netzwerk zu verbinden.

Zum Mast hoch geht nur noch ein Cat7 Kabel, das für den Außeneinsatz geeignet ist. Am Mast befindet sich ein Verteiler, an dem das achtdrähtige Cat7 Kabel über ein Patchpanel im inneren der Box in zwei LAN-Verbindungen aufgesplittet wird, die dann jeweils zu den Kameras gehen. Das Gehäuse wird mittels einer Masthalterung am Mast befestigt.

Offenes Gehäuse für die LAN-Anschlüsse, links und in der Mitte die beiden schwarzen Anschlüsse, an die die Kameras angeschlossen werden, ganz rechts die Kabeldurchführung für das Cat7 Außenkabel.

Nachdem sich Erfahrungsgemäß zum Teil hohe Temperaturen im Gehäuse bilden können, vornehmlich im Sommer, habe ich eine entsprechende Durchlüftung im Gehäuse eingebaut. Die Belüftung muss so beschaffen sein, dass kein Regen in der Gehäuse eindringen kann, auch wenn hohe Windgeschwindigkeiten vorliegen. Das habe ich so gelöst, dass ich im Inneren des Gehäuses “Türme” eingebaut habe, die zwar Luftzirkulation zulassen, nicht jedoch das eindringen von Wasser. Genauso gibt es in der Mitte unter dem Raspberry Pi eine mit einem Kunststoffplättchen teilüberdeckte Öffnung, durch die ggf. eindringendes Wasser entweichen kann (nicht zu sehen).

In weiß zu sehen die Belüftungsöffnungen

Und so sieht die fertige Kamera offen aus:

Fertige Kamera offen von oben

Nachdem der Innenausbau fertig ist, habe ich noch das Vorderteil und Hinterteil abgeschliffen und lackiert, da diese von der Witterung angegriffen waren. Zudem habe ich das “Dach” aus Aluminium abgeschliffen und lackiert (weiß + Klarlack), da es nicht mehr schön aussah.

Fertige Kamera von der Seite
Fertige Kamera von vorne

Am Mast montiert sehen die Kameras mit der LAN-Box wie folgt aus:

Foto: DF1GT – Kameras am Mast montiert.

Software

Auf dem Raspberry Pi läuft Raspbian.

Ich könnte hier einiges über die eingesetzten Technologien und Software schreiben. Das wirklich wichtige ist, dass häufig wechselnde Daten nicht auf die SD Karte geschrieben werden sollten, sondern in eine RAM-Disk. So sind viele meiner Logs, sowie das Webcambild konfiguriert.

Beispielauszug für die Einrichtung eines Webcambildes auf einer RAM-Disk:

#!/bin/sh


mkdir /mnt/RAMDisk

echo "" >> /etc/fstab
echo "tmpfs /mnt/RAMDisk tmpfs nodev,nosuid,size=5M 0 0" >> /etc/fstab
echo "" >> /etc/fstab

mount -a

df

Danach könnte das Ergebnis wie folgt aussehen, was der Befehl “df” auswirft:

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root       15019440 2223292  12151476  16% /
devtmpfs          413172       0    413172   0% /dev
tmpfs             446452       0    446452   0% /dev/shm
tmpfs             178584     572    178012   1% /run
tmpfs               5120       4      5116   1% /run/lock
tmpfs               5120     448      4672   9% /mnt/RAMDisk
/dev/mmcblk0p1    258095   50413    207682  20% /boot
tmpfs              89288       0     89288   0% /run/user/0

Das “/mnt/RAMDisk” mit dem Filesystem “tmpfs” ist jetzt unsere RAMDisk. Da man aber nicht immer den Pfad der “Dateien” wechseln möchte bieten sich symbolische Verknüfungen an, so möchte ich mein Webcambild im Ordner “/home/pi/htdocs” vorfinden. Dafür muss ich zunächst die bereits angelegten Dateien entfernen und dann einen symbolischen Link zur RAMDisk setzen.

mkdir /home/pi/htdocs
rm /home/pi/htdocs/current.jpg
rm /home/pi/htdocs/current.jpg~
ln -s /mnt/RAMDisk/current.jpg /home/pi/htdocs/current.jpg

Das Bild kann ich dann unter dem Link “/home/pi/htdocs/current.jpg” aufrufen, beispielsweise über den Webserver auf dem Raspberry Pi.

Über “ln -s /mnt/RAMDisk/[…] […]” lassen sich weitere Verknüpfungen für Dateien anlegen, die in der RAMDisk abgelegt werden sollen.

Danach muss ich nur noch dem “raspistill” Tool mitteilen, dass es das Webcambild zukünftig in der RAMDisk ablegen soll. Dafür habe ich mein stündlich laufendes Script entsprechend modifiziert.

#!/bin/sh

killall raspivid
killall raspistill

sleep 2

nohup raspistill -o /mnt/RAMDisk/current.jpg -h 720 -w 1280 -tl 2000 -t 4000000 -q 80 -vf -hf -ex auto -n > /dev/null

Fertig. – Zur Erklärung: Ich starte über “nohup” das Tool “raspistill” im Hintergrund, sodass das Script in Gänze durchlaufen kann. Zudem muss ich die Parameter “-vf”, sowie “-hf” anhängen, um das Bild so zu drehen, dass es nicht auf dem Kopf steht, da das Kameramodul kopfstehend eingebaut wurde. Das Script wird stündlich über einen Cronjob gestartet.

Hinweis

Dieser Artikel dokumentiert lediglich meinen Aufbau. Für den Nachbau, die Nutzung einzelner Komponenten, die Platinen und den gesamten Inhalt wird die Haftung in jeglicher Form ausgeschlossen.

Categories
Raspberry Pi

Raspberry Pi 2 – Camera and Temperature / Humidity / Pressure Sensor

DHT22 + BME280
DHT22 + BME280
DHT22
Categories
Raspberry Pi

Raspberry Pi – Camera and Temperature / Humidity Sensor

DHT22
DHT22
DHT22
DHT22
DHT22