Allgemein

Wetterstation, Teil 3

Ein weiterer Schritt zur Ablösung der alten Wetterstation ist geschafft. Die Daten der neuen Station landen in einer neuen Datenbank. Es bedurfte allerdings vorher erstmal einer kleinen Auffrischung der PHP-Kenntnisse. Es ist immer wieder erstaunlich, wie schnell man Sachen vergisst, die man nicht ständig nutzt.
Kleines Problem: die Wetterstation sendete ungefähr alle zwölf Sekunden einen Messwert in meine neue Datenbanktabelle. Für meine Zwecke ist das viel zu oft. Also hieß es, die zu viel gesendeten Datensätze zu recyclen ;-):
Auch das stellte mich am Anfang vor eine kleine Herausforderung, die mit einem kurzen Eintrag in der Datenbank meines Webservers gelöst wurde. Erst fragte ich dazu einfach den Timestamp des letzten Eintrags in meiner Wetterdatenbank ab und schaute, ob die Mindestzeit bis zum nächsten Eintrag schon verstrichen ist.
Das funktionierte, reduzierte aber nicht den Traffic auf dem Rechner im heimischen Netzwerk – und den wollte ich ja eigentlich reduzieren. Also verlagerte ich die Abfrage auf den Webserver und siehe da – schon lief der Rechner zu Hause um einiges flüssiger ;-).
Im nächsten Schritt müssen nun noch die Skripte angepasst werden, die die hübschen Wettergrafiken 😉 hier im Blog erstellen. Weil es aber gerade wieder nicht nach Regen aussieht und ich die Zeit dann lieber im Garten verbringe, muss das noch etwas warten. 🙂

Wetterstation, Teil 2

Nachdem das schöne Sommerwetter erstmal Platz für den Herbst gemacht hat, habe ich endlich wieder Zeit gefunden, mich mit der neuen Wetterstation, bzw. der Auswertung der von ihr gelieferten Daten zu beschäftigen.

Am Anfang schien die Sache ziemlich einfach, aber wie immer steckt der (Fehler-)Teufel im Detail. Jedenfalls dauerte es eine ganze Weile, bis die erste korrekte Datenübermittlung beim Server ankam. Inzwischen klappt das und ich kann mit der Auswertung beginnen. Als Laie in Sachen Wetterstation musste ich nun erstmal herausfinden, was sich z.B. hinter dem übermittelten Wert „baromin“ verbirgt.

Bei allen anderen Werten war das nicht schwer, offenbar werden diese Stationen hauptsächlich für den amerikanischen Markt gebaut – das liegt nahe, wenn da Werte wie „windspeedmph“ oder „indoortempf“ übermittelt werden. Entsprechend schnell sind die empfangenen Werte dann auch in „vernünftige Daten“ 😉 umgerechnet. Nur bei „baromin“ stand ich kurzzeitig auf dem Schlauch. Das es irgendwas mit Luftdruck zu tun hat, war klar. Nur passte der Wert von 29.93 nicht so richtig zu gängigen Werten in milliBar.

Nach etwas Webrecherche fiel dann der Groschen. Die Angabe bedeutet in/Hg, also dem amerikanischen Pendant zu mm/Hg. Also fix eine passende Formel zur Umrechnung gesucht und schon passte der ermittelte Wert zur Anzeige auf der Station :).

Nur einen kleinen Schönheitsfehler hat die Sache. Die Daten des extra passend zur Station besorgten zusätzlichen Sensors für Bodentemperatur und -feuchte werden nicht mit übertragen. 😳

Also muss ich dafür doch einen Eigenbau-Sensor einsetzen. Funktionieren tut der schon, es fehlt nur noch ein Gehäuse. Und wo ich gerade dabei bin: meine Eigenbausensoren messen eigentlich genau so gut, wie die der Station. Die Unterschiede sind mit minimal. Da freut sich das Bastlerherz.😁

Als nächstes wird am Auswertescript weiter gebastelt. Daten auf Plausibilität prüfen, Eintrag in die Datenbank, usw.. Da kann es ruhig noch ein paar Tage weiter regnen 😉.

Einmal Hacker sein… ;-)

Seit vielen Jahren nutze ich eine Wetterstation im Garten. Sinnvollerweise hatte ich immer eine Station, bei der ich die Messwerte einfach zur eigenen Nutzung und Weiterverarbeitung selbst aus der Station ziehen kann. Im Lauf der Jahre passiert aber, was zwangsläufig mit jeder Technik irgendwann passiert: sie geht kaputt. In meinem Fall verabschiedeten sich von der ersten Station Schritt für Schritt die Sensoren. Bei der zweiten Station kommt eigenes Unvermögen dazu. 🙁
Wenn man schon zur Bespaßung der Hunde Bälle durch den Garten wirft, sollte man so werfen, dass die Außensensoren nicht im Weg sind…
Also reifte der Entschluss, bei nächster Gelegenheit etwas neues zu beschaffen. Nun kam es so, dass ein Angebot eines Discounters und der nahende Geburtstag Anlass zur Neubeschaffung einer neuen Station boten.
Im Vergleich zu anderen Angeboten war das Angebot des Discounters fast 150€ preiswerter. Schnäppchen also!
Aber wie das immer so ist: Kein Vorteil ohne nicht mindestens zwei Nachteile! Bei dieser Station (Bresser 7 in 1) gibt es keine (offizielle) Möglichkeit, auf direktem Weg an die Wetterdaten zu kommen. Zwar besteht die Möglichkeit des Anschlusses an das heimische WLAN, aber man kann die Daten dann nur über den Umweg wunderground.com (funktioniert bei mir nicht) oder weathercloud.net(funktioniert) bekommen. Da ich die Daten, speziell die Niederschlagsmenge, zur Steuerung meiner Gartenberegnung (Eigenbau, später vielleicht dazu mehr…) nutzen möchte, ist so ein Umweg natürlich suboptimal und fehleranfällig. Also begann ich über alternative Lösungen nachzudenken und entwickelte mich zum „Hacker“ ;-).
Alles, was per Netzwerk irgendwohin übertragen wird, kann man mit den passenden Werkzeugen ausschnüffeln. In meinem Fall war das mein Linux-Desktop und Wireshark. Zunächst ermittelte ich die IP-Adresse der Wetterstation im WLAN. Das war nicht schwer, weil mein Router mir jedes neue Gerät im Netzwerk per Mail petzt.
Als nächstes nutzte ich eine versteckte Funktion im Router dazu, den Netzwerkverkehr „nach draußen“ aufzuzeichnen. Diese Datei öffnete ich in Wireshark, setzte einen Filter mit der IP der Wetterstation und siehe da… die ist so „gesprächig“, dass sie die Daten im Klartext mittels eines einfachen Aufrufs einer URL überträgt. In diesem Fall ging der Aufruf der URL an wunderground.com. Allerdings endete dieser Aufruf permanent mit einer Fehlermeldung der Webseite (unauthorized – warum auch immer…).
Jetzt gäbe es die Möglichkeit, im lokalen Netz einen eigenen DNS-Server zu betreiben und den Aufruf an einen eigenen Server umzuleiten. Das war mir aber zu aufwändig. Es gibt da nämlich im Setup der Wetterstation noch die Möglichkeit, einen anderen „Wetterserver“ einzutragen. Nach etwas Frickelei und dem nochmaligen Einsatz von Wireshark war es dann geschafft – die Station „telefoniert“ jetzt mit meinem eigenen Server. Die Verbindung mit dem „Wetterserver“ funktioniert nämlich haargenau so, wie die mit wunderground.com. :).
Jetzt muss ich mir nur noch ein kleines php-Script schreiben, dass die Daten entgegen nimmt und in meine eigene Datenbank schreibt.

Alles neu macht der Mai…

Ok. Es war vielleicht auch schon Juni. Aber egal, höchste Zeit für den Umzug auf einen neuen Server war es allemal. Leider bedingt der immerwährende technische Fortschritt auch einige Änderungen, bewährtes wird über Bord geworfen und man muss sich einen Kopf machen, wie man die Dinge trotzdem zum Laufen bekommt.
Bei diesem Umzug hat es das Wetter-Plugin in der Seitenleiste erwischt. Momentan ist es jedenfalls erstmal wech… 🙁
Aber ich arbeite daran. Gut Ding will Weile haben.

Alle Jahre wieder…

… kommt die Weihnachtszeit und mit ihr jede Menge Lichterkram, den die beste aller Ehefrauen leuchten lassen möchte.
Bei so viel Kram stellt sich die Frage, wer das alles jeden Abend ein- und wieder ausschalten soll, zumal viele Steckdosen nur unter erschwerten Bedingungen zugänglich sind. Die erste Wahl fiel auf einfache mechanische Zeitschaltuhren. Aber bei diesen Dingern lässt sich die Zeit/Schaltzeit nur relativ ungenau einstellen und es sieht doof aus, wenn die Lichter in dem einen Fenster eine halbe Stunde später als im anderen Fenstern eingeschaltet werden. Außerdem lässt sich nur eine Schaltzeit einstellen, unterschiedliche Schaltzeiten für Wochentage/Wochenende sind nicht drin.

Variante zwei sind/waren Funksteckdosen. Diese lassen sich prima über einen Raspberry Pi mit angeschlossenem 433Mhz-Funkmodul und der Software Pilight steuern. Das funktioniert super, da sich über den Raspberry quasi unendlich viele Schaltzeiten programmieren lassen. Nachteil: jeder andere mit etwas Bastelgeschick kann das auch tun, weil die Funkübertragung unverschlüsselt geschieht.
Mit einem simplen Befehl kann man sehen, was in der Nachbarschaft so an Funksignalen durch die Luft wandert und wenn man wollte, könnte man die Nachbarn zur Verzweiflung treiben, indem man ihre Steckdosen lustig ein- und ausschaltet. Aus diesem Grund kommen diese Steckdosen bei. mir kaum noch zum Einsatz.

Variante drei sind Steckdosen, die sich per WLAN schalten lassen. Die gibt es von diversen Herstellern im Internet und im Baumarkt zu kaufen. Die funktionieren auch prima, haben aber den Nachteil, dass jeder Hersteller sein eigenes Süppchen in Sachen Software kocht, dass man die Dose vom letzten Jahr oft nicht mehr nachkaufen kann und die neue Dose wieder eine eigene App für ihre Steuerung mitbringt. Außerdem funktionieren diese Apps meist nur über einen Server beim Hersteller und sie „telefonieren“ oft ungehemmt viele Daten „nach Hause“. Zudem klaffen in vielen dieser Dinger Sicherheitslücken, die das heimische Netz unter Umständen für Angreifer wie ein Scheunentor offen stehen lassen…

Eines haben diese Teile aber fast alle gemeinsam: in ihnen werkelt ein Chip vom Typ ESP8266. Und für den gibt es im Netz alternative, quelloffene Software, die sich mit wenig Aufwand in die Steckdosen „verpflanzen“ lässt. Das funktioniert super, man wird den Zwang, die App des Herstellers zu verwenden los, ohne Funktionen zu verlieren. Ganz im Gegenteil.

Schon im letzten Jahr hatte ich einige Steckdosen im Baumarkt mit den drei Buchstaben erworben und mit Tasmota geflasht. Die funktionieren seitdem problemlos und es wuchs der Wunsch, den „Rest“ der Weihnachtsillumination auch noch automatisiert zu schalten. Also erwarb ich wieder vier Dosen. Allerdings stellte sich nach dem Öffnen selbiger Ernüchterung ein. Wo im letzten Jahr die erforderlichen Anschlüsse zur Programmierung noch hübsch erreichbar waren, war dieses Mal nichts zu sehen. Das Design der Platine hat sich geändert… Aber: aufgeben gibt‘s nicht!

Das Herz der Dose ist nämlich unverändert ein ESP8266-Modul. Das ist gut dokumentiert und die nötigen Schritte zur Programmierung waren schnell ermittelt.
Wer sich nun selbst an‘s Werk machen möchte, dem seien folgende Hinweise mit auf den Weg gegeben:

 

  • Sobald ihr die Dose öffnet und daran rumfummelt, verliert ihr die Herstellergarantie!
  • Ihr fummelt an einem Gerät herum, dass mit Netzspannung arbeitet! Strom macht klein, schwarz und hässlich! Wenn ihr keine Elektrofachkraft seid und von Strom nur wisst, dass er aus der Steckdose in der Wand kommt, lasst die Finger davon!!!
  • Ihr solltet wissen, wo das heiße Ende am Lötkolben ist und eine ruhige Hand haben!
  • Ihr braucht einen PC (bevorzugt mit Linux als Betriebssystem, auf andere Systeme gehe ich nicht ein!)
  • Ihr braucht einen USB zu seriell-Konverter, der mit 3,3V Betriebsspannung klar kommt.

Wenn Ihr jetzt noch weiter lest, gehe ich davon aus, dass Ihr meine Warnhinweise gelesen und verstanden habt.

 

Steckdose vom Baumarkt

Wenn Eure Steckdose so aussieht, wie diese, seid ihr auf dem richtigen Weg. Um darauf die neue Software installieren zu können, führt um’s Öffnen kein Weg herum. Ihr benötigt dazu einen speziellen Schraubendreher. Habt Ihr den nicht in Eurer Werkzeugkiste, dann lasst die Finger davon! An dieser Stelle nochmal der Warnhinweis: NETZSPANNUNG ist lebensgefährlich!

Wenn Ihr die Dose öffnet, dann sollte sie unbedingt spannungslos sein, sprich Stecker raus!!! Anders kommt man zwar an die Schrauben zum Öffnen des Gehäuses nicht heran, aber man weiß ja nie..

Habt Ihr das Gehäuse geöffnet, sollte der Lötkolben jetzt angeheizt werden. Insgesamt müssen sechs Lötstellen bearbeitet werden. Das wären die Verbindungen vom ESP8266 zum USB-seriell Konverter (3,3V, GND, TXD, RXD) und eine Brücke am ESP von GND nach IO0. Letztere wird benötigt, um den Chip nach dem Start in den Programmiermodus zu versetzen.

Habt Ihr alles ordentlich verkabelt, ist es jetzt Zeit, den softwaretechnischen Teil anzugehen. Um den Chip programmieren zu können, benötigt Ihr Python auf Eurem Rechenknecht, das esptool und natürlich die Binärdatei von Tasmota. Auf Github gibt es die Quellcodes (falls Ihr das selbst kompilieren und anpassen möchtet…) und fertige Binärdateien. Letztere erleichtern die Arbeit enorm. Für meine Zwecke habe ich tasmota-DE.bin verwendet.
Habt ihr das ESPtool heruntergeladen, entpackt es in ein Verzeichnis eurer Wahl und kopiert die Tasmota-Binaries in das gleiche Verzeichnis.

 

 

Eure Verkabelung sollte jetzt etwa so wie auf dem Bild links aussehen. Auf der linken Seite des Chips ist der zweite (RXD), dritte (TXD) und neunte (GND) Pin belegt. RXD vom Chip kommt am seriell-USB-Konverter an TXD, TXD vom Chip an RXD vom Konverter.
Auf der rechten Seite sind die obersten zwei Pins (GND und IO0) gebrückt, der unterste Pin wird mit 3,3V vom Konverter verbunden.
Bevor es nun an’s Flashen geht, prüft die Verkabelung zur Sicherheit nochmal! Einmal GND und 3,3V vertauscht und euer Chip raucht ab. Das muss man nicht haben!
Öffnet nun am PC ein Terminal und wechselt in das Verzeichnis, in das ihr das ESPtool entpackt habt. Verbindet nun den USB-Seriell-Konverter mit dem PC. Wenn ihr es sinnvoll findet, könnt ihr nun zunächst das originale Programm des Chips auslesen und sichern. Ich persönlich verzichte darauf. Wozu sollte ich das noch brauchen können? Nach dem Öffnen und herumlöten ist die Garantie eh futsch und das Ziel ist es ja, eine neue Software zu verwenden. Also wer mag, tippt folgendes ab:

python esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x200000 orginal-firmware.bin

Nach dem das geklärt ist, wird es Zeit, den Chip platt zu machen, sprich die vorhandene Firmware zu löschen:

python esptool.py --port /dev/ttyUSB0 erase_flash

Ohne neue Software hättet ihr an dieser Stelle nun nur noch Elektronikschrott. Deshalb starten wir jetzt den Upload der neuen Firmware:

python esptool.py --port /dev/ttyUSB0 write_flash -fs 2MB -fm dout 0x0 sonoff-DE.bin

Ist alles ohne Fehlermeldung durchgelaufen, könnt ihr wieder zum Lötkolben greifen und die Programmierverkabelung zurückbauen. Sie wird nicht mehr benötigt und künftige Softwareupdates werden OTA („over the air“) per WLAN überspielt. Schraubt die Dose wieder zusammen, kontrolliert nochmal alles auf mögliche Beschädigungen am Gehäuse und verbindet die Dose dann mit dem Stromnetz. Nach kurzer Zeit sollte die rote LED (Power) etwa im Sekundentakt blinken.

Die Dose hat jetzt einen eigenen WLAN-Hotspot gestartet. Verbindet euren PC oder ein Smartphone mit dem Hotspot. Der Name des Netzes beginnt mit „sonoff-XXXX“ wobei „XXXX“ für eine beliebige Zahlenkombination steht. Diesen Namen solltet ihr euch notieren. Ruft nun mit einem Webbrowser die IP-Adresse 192.168.4.1 auf. Auf dieser Seite könnt ihr die Zugangsdaten eures WLAN eintragen. Nach dem Speichern und dem darauffolgenden Reboot loggt sich die Dose in euer WLAN ein. Die weitere Konfiguration geschieht wieder per Browser. Ruft dazu die Seite http://sonoff-XXXX auf. (Ihr erinnert euch: das solltet ihr euch vorhin notiert haben… ;-))

 

 

Mal was ganz anderes…

Neulich fand die Frau auf einer Webseite Vorlagen zum Bedrucken von Etiketten für die Rückseite von Aktenordnern zum Download. Die waren ganz hübsch, hatten nur einen Fehler: sie passten nicht zu den vorhandenen Aufklebern. Auf der Vorlage waren fünf Etiketten, auf den Bögen mit den Aufklebern waren nur vier Etiketten…

Nun ja… zwischen vielen anderen Bastelprojekten im Urlaub habe ich mich einfach mal hingesetzt, die Aufkleber vermessen und mit Inkscape ein paar individuelle, neue Etiketten gebastelt. Und die passen jetzt astrein.

Die Frau ist begeistert und wird ihr Büro demnächst mit hübschen Ordnern verzieren und wer mag, darf das jetzt auch.

Neu im Wohnzimmer – die Wort-Uhr

Foto: Wortuhr

Wortuhren sind seit einiger Zeit ja der letzte Schrei in Sachen Uhr – und wenn man sie kaufen will, zahlt man dafür je nach Anbieter und Ausführung ein kleines Vermögen. Aber es geht zum Glück auch anders. Das Zauberwort heißt Eigenbau. Im Netz der Netze kursieren unzählige Anleitungen zum Bau dieser Uhren und ich habe mir das für mich passende daraus zusammengesucht und einfach mal losgelegt.

Die Basis der Uhr bildet ein Bilderrahmen in der Größe 23x23cm aus einem schwedischen Möbelhaus. Leider wird der seit einiger Zeit nur noch mit einer Scheibe aus Plexiglas geliefert, welches relativ dünn ist und deshalb für die Uhr durch eine Glasscheibe aus der Glaserei um die Ecke ersetzt wurde.

Im Inneren der Uhr werkelt ein RaspberryPi Zero W, welcher in der neuesten Version meiner Uhr 114 Neopixel-LEDs ansteuert. Sicher wird jetzt manch Fachmann die Augen verdrehen und sagen, dass das völlige Ressourcenverschwendung ist und es ein kleinerer Mikrokontroller auch getan hätte. Stimmt! Aber: warum sollte ich es mir unnötig schwer machen?

Den Raspi kann ich super in Python programmieren, ich brauche NULL Bedienelemente, habe keine Sorgen wegen der Genauigkeit der Uhr und muss mir keine Gedanken wegen der jährlichen Zeitumstellungen machen. Ein Update der „Firmware“ ist jederzeit problemlos per WLAN möglich und außer einem Netzteil ist keinerlei zusätzliche Hardware zum Betrieb der Uhr nötig.

Foto: Neopixel-Streifen auf der Rückwand des Bilderrahmens

Die Neopixel-LEDs gibt es in diversen Ausführungen zu kaufen. Für die Uhr fiel die Wahl auf LEDs auf selbstklebende Streifen. Diese kann man nach jeder LED teilen und so fast beliebige Designs erstellen. Ich habe sie in 10 Streifen mit je 11 LEDs aufgeteilt. In der zweiten Version der Uhr sind noch vier einzelne LEDs in den Ecken zur Anzeige der genauen Minute verbaut. Das besondere an den Neopixeln ist die serielle Ansteuerung der einzelnen LEDs. Einfach die Versorgungsspannung und die Datenleitung von Streifen zu streifen durchschleifen und fertig. Über die genaue Ansteuerung dieser LEDs lasse ich mich an dieser Stelle nicht aus, wer mehr wissen möchte, bemühe bitte die Suchmaschine seiner Wahl ;-). Dazu gibt es reichlich Informationen auf vielen anderen Seiten. Hier nur soviel: jedes „Neopixel“ besteht aus einer roten, einer grünen und einer blauen LED. Durch Ansteuern dieser einzelnen LEDs mit unterschiedlichen Helligkeitswerten lassen sich fast alle Farben erzeugen.

Foto: Pappstreifen zur optischen Trennung der LEDs

Damit beim Ansteuern einzelner LEDs nicht die benachbarten Buchstaben mit ausgeleuchtet werden, müssen alle LEDs optisch voneinander getrennt werden. Dazu habe ich aus einfacher Pappe zuerst mit der CNC-Fräse, dann mit dem Lasercutter Streifen geschnitten, die dann zusammengesetzt werden und ein passendes Raster ergeben. Darauf wird zur besseren Streuung des Lichts ein Blatt Transparentpapier geklebt. Dann alles Zusammensetzen und in den Rahmen packen – fertig. Naja… fast. Vorher müssen die Buchstaben ja noch irgendwie auf die Glasscheibe. Der erste Schritt dazu bestand in der Anschaffung eines Schneidplotters. Der war nicht ganz billig, aber ich hatte genug gute Argumente, um ihn der besten aller Ehefrauen schmackhaft zu machen ;-). Dank einiger zwischenzeitlich damit für sie angefertigter Bastelprojekte hat sie die Nützlichkeit dieses Teils anerkannt. 😉

Als nächstes entwarf ich mit dem Opensourceprogramm Inkscape das „Ziffernblatt“ der Uhr. Dabei kam ich ziemlich ins Schwitzen, denn es musste auf Anhieb alles passen – in der Packung Folie, die ich bestellt hatte, waren nur zwei Bögen in schwarzer Farbe enthalten und nachbestellen wollte ich nicht unbedingt. Zudem war der Schneidplotter auch noch nagelneu und die richtigen Einstellungen zum Schneiden der Folie musste ich auch erst noch herausfinden.
Zum Glück passte wirklich alles gleich beim ersten Versuch. Auf verschiedenen Webseiten hatte ich zwar viel darüber gelesen, wie man eine Folie am Sichersten auf eine Glasscheibe bekommt, aber wenn man es dann selbst machen muss, sieht vieles anders aus, als in der Theorie… Also noch eine Sprühflasche organisiert, Wasser und ein Tropfen Spülmittel dazu und dann die Glasplatte ordentlich einsprühen. Folie drauf und fertig? So einfach war es dann doch nicht. Aber mit etwas Geduld und dem Nachplotten einiger Buchstaben (R,O,A,D) passte dann doch noch alles super. Bei der zweiten Uhr lief das dann zum Glück viel entspannter.

Wie schon geschrieben, wird die Uhr von einem RaspberryPi gesteuert, auf dem ein Pythonscript läuft. Ganz sicher ist er damit total unterfordert. Aber ich habe so noch genügend Reserven für einen möglichen Ausbau der Uhr. Im Moment zeigt sie nur die Zeit an, aber irgendwann fällt mir bestimmt noch etwas geniales ein, um die Uhr zu erweitern. Auf dem Plan steht zum Beispiel ein Webinterface. Zurzeit hat die Uhr ja keinerlei Bedienelemente. Für die Grundfunktion sind auch keine nötig. Um die Farbe der LEDs, die Helligkeit, einen Wecker oder Timer zu steuern, wäre ein Webinterface eine feine Sache. Damit könnte man vom Computer, Smartphone oder Tablet alles einstellen und anpassen.

Möglich wäre auch der Anschluss eines kleinen Verstärkers und damit z.B. auf Wunsch die Ansage der Uhrzeit oder das Abspielen von Melodien, zum Geburtstag ein gesprochener Glückwunsch, die Erinnerung an Termine und, und, und…

Foto: Wortuhr, Version 2

Der Schaltplan ist an sich auch sehr simpel. In der neuesten Version habe ich noch einen Taster angebaut, der nach dem Drücken ein sauberes Herunterfahren des Raspberries gewährleistet. Dazu fragt ein Pythonscript den Zustand des Tasters regelmäßig ab und setzt nach dem Betätigen das Kommando zum Herunterfahren des Rechners ab.

Außerdem ist für den Fall, dass das WLAN mal nicht zur Verfügung steht und der Raspberry keinen NTP-Server kontaktieren kann, jetzt ein RTC-Modul mit einer DS3231 bzw. DS1307 installiert. So ist sichergestellt, dass immer die korrekte Zeit angezeigt wird.

Und zum Schluss noch der Schaltplan, der zeigt, dass der Schaltungsaufwand wirklich minimal ist…

MicroWordClock

Am Samstag war ich ja am Stand des Makerspace Leipzig auf der Modell-Hobby-Spiel zu Gange. Dort könnte man diverse Sachen erwerben, deren Erlös dem Makerspace zukommt. Unter anderem gab es den Bausatz einer etwas anderen Uhr zu kaufen. Da konnte ich nicht widerstehen und habe zugeschlagen. Natürlich nicht für mich selbst, sondern als Geschenk für das Töchterlein.

Gestern habe ich dann den Computer angeheizt, FreeCAD gestartet und ein Gehäuse für die Uhr entworfen. Ja, das geht sicher noch besser, aber für den ersten Entwurf passt das schon.

Zum Glück lagen in der Bastelkiste noch ein paar Stücke Holz von einem anderen Projekt. So hatte dann die CNC-Fräse auch noch etwas zu tun. Anschließend gleich eine Behandlung mit Holzwachs, Trocknung über Nacht und die Fertigstellung gerade eben.

Und für die Stromversorgung kommt ein sonst nutzlos in der Schublade liegendes Netzteil eines Uralt-Handys wieder zu Ehren.


Neu aus der Bastelstube – die Leselampe

Foto: selbstgebaute LED-BeleuchtungWer kennt das nicht? Im Lauf der Zeit sammeln sich im Haushalt immer mehr Geräte an, die mit Batterien betrieben werden und nicht alle diese Geräte lassen sich mit umweltfreundlicheren Akkus betreiben.

Nach mehr oder weniger langer Zeit stellen diese Geräte dann den Betrieb ein, weil die Spannung der Batterien zu gering geworden ist. Leer sind sie deshalb aber noch lange nicht. Bevor man die Batterien entsorgt, kann man die darin noch vorhandene „Restenergie“ durchaus sinnvoll nutzen.

Von einem anderen Bastelprojekt hatte ich noch einige „Step-up“-Spannungsregler übrig. Diese Regler wandeln eine niedrige Eingangsspannung in eine höhere, konstante Ausgangsspannung um. In diesem Fall wird die „Restspannung“ aus zwei in Reihe geschalteten Batterien in eine Spannung von 5 Volt umgewandelt. Damit lässt sich eine USB-LED-Lampe aus einem bekannten schwedischen Möbelhaus noch eine ganze Weile bequem betreiben. Blöd ist nur, dass der Hersteller des Spannungswandlers so auf platzsparende Platinenentwicklung bedacht war, das es nicht mehr für ein paar Befestigungslöcher gereicht hat.

Zum Glück steht bei mir ja noch ein 3D-Drucker rum. In weniger als fünfzehn Minuten dachte ich mir eine alternative Befestigungsmöglichkeit aus, setzte diese mit FreeCAD in ein 3D-Modell um und druckte anschließend ein passendes Teil aus.

Das Gehäuse der Lampe habe ich ebenfalls wie immer mit FreeCAD „designed“ ;-). Anschließend wurde die Zeichnung mit ESTLCAM eingelesen und die nötigen Fräsdaten für die CNC-Fräse erzeugt. Diese hat dann aus zwei Kiefern-Leimholzbrettern mit 18mm Stärke zwei hübsche Gehäusehälften erzeugt. Zusammengehalten werden die beiden Teile ganz simpel mit jeweils zwei paar Neodymmagneten. Das hält bombenfest.

Ach ja, bevor ich es vergesse, die Halterungen für die Batterien sind natürlich auch selbst entworfen und gedruckt. 😉

Noch schnell etwas umweltfreundliche Wachslasur als Schutz vor Wasser und fettigen Fingern drauf, die Elektronik rein und fertig ist eine hübsche kleine Lampe…

Foto: LED-Lampengehäuse

NestCam2… weiter geht’s

In den letzten Tagen habe ich mal im Internet nach brauchbaren Software-Lösungen für die Foto/Videoaufnahmen mit Bewegungserkennung gesucht. Das Ergebnis ist durchwachsen.
Wenn ich eine Software installiere und die schon beim Probelauf abkackt (Sorry!) dann hat sich das Thema weitestgehend erledigt.
Im Gegensatz zur ersten Nestcam habe ich diesmal keinen „normalen“ RaspberryPi, sondern den RaspberryPi Zero mit WLAN im Einsatz. Leider hat der Pi Zero im Gegensatz zum „normalen“ Raspi nur 512k RAM. Vielleicht lag es daran, dass Pikrellcam mehrfach abgestürzt ist.

Viel Zeit zum Rumprobieren bleibt nun aber nicht mehr, die Piepmätze fangen draußen im Garten schon heftig an zu singen und es wird höchste Zeit, dass der Kasten raus kommt.
Deshalb kommt nun doch erstmal wieder die bewährte alte Methode zum Einsatz. Jede Minute ein neues Bild und jede Stunde wird ein Video aktualisiert. Eventuell verkürze ich den Aufnahmeintervall noch etwas. Normalerweise lässt ein Cronjob ja nur Intervalle im Minutentakt zu, aber in den weiten des Internets habe ich einen Trick entdeckt, mit dem man die Zeit verkürzen kann. Mal schauen… 😉
Jedenfalls läuft die alte Software jetzt erstmal im Trockenen im Testbetrieb und wenn alles klappt, hängt der Kasten spätestens Ende nächster Woche im Garten. Kanns kaum erwarten! 🙂