Energie-
Verbrauch
Bewegungs-
melder
ioBroker-DHT22
ioBroker-
Laufschrift
ioBroker LED-
Thermometer
ioBroker-OLED
ioBroker
Multi-OLEDs
ioBroker
Mini-Mülltonne
Ball on Plate
Sonstige
Basteleien
| ioBroker Mini-Mülltonne 27.01.2023 | |||
| https://youtu.be/qHmuvpSA8mk | |||
| Einleitung: Wer kennt es nicht?: Mal wieder vergessen, die Mülltonne zur Entleerung bereitzustellen :-( Als Erinnerungshilfe bietet sich hier der Google-Kalender an. OK, die Abholtermine sind dann zwar im Kalender drin, aber wie werde ich darauf aufmerksam gemacht? eMail, Push-Nachricht, o.ä ? - Das wären zwar Möglichkeiten, aber wenn das Handy/Tablet nicht in Reichweite ist und man dann nicht sofort reagiert, besteht abermals die Gefahr, daß trotzdem vergessen wird, die entspr. Mülltonne raus zu stellen. Abhilfe kann hier evtl. mein kleines Gadget, die "Mini-Mülltonne" schaffen. Das ist eine mit dem 3D-Drucker ausgedruckte Mülltonne, die einen Tag vor der Abholung in der Farbe der entspr. Müllart blinkt. | |||
| Funktions-Prinzip: 
 |   |   |   |  | 
| 3D-Druck: | |||
| Die Druckdateien für die Tonne und den Deckel kann man hier herunterladen: https://www.thingiverse.com/thing:4097960 ( dort werden allerdings nur 2 einzelne RGB-Leds verwendet und auch das Fumktions-Prinzip ist anders !) Ich habe mit weißem PLA-Filament (damit die LEDs durchscheinen) und einer Layerhöhe von 0,2mm gedruckt. Der Deckel wurde anschl. mit Sprühlack schwarz gespritzt, die Räder mit einem Filzstift ebenfalls schwarz gefärbt. Zu beachten ist, daß bei der Mülltonne eine Stützstruktur/Support notwendig ist, weil ein dort ein Schlitz, bzw. Überhang ist, in den später der WEMOS D1 mini eingeschoben wird. Hinweis: Nach dem Ausdruck und Entfernen der Stützstruktur ist evtl. etwas Nacharbeit mit einer Feile notwendig, damit der WEMOS in den Schlitz passt. Optional: Ich wollte gerne, daß der Deckel ein wenig geöffnet ist, dann störte aber die direkte Sicht auf die doch recht hellen oberen LEDs. Deshalb habe ich aus einem alten LED-Panel ein Stück aus der Diffusor-Platte ausgeschnitten und passgenau oben auf die Mülltonne geklebt. |   | ||
| ioBroker iCal-Adapter: | |||
| Wie eingangs schon erwähnt, werden im Google-Kalender 4 einzelne Kalender ( Gelber Sack, Biomüll, Restmüll, Papier ) als ganztägige Termine benötigt.   
Achtung: Genaue Schreibweise beachten !!! . Der ical-Adaper legt dann unter ical.0.events.1 insgesamt 4 Objekte namens Gelber Sack, Biomüll, Restmüll, Papier an. Hinweis: Bei mir werden die Objekte unter ical.1 angelegt, da ich 2 Instanzen für ical betreibe. Bei einem Nachbau muss der Pfad im JavaScript entspr. der iCal-Instanz angepasst werden: z.B ical.0.events.1.GelberSack, bzw. ical.1.events.1.GelberSack | |||
|   ( Zum Vergrößern: Rechte Maustaste -> Grafik in einem neuen Tab öffnen ) | |||
| Javascript: Ein Javascript ( Download: MiniMuelltonne.js ) erstellt anhand der iCal-Datenpunkte unter javascript.0.MiniMuelltonne insgesamt 8 Objekte namens led_01 - led_08. In diese Datenpunkte wird dann die entspr. "Müllfarbe" geschrieben, bzw. "off", wenn morgen keine Müllabholung ansteht. | |||
|   ( Zum Vergrößern: Rechte Maustaste -> Grafik in einem neuen Tab öffnen ) Hinweis: Um ein wenig Strom zu sparen, werden von den 8 LEDs nur jeweils 2 LEDs erleuchtet. In der obigen Grafik z.B.: led_01 = yellow und led_05 = yellow, also erfolgt morgen die Abholung des Gelben Sackes. | |||
| Hardware: 
 Zur Hardware gibt es nicht viel zu sagen: 1 WEMOS D1 mini, an den ein WS2812B LED-Stripe mit 8 LEDs angeschlossen ist. Die Datenleitung des Stripes ist mit PIN D7 ( = GPIO 13 ) des WEMOS verbunden. Der WEMOS D1 mini wird schräg in die Mülltonne eingeschoben und dann mit sanfter Gewalt nach unten gedrückt, bis er waagerecht auf dem Boden liegt und die USB-Buchse für die Spannungsversorgung gut von hinten erreichbar ist. Natürlich müssen alle Lötarbeiten (sind nur 3 Kabel WEMOS <-> LED-Stripe ) vorher abgeschlossen sein. Ich empfehle, die 3 Kabel ( Data, +, -) direkt von oben auf die WEMOS-Platine zu löten und keine Steck-/Buchsenleiste zu verwenden, da es sonst u.U. zu unschönen Schattenwürfen kommen kann. Der LED-Stripe wird anschl. einfach an die innere Rückwand der Mülltonne geklebt. |   ( Zum Vergrößern: Rechte Maustaste -> Grafik in einem neuen Tab öffnen ) | ||
|   |   | ||
| ( Zum Vergrößern:  Rechte Maustaste -> Grafik in einem neuen Tab öffnen ) | |||
| Arduino-Sketch: Last but not least, hier der Arduino-Skletch zum Download: Mini-Muelltonne.ino _______________________________________________________________________________________________________ Achtung !!! : Es wurde mit dem etwas älteren esp8266 core V2.7.1 compiliert Achtung !!! ( mit den neueren cores ab V 3.0.0 in Verbindung mit der FasLed-library bricht das Compilieren ab, siehe z.B. hier: https://forum.arduino.cc/t/esp8266-core-3-0-und-fastled/921375" ) Um die ältere V2.7.1 zu installieren, in der Arduino-IDE auf Boardverwalter --> esp8266 --> Version auswählen und dort die 2.7.1 anklicken. Es dauert dann eine Weile, bis die V 2.7.1 installiert ist.   ( Zum Vergrößern: Rechte Maustaste -> Grafik in einem neuen Tab öffnen ) Danach den Sketch Mini-Muelltonne.ino compilieren und auf den WEMOS hochladen. Hinweis: Wenn gewünscht, kann nach dem Compilieren und Upload des Sketches auf den WEMOS, wieder in in gleicher Weise auf die (momentan) aktuelle V 3.1.1 umgestellt werden. _______________________________________________________________________________________________________ Mit dem Arduino-Sketch verbindet sich der WEMOS D1 mini zuerst mit dem heimischen WLAN. Ich bin ein Freund statischer IP-Adressen, deshalb müssen im Sketch die eigenen! Netzwerkparameter eingetragen werden. //######################################################################################## // Hier die eigenen Netzwerk-Parameter eintragen !!! IPAddress ip(xxx, xxx, xxx, xxx); // statische ip-adresse IPAddress gateway(xxx, xxx, xxx, xxx); // ip-adresse router IPAddress subnet(255, 255, 255, 0); // subnet-mask IPAddress dns(xxx, xxx, xxx, xxx); // ip-adresse dns-server = router const char* ssid = "xxxxxxxxxx"; // WLAN SSID const char* pwd = "xxxxxxxxxx"; // WLAN Password const char* mqtt_server = "192.168.192.29"; // IP-Adresse MQTT-Adapter in ioBroker (auf die eigene IP anpassen!) int mqtt_port = 1883; // MQTT-Port in ioBroker (muss evtl. angepasst werden. wenn mehrere MQTT-Broker laufen!) const char* OTA_host = "Mini-Muelltonne"; // Name des virtuellen Ports in der Arduino-IDE, fuer OTA-Flashing //######################################################################################## So lange das WLAN noch nicht verbunden ist, läuft auf dem LED-Stripe eine farbige "Regenbogen"-Animation. Wurde das WLAN verbunden, wird sich mit dem MQTT-Adapter auf dem ioBroker verbunden - dann leuchten alle LEDs rot. ( Hinweis: Der MQTT-Adapter in ioBroker ist als Server/Broker eingestellt und bei den MQTT-Einstellungen muss unter "Prefix für alle Topics" javascript.* manuell eingetragen werden. ) Danach pulsieren jeweils 2 LEDs des LED-Stripes in der entspr. "Müllfarbe" - natürlich nur, wenn am nächsten Tag eine Müllabholung ansteht. Warum pulsieren nur 2 LEDs und nicht alle 8 vorhandenen? --> Die Helligkeit von 2 LEDs reicht aus, um die Mülltonne homogen pulsieren zu lassen, außerdem erspart es etwas Strom. Es kann vorkommen, daß an manchen Tagen 2 Mülltonnen geleert werden, dann pulsiert die Mini-Mülltonne abwechselnd in den entspr. Farben. Hinweis: Bitte die Namen der Farben und RGB-Werte sowohl im Sketch, als auch im Javascript nicht verändern, dann funktioniert das ganze Zusammenspiel nicht mehr ! Wenn man allerdings weiß, was man macht, können die Farben aber dem eigenen Gusto angepasst werden. | |||