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”.
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.
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 Halterung3D 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 SeiteFertige 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:
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.
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.
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.
Seit längerem betreibe ich ein iGate, um APRS-Nachrichten ins Internet ein zu speisen. Ein Bekannter brachte mich auf die Idee auch ein WEBSDR ins Leben zu rufen. Ich habe dann mein iGate verbessert, sowie ein WEBSDR mit automatischen Antennen Trennrelais mit Gewitterwarner gebaut. Dieses Projekt möchte ich hier beschreiben.
Für mein APRS iGate nutze ich ein NESDR SMART Stick von NooElec. Da die Geräte relativ heiß werden, habe ich mir Gedanken gemacht, wie man diese kühlen könnte. Nach der Demontage des Sticks stellte sich heraus, dass dort noch etwas Platz ist, um eine Schraube zu platzieren, somit habe ich mich entschieden einen Kühlkörper mit Wärmeleitpaste zu befestigen.
SDR Stick mit Kühlkörper
Der Stick ist dann zwar etwas kühler, aber immer noch etwas zu warm für meinen Geschmack. Zudem wollte ich den dazugehörigen Raspberry Pi 3 noch kühlen.
Also entschied ich mich dazu ein Gehäuse mit Lüfter für das WEBSDR, sowie das iGate zu drucken. Als Material habe ich ABS gewählt.
Im Gehäuse ist Platz für den Raspberry Pi, den Lüfter, sowie den SDR Stick. Der Lüfter, sowie der Raspberry Pi werden mit Schrauben befestigt, der Stick ist nur eingesteckt.
Offenes Gehäuse von obenOffenes Gehäuse von vorne
Der Raspberry Pi wird über das Mainboard mit Strom versorgt, da ich dort, wo ich das iGate, sowie den WEBSDR aufbauen möchte, bereits eine 5V Spannungsversorgung vorhanden ist. Der Lüfter wird vom Mainboard des Raspberry Pi mit Strom versorgt. Mit Deckel bleiben Raspberry Pi, sowie der SDR Stick relativ kühl. Hier ist allerdings Vorsicht geboten, dass man einen Lüfter wählt, der nicht zu viel Strom verbraucht. Die GPIO PINS des Raspberry Pi dürfen nicht überlastet werden. Der Lüfter ist an +5V sowie GND angeschlossen.
Gewitterwarner
Als Gewitterwarner habe ich den GW1 von ELV gewählt, da dieser über Ausgänge verfügt, die je nach Warn-Lage auf GND gezogen werden. Wenn also Entwarnung aktiv ist, ist der Entwarnungs-PIN des Warners auf 0V und der Rest nicht. Deshalb benötigen wir den Pull UP der Eingänge auf der ESP32 Platine.
Für den Gewitterwarner habe ich wieder ein 3D Druck Gehäuse gezeichnet, aus dem man den Gewitterwarner für dass Ändern der Einstellungen relativ einfach entnehmen kann.
Für die Antennen habe ich einen Mast montiert und diesen separat geerdet, um Störungen aus dem Haus etwas zu minimieren.
StaberderErdung WandmontageMast WandhalterungMontierter Mast mit X-50 für das APRS iGate, sowie Big Wheel für das WEBSDR
Trennrelais
Damit ich nicht jedes Mal manuell den Antenneneingang des iGate bzw. WEBSDR entfernen muss, habe ich mich dazu entschlossen mithilfe zweier Relais, dem Gewitterwarner GW1 von ELV, sowie einem ESP32 (mit 30 Pins) eine Abschaltelektronik zu entwickeln.
Die Relais sind so angeschlossen, dass sie bei fehlender Spannung die Antenne auf Masse schließen. So ist auch bei Stromausfall sichergestellt, dass die Antenneneingänge nicht geschaltet sind.
Die Platine mit den Relais sind in einem Aluminiumgehäuse eingebaut. Die Antennenkabel werden direkt auf der Platine aufgelötet, um unnötige Übergangswiderstände zu vermeiden. Die Platine mit dem ESP32 ist außen am Alugehäuse angebracht. Im Aluminiumgehäuse habe ich eine kleine 3D gedruckte Plattform eingeschraubt, auf der die Platine aufgeschraubt wird, um Kurzschlüsse mit dem Aluminiumgehäuse zu vermeiden. Das Aluminiumgehäuse hat die Maße: 100 x 160 x 81 mm, ein kleines hätte mit Sicherheit auch gut funktioniert, in größeren Gehäusen lässt es sich besser arbeiten.
Bei Verwendung des GW1 Gewitterwarners muss bei PULL die 3V3 Verbindung gebrückt werden. NIEMALS; GND-Brücke und 3V3-Brücke gleichzeitig brücken!
Montage
Als Coax-Kabel habe ich Aircell 7 verwendet. Montiert sieht das offene Gehäuse mit den Relais wie folgt aus.
Montierte Abschaltelektronik ohne GewitterwarnerKomplette Elektronik mit APRS iGate und WEBSDRDetailbild der Installation
Software
Der ESP32 ist so programmiert, dass er bei Warnung die Relais abschaltet, damit wird die Antenne mit Masse verbunden und die Verbindung zum SDR/iGate unterbrochen. Sobald der Gewitterwarner Entwarnung gibt, werden die Relais wieder geschaltet, sodass der Kontakt zur Antenne gegeben ist.
Außerdem ist es möglich vor Ort über die Taster in den manuellen Modus um zu schalten und dann über die beiden anderen Taster die Relais an- und auszuschalten. Damit wird die Automatik, die bei Gewitterwarnung die Relais abschaltet temporär deaktiviert. Diese Funktion steht auch auf einem Webinterface zur Verfügung, da sich der ESP32 ins lokale WLAN einklinkt.
Durch das JSON Interface der Software, lässt sich dieser auch in Smart Home Lösungen integrieren.
Der Code befindet sich unten auf der Seite.
Probleme
Zu Anfang hat Das APRS-iGate kaum Signale empfangen.
Um dem Problem auf die Spur zu kommen, habe ich verschiedene Einstellungen für GAIN bei pymultimonaprs probiert, die jedoch nicht zielführend waren. Also habe ich mir das APRS Signal als Ton auf meinen Rechner gestreamt.
Der Stream kann nach der Installation einiger Komponenten wie folgt geöffnet werden. Möchte man den Stream als root ausführen muss der Erste Befehl einmalig ausgeführt werden:
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.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.