Der Codest-Kernwert #1
The Codest glaubt an vier entscheidende Werte, die den Kern aller Handlungen der The Codest-Teams bilden. In diesem Artikel erklärt unser CEO und Mitbegründer, Greg Polec, was...
Stellen Sie sich eine solche Situation vor: Es ist 6.00 Uhr an einem Samstagmorgen, Sie liegen gemütlich in Ihrem Bett und schlafen noch tief und fest. Plötzlich hören Sie Ihre Katze an der Tür kratzen, ihr lautes Miauen wird unerträglich und Ihre Katze hat alle Zeit der Welt, Ihnen mitzuteilen, was sie braucht. Wissen Sie, was sie wirklich braucht?
Stellen Sie sich eine solche Situation vor: Es ist 6.00 Uhr an einem Samstagmorgen, Sie liegen gemütlich in Ihrem Bett und schlafen noch tief und fest. Plötzlich hören Sie Ihre Katze an der Tür kratzen, ihr lautes Miauen wird unerträglich und Ihre Katze hat alle Zeit der Welt, Ihnen mitzuteilen, was sie braucht. Wissen Sie, was sie wirklich braucht? Ich weiß es - Ihre Katze will jetzt Futter! Jetzt sofort! Woher ich das weiß? Weil ich irgendwann angefangen habe, meine Katze zu dieser Zeit zu füttern... Und natürlich wurde das zu einer neuen Standardzeit für die Futteraufnahme.
Dieses Szenario hat mich dazu inspiriert, einen Futterautomaten zu bauen, der die morgendliche Katzenfütterung überflüssig macht und die Katze bei Laune hält.
Die erste Generation des Katzenfutters war eine einfache MVP aus etwas Karton, einem einfachen Servo und ESP WeMos. Mit einem Servo wurde der obere Behälter um 180 Grad gedreht, um das Essen auszugeben.
Ein Mikrocontroller war mit meinem lokalen Wi-Fi verbunden und kommunizierte mit dem Smart Home-Server, auf dem HomeAssistant läuft, über das MQTT-Protokoll. So konnte ich das HomeAssistant-Automatisierungssystem nutzen, um die Fütterung und Futterausgabe über Google Home-Befehle zu planen. Jede Fütterung wurde als ein spezielles Ereignis im Google-Kalender definiert. So konnte ich die Fütterungszeit der Katze leicht kontrollieren und bei Bedarf ändern.
Natürlich stieß diese Generation auf einige Probleme:
Wie bei den meisten MVPs wurde es nur 2 Jahre lang benutzt, bis es kaputt ging.
Ich habe beschlossen, dass die nächste Katze Futtermittel sollte:
Ich begann den gesamten Prozess mit dem Entwurf von Grundelementen für die Aufteilung der Lebensmittel. Als die Entwürfe dann fertig waren, wurden alle Elemente mit dem Creality Ender-3 und PLA gedruckt.
Nachdem ich mich vergewissert hatte, dass alles funktionierte, machte ich mich an die Gestaltung und den Druck der restlichen Teile:
Es hat spezielle Stellen für Schrauben, um die Installation des Raspberry Pi zu erleichtern. Außerdem befindet sich auf der Vorderseite ein kleines Loch für den einfachen Zugriff auf die SD-Karte des Raspberry Pi.
Dieses Kunststoffteil dient zum Aufstellen eines Futternapfes aus Metall (natürlich wurde es mit Goldfäden bedruckt, zum Ruhm und zur Ehre meiner Katze). Er ist mit 2 Neodym-Magneten mit dem Sockel verbunden.
Diese Ebene dient dazu, den Servo zu halten, während er das Teil auf der nächsten Ebene dreht. Sie hat auch eine kleine Neigung, um das Essen besser servieren zu können.
Es handelt sich um eine einfache, allgemeine Wasserwaage, die Lebensmittel aus einem darüber stehenden Behälter portioniert. Sie wird durch den Servo gedreht.
Dieses Teil dient zum Halten des Lebensmittelbehälters. Es ist das einzige Kunststoffteil, das nicht 3D-gedruckt wurde. Ich wollte den Kontakt mit Lebensmitteln bei 3D-gedruckten Teilen minimieren. Theoretisch enthält transparenter PLA-Kunststoff keine giftigen Schadstoffe, aber ich habe den billigsten Müslispender gekauft und das Teil für den Lebensmittelbehälter genommen, nur um auf Nummer sicher zu gehen. Außerdem sieht er wirklich cool aus.
Die letzten beiden Teile waren das Gehäuse und der Deckel. Nichts Besonderes hier, außer mehr Gold, damit es besser aussieht und die Bewunderung der Katze gewinnt.
Auf dem Raspberry Pi läuft ein Raspbian, das mit dem Ansible-Spielbuch um diese Dienste zu betreiben:
MotionEye ist eine Open-Source-Software, mit der Sie Ihre eigene private Überwachung aufbauen können. Sie erkennt jede an den Raspberry Pi angeschlossene Kamera. Zusätzlich erhalten Sie eine Bewegungserkennung, einen Endpunkt zum Teilen des Streams und Webhook-Unterstützung.
Dieser Dienst steuert die Drehung des Servos. Es ist eine einfache Python Skript, das sich mit dem MQTT-Server verbindet, auf dem meine Smart-House-Software läuft, und auf eine Nachricht wartet, um die Rotation auszulösen.
Genau wie der Servo-Service implementiert er ein Protokoll für Lichtquellen, die über MQTT in HomeAssistent.
Und schließlich die HomeAssistant-Automatik, die die Fütterung auslöst.
Sie löst die Ausgabe von Lebensmitteln in zwei Situationen aus:
Diese Automatisierung Code sieht so aus:
- alias: Füttere die Katze
Auslöser:
- Plattform: Staat
Entity_id: 'binary_sensor.iss'
von: 'aus'
zu: 'ein'
- Plattform: Staat
Entity_id: calendar.cat_feed_schedule
von: 'aus'
zu: 'ein'
Aktion:
- Dienst: script.feed_the_cat
Offensichtlich ist diese Version nicht die letzte. Aber sie erfüllt ihren Zweck - die Katze ist gut genährt und ich habe meine faulen Vormittage 🙂 .
Lesen Sie mehr:
– E-commerce: Neuer Stand des Spiels 2020 (Bericht)
– Wie kann man ein Unternehmen in der Krise führen?
– Ruby-Programmierung. Terminal für Einsteiger - Teil 2