Erstellt am 03.12.2024
Vorgeschichte
Neulich war es wieder soweit. Im Halbschlaf gegen 6 Uhr früh höre ich die Müllabfuhr in der Nachbarschaft rumoren. Siedend heiß fällt es mir wieder ein: Du hast letzten Abend die Tonne nicht raus gestellt! Also im Schweinsgalopp den Morgenmantel um die Hüften geschwungen, zur Tür hinaus, hektisch den Nummerncode von der Garage eingetippt, mit einem Surren wird die Tür entriegelt, auf den Garagentordrücker gehauen und ächzend langsam fährt das Tor hoch. Unter dem sich öffnenden Spalt erspähe ich das Müllfahrzeug aber als das Tor endlich soweit offen war, dass ich die Tonne hinausbringen konnte, da war die Müllabfuhr auch schon vorbei gesaust und ich sehe nur noch die Rücklichter beim nächsten Haus blitzen. Verdammt! Und verdammt kalt ist es diesen Morgen auch noch, nun gut, den Morgenmantel gegen die Kälte weiter zugeschnürt schiebe ich die Tonne wieder zurück in die Garage. In zwei Wochen, wenn die Abfuhr das nächste mal kommt, darf ich es dann aber wirklich nicht vergessen! Sonst ist der Müll ganz unten dann sechs Wochen in der Tonne, was sich allmählich auch geruchlich bemerkbar machen dürfte.
Zurück im warmen Haus ist mein Erfindergeist geweckt. Vor einiger Zeit hatte ich bereits den Müllkalender der Stadt in mein Heimautomatisierungspanel eingebunden. Das nutzt dann bloß alles nichts, wenn man nicht auch regelmäßig auf das Dashboard schaut. Nun könnte man sagen, dass es doch nicht so schwer ist, sich zu merken, wann welche Tonne dran ist, aber aus Gründen, die sich mir noch nicht erschlossen haben, ändert sich das gerne mal. Im Herbst kommt Recycling zusammen mit der Biotonne jede Woche, im Frühjahr kommt nur die Recyclingabholung wöchentlich und die Biotonne alle zwei Wochen. Der Restmüll kommt eigentlich immer alle zwei Wochen, aber nicht am gleichen Tag wie Recycling oder Biomüll. Nunja, irgendwo dazwischen verliere ich dann gerne mal die Übersicht und dann kommt es eben, wie es kommen muss.
Schön wäre es doch, wenn ich ein Display haben könnte, was mich in auffälliger Weise am Abend vor der Abholung informiert, welche Tonne(n) ich denn nun genau auf die Straße stellen muss und genau das habe ich mit dieser Bastelei verwirklicht. In ferner Zukunft werde ich mir vielleicht auch mal einen Trash Train basteln, das werdet ihr dann ebenfalls hier finden.
So wirds gemacht
Als Herzstück kommt wie inzwischen bei fast jedem Bastler ein ESP32 zum Einsatz. Eine (drahtlose) Netzwerkverbindung ist heute eigentlich nicht mehr wegzudenken und die Einbindung in die Hausautomatisierung ist damit ein Kinderspiel. Die Ansteuerung erfolgt dabei über MQTT und die Homie Convention. Das ist super einfach zu implementieren und bringt meine Anzeige ohne Probleme mit der Automatisierungssoftware (OpenHAB oder HomeAssist) zusammen.
Für die Anzeige fahre ich Zweigleisig ein kleines TFT Display zeigt mir an welche Tonne(n) genau abgeholt werden, ein Acrylglas das ich mit einem Laser ausgeschnitten habe wird von ein paar LEDs angeleuchtet und ist auffällig genug, dass ich es nicht übersehen kann.
Auf der Bucht hab ich dafür einfach einen fertigen Acrylglashalter mit integrierten LEDs bestellt, weil das inzwischen so günstig ist, dass es sich einfach nicht lohnt, da noch selber stundenlang zu bohren, fräsen und löten.
Die eigentliche Finesse kommt dann aus der Software. Die LEDs werden über einen einfachen 2N2222 Transistor angesteuert. Das Display ist eines dieser 240x240 Pixel Runddisplays was zusammen mit dem runden Acrylglas eine hübsche Kombination ergibt. Je nach Version des Displays haben diese einen Schalteingang für die Hintergrundbeleuchtung. Nachdem mein TFT das nicht hatte schalte ich das komplette Display ebenfalls via Transistor (2N3904) ein und aus, damit es nicht die ganze Woche über leuchtet.
Einen Schaltplan habe ich hier für euch zusammen gestellt:
Und eine Liste der Bauteile findet ihr ebenfall hier:
Anzahl | Beschreibung | Bauteil |
---|---|---|
1 | LED Acrylglas Beleuchtung | Holz LED Licht Basis |
1 | ESP32 Developer module | ESP32 Devkit |
1 | TFT Rund Display | GC9A01 TFT Display |
1 | 2N2222 Transistor | 2N2222 |
1 | 2N3904 Transistor | 2N3904 |
Sortiment | Widerstände | Widerstand Sortiment |
1 | Lochrasterplatine 5x7 cm | Platine 5x7 |
In die Heimautomatisierung einbinden
Die Software verbindet sich zunächst mit dem WLAN und dann auf den MQTT Server. Hier werden die Messages passend zur Homie Convention gesendet, sodass es als neues Gerät in der Hausautomatisierung eingebunden werden kann. Das habe ich so bereits für mein LED Dimmer Projekt verwendet. Ich werde hier kurz auf die Konfiguration mit OpenHAB eingehen. Vor vielen Jahren hatte ich meine Heimautomatisierung mit OpenHAB gestartet (als es noch nicht so klar war, das HomeAssist der Quasistandard wird) und bin daher eben immer noch damit unterwegs. Nachdem man das Gerät von der Inbox als neues Thing hinzugefügt hat, kann man in der Channelkonfiguration die Channels jeweils einem Item zuordnen. Das ist in meinem Fall einfach ein String Item an das man dann entweder ON oder OFF senden kann.
Auf dem ESP32 wird im Flash ein PNG mit den Mülltonnensymbolen hinterlegt. Ich habe mir dazu vom ChatGPT ein schönes Bild mit den drei Tonnen erstellen lassen. Je nachdem welche Tonne aktiviert wird, wird der Bildausschnitt mit der relevanten Tonne gezeigt, also Restmüll, Recycling oder Recycling zusammen mit der Biotonne. Zusätzlich werden die LEDs aktiviert die das Acrylglas beleuchten. Für die extra Portion Aufmerksamkeit lass ich die LEDs alle paar Sekunden etwas herunter und wieder hoch dimmen. Um das Display etwas zu schonen schalte ich es schließlich um kurz nach Mitternacht aus und dann in der Früh wieder ein. Das sind die Cron Funktionen aus der Setup Routine.
Den Code könnt ihr hier herunter laden: binalert.zip
Ihr müsst lediglich noch eure eigenen WLAN Zugangsdaten eintragen. Ich habe das statisch im Code gelassen und war zu faul noch den WiFiManager zu implementieren. Wie heißt es so schön: No project is ever complete it is only ever good enough. Und ein statischer WLAN Key ist für dieses Projekt eben good enough.
Vergesst nicht das PNG in eine separate SPIFFS Partition zu laden. Wenn ihr das Projekt in PlatformIO importiert ist es bereits im data Ordner, ihr müsst es wirklich nur noch flashen.
Mit der Hausautomatisierung sind den Ideen dann fast keine Grenzen gesetzt. Im Moment schaltet OpenHAB mein Display um 18:00 Uhr am Vortag ein um es dann am nächsten Tag (dem Abholtag) zur selben Zeit wieder auszuschalten. Man könnte hier aber z.B. auch Vibrationssensoren an den Tonnen verbauen um dann genau zu verfolgen, wann die Tonnen abgeholt wurden.
Als Abschluss hier noch ein kurzes Video von der Anzeige und dem OpenHAB Panel mit ebenfalls einer Tonnenanzeige.
Video Download