Inhaltsverzeichnis:

IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets - Gunook
IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets - Gunook

Video: IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets - Gunook

Video: IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets - Gunook
Video: DIY IoT Cat Feeder - Particle Photon, Alexa, SmartThings, IFTTT 2024, Juli
Anonim
Image
Image
IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder mit Particle Photon integriert mit Alexa, SmartThings, IFTTT, Google Sheets

Die Notwendigkeit eines Katzenfutterautomaten ist selbsterklärend. Katzen (der Name unserer Katze ist Bella) können unausstehlich sein, wenn sie hungrig sind, und wenn Ihre Katze wie meine ist, wird der Napf jedes Mal trocken gefressen. Ich brauchte eine Möglichkeit, eine kontrollierte Menge an Essen automatisch mit 3 Methoden auszugeben - 1. Alexa-Sprachbefehl, 2. durch einen Zeitplan und 3. durch eine Schaltfläche in SmartThings. Ich wollte auch nachverfolgen können, wie und wann die Katze gefüttert wird, damit wir nicht zweimal füttern (manchmal, wenn meine Frau die Katze füttert und ich sie 15 Minuten später erneut füttere).

Dieses Projekt ist nicht allzu schwierig, ich bin weder Entwickler noch Ingenieur, aber es gab viele Online-Ressourcen, die mir geholfen haben. Ich stelle alles zusammen, was ich verwendet habe und alle Schritte, die für Sie erforderlich sind, um auch dieses Projekt abzuschließen. Viel Spaß beim Bauen!

Schritt 1: Besorgen Sie sich alle benötigten Materialien - ungefähr $100

Holen Sie sich alle Ihre benötigten Materialien - ungefähr $100
Holen Sie sich alle Ihre benötigten Materialien - ungefähr $100

Hier ist alles, was ich gekauft habe, um diesen Katzenfutterautomat herzustellen. Es waren ungefähr 100 US-Dollar, was etwas mehr als meine geplanten 75 US-Dollar ist, aber es wurden einige qualitativ hochwertigere Teile verwendet, um sicherzustellen, dass es lange hält. Einige Materialien musste ich bereits für die Herstellung der Box wie Holzleim, Heißklebepistole, 18ga-Nagler, Sandpapier, Holzspachtel usw. Diese fallen meiner Meinung nach unter "Werkzeuge" und sind nicht alle notwendig. Manchmal gehe ich einfach darüber hinaus, Dinge hübsch zu machen.

Wenn Sie von diesen genauen Produkten abweichen, stellen Sie einfach sicher, dass Ihr Servo ein Metallzahnrad hat und notieren Sie die Anzahl der Zähne, da Ihr Servoarm / -horn die gleiche Anzahl von Zähnen haben muss. Das unten aufgeführte Servo und der Arm sind 25T, was 25 Zähne bedeutet. Außerdem habe ich beim ersten Durchlauf einen Kunststoffarm verwendet und die Zähne wurden innerhalb einer Woche nach Gebrauch abgezogen. Gehen Sie also nicht den Kunststoffweg, sondern besorgen Sie sich Metall.

1. Teilchenphoton $ 19,99

2. Steckbrett und Jumperdrähte $7.69

3. Servo 19,99 $

4. Metallservoarm/-horn $8.98

5. Piezo-Summer $5,05

6. Getreidespender 14,95 $

7. Faserplatten aus dem Baumarkt für die Box, 2 Stück für den Fall, dass Sie $20 vermasseln

8. Rustoleum Hammered Spray Paint $5.97

8. Sonstiges Gegenstände wie Schrauben, Holzleim, Nägel, Sandpapier, Holzspachtel usw.

Schritt 2: Partikel-Photon einrichten

Der erste Schritt besteht darin, Ihr Particle Photon mit dem Internet zu verbinden. Dies ist sehr einfach, insbesondere mit den von Particle bereitgestellten Anleitungen. Laden Sie die Partikel-App auf Ihr Telefon herunter, erstellen Sie ein Partikelkonto und befolgen Sie die Anleitung, um sie mit Ihrem WLAN zu verbinden. Sehen Sie sich das Video an und folgen Sie diesen Anweisungen!

docs.particle.io/guide/getting-started/start/photon/

Schritt 3: Partikel an Servo, Steckbrett und Summer anschließen

Partikel mit Servo, Steckbrett und Summer verbinden
Partikel mit Servo, Steckbrett und Summer verbinden
Partikel mit Servo, Steckbrett und Summer verbinden
Partikel mit Servo, Steckbrett und Summer verbinden

Ok, jetzt müssen wir das Partikel mit einem Steckbrett mit dem Servo und dem Summer verdrahten. Befestigen Sie Ihr Partikel am Steckbrett und lassen Sie auf jeder Seite 2 Stiftlöcher. Es spielt keine Rolle, wo sich das Partikel außerhalb befindet. Ich lötete meine Drähte an den Summer und benutzte dann Heißkleber, um ihn zu sichern. Eine einfachere Methode wäre, Klemmverbinder oder Stoßverbinder zu verwenden und diese mit einer Zange zu crimpen. Wie du willst.

Schließen Sie die Servokabel an:

VIN Rotes Servokabel

A5 Gelbes Servokabel

GND Schwarzes Servokabel

Schließen Sie die Summerdrähte an (egal, welche welche sind):

D0 Summerkabel

GND Summerkabel

Schritt 4: Blinkcode für das Photon

Blinkcode für das Photon
Blinkcode für das Photon

Nun, da Sie es verkabelt haben, lassen Sie den Firmware-Code auf das Photon flashen und testen Sie, ob der Summer eine Melodie spielt und sich das Servo dreht.

Melden Sie sich mit Ihrem Konto https://build.particle.io bei der Partikel-Build-Konsole an

Klicken Sie auf die Code-Schaltfläche in der linken Symbolleiste. Kopieren Sie den bereitgestellten Firmware-Code (cat_feeder.c) und fügen Sie ihn in die Build-Konsole ein. Ersetzen Sie dort standardmäßig vorhandenen Code.

Eine kleine Erklärung zur Feed-Funktion. Da die Fütterung mit 3 verschiedenen Methoden (Taste, Stimme, Zeitplan) aufgerufen werden kann, benötigen wir 3 verschiedene Befehle, um jedes Ereignis zu veröffentlichen, damit wir wissen, wie die Katze gefüttert wurde. Diese Befehle sind "bfeed", wenn sie über die Taste eingegeben werden, "sfeed", wenn sie nach Zeitplan gefüttert werden, und "vfeed", wenn sie per Sprachbefehl eingegeben werden.

Klicken Sie auf die Schaltfläche Ordner suchen, um Ihren Code zu speichern, und geben Sie ihm einen Namen Ihrer Wahl.

Klicken Sie auf die Schaltfläche Verifizieren (sie sieht aus wie ein Häkchen mit einem Kreis darum). Nach wenigen Augenblicken sollten Sie in der unteren Statusleiste sehen:

Code kompilieren… Code verifiziert. Gute Arbeit! Bereit.

Klicken Sie nun in der linken Symbolleiste auf die Schaltfläche Flash (sieht aus wie ein Blitz). Nach wenigen Augenblicken sollten Sie in der unteren Statusleiste sehen:

Blinkcode… Flash erfolgreich! Ihr Gerät wird aktualisiert. Bereit.

Melden Sie sich als Nächstes bei der Partikelkonsole https://console.particle.io/ an.

Klicken Sie auf Ihr Teilchenphoton. Dies ist eine Statusseite für Ihr Gerät, auf der Sie in den Ereignisprotokollen sehen können, wenn Aktionen ausgeführt werden, z. B. Blinkcodes oder wenn Ereignisse durch Aufrufen der Feedbefehle veröffentlicht werden. Um einen Feed-Befehl zu initiieren, verwenden Sie die Funktionskachel auf der rechten Seite dieser Konsole. Da die Funktion im Code "feed" heißt, sollten Sie sie und ein Eingabefeld für Argumente sehen.

Geben Sie "bfeed" in das Argumenteingabefeld ein und klicken Sie auf Anrufen.

Dies sollte die Melodie abspielen und dann das Servo drehen. Wenn Sie möchten, ändern Sie zu Testzwecken die Verzögerungszeit im Code von 330 MS auf etwas länger wie 5000, wenn Sie die Servodrehung überprüfen möchten. Sie müssen jedes Mal auf die Flash-Schaltfläche klicken, wenn Sie Änderungen am Code vornehmen. Sie müssen die Verzögerung wahrscheinlich später anpassen, um die gewünschte Umdrehungszahl zu erreichen (z. B. wenn Sie einen Hund füttern, möchten Sie möglicherweise mehr Futter abgeben).

Schritt 5: Machen Sie eine Box, um alles zu beherbergen

Machen Sie eine Box, um alles unterzubringen
Machen Sie eine Box, um alles unterzubringen
Machen Sie eine Box, um alles unterzubringen
Machen Sie eine Box, um alles unterzubringen
Machen Sie eine Box, um alles unterzubringen
Machen Sie eine Box, um alles unterzubringen

Dieser Schritt besteht aus Ihren guten alten Modeschreinerei-Fähigkeiten. Ich habe 2 - 2 x 4 Fuß Faserplatten gekauft, um die Box herzustellen, weil sie stark, glatt im Griff, relativ billig und leicht zu schneiden / zu bearbeiten ist. Sie können jedes Material wählen. Dieser Schritt liegt in Ihrem Ermessen, wie es aufgebaut ist, da jeder andere Bedürfnisse hat. Ich werde keine detaillierte Schritt-für-Schritt-Anleitung für die Herstellung der Box haben, aber ich kann den Denkprozess und die Methoden, die ich verwendet habe, teilen.

Es gab eine Reihe von Faktoren, die ich bei der Gestaltung der Box berücksichtigt habe. Ich wollte das Ding so kompakt wie möglich haben. Ich wollte, dass es leicht zu warten ist, um es zu reinigen und / oder zu reparieren, wenn es jemals defekt ist. Schließlich wollte ich, dass das Spenderrohr freiliegt, damit ich sichtbar sehen kann, wann das Essen zur Neige geht. In diesem Sinne habe ich zuerst die Box gemacht und dann die Innenmaße gemessen, um einen quadratischen Rahmen zu machen, an dem die Spendereinheit, das Servo und die Platine befestigt sind. Auf diese Weise kann das gesamte Gerät für Servicearbeiten direkt aus dem Karton gehoben werden. Siehe die Bilder.

Schritt 6: SmartThings-Gerätehandler

SmartThings-Gerätehandler
SmartThings-Gerätehandler
SmartThings-Gerätehandler
SmartThings-Gerätehandler
SmartThings-Gerätehandler
SmartThings-Gerätehandler

In diesem Schritt wird erläutert, wie Sie den Aufruf der Feed-Funktion mit SmartThings und Alexa implementieren. Dazu musste ich 2 groovige Gerätehandler schreiben. Einer der Handler ist für "bfeed", wenn ich die Taste in SmartThings drücke und der andere Handler ist für "vfeed", wenn ich Alexa bitte, Bella per Sprachbefehl zu füttern. Ein weiterer Grund für die Verwendung von 2 verschiedenen Handlern ist, dass Alexa nur Geräte erkennt, die Schalter sind, keine Tasten. Also musste ich Alexa dazu bringen, einen Schalter zu erkennen, um die Funktion aufzurufen (aus und wieder die gleiche Aktion ausführen). Okay, fangen wir an.

Melden Sie sich beim IDE SmartThings-Portal unter https://ide.smartthings.com mit Ihrem Samsung-Konto oder SmartThings-Konto an (oder erstellen Sie ein Konto).

Bestätigen Sie, dass Ihr SmartThings-Hub unter „Meine Standorte“und „Meine Hubs“angezeigt wird. Wenn es nicht angezeigt wird, beheben Sie dies, bevor Sie fortfahren.

Wir werden zuerst den Button Handler erstellen

Klicken Sie in der oberen Navigationsleiste auf "Meine Geräte-Handler".

Klicken Sie auf die blaue Schaltfläche "Neuen Geräte-Handler erstellen"

Wählen Sie die Registerkarte "From Code" und fügen Sie den Code aus der angehängten Datei button_handler.groovy ein. Klicken Sie dann auf Erstellen.

Klicken Sie auf "Speichern" und "Veröffentlichen" "Für mich". Sie sollten eine grüne Benachrichtigung mit der Meldung "Gerätetyp erfolgreich veröffentlicht" sehen.

Springen Sie nun zu Ihrem Telefon und öffnen Sie die SmartThings-App. Der Handler sollte als neues Gerät angezeigt werden. Sie müssen den Handler so konfigurieren, dass er an Ihr Partikelgerät sendet. Wählen Sie das neu erstellte Gerät aus und öffnen Sie die Einstellungen (sieht aus wie ein Zahnradsymbol).

Geben Sie den Gerätenamen ein - Geben Sie dem Gerät einen beliebigen Namen, ich bin mir sicher, dass Ihre Katze auch nicht Bella heißt.

Access Token eingeben - Den Access Token finden Sie in der Particle Build-Konsole https://build.particle.io/ unter den Einstellungen (Zahnradsymbol unten links). Das Access Token ist eine 40-stellige Zeichenfolge.

Geben Sie die Geräte-ID ein – Die Geräte-ID wird auf der Seite der Partikelkonsole als 24-stellige Zeichenfolge angezeigt und wird auch in allen Partikel-URLs angezeigt, wenn Sie bei Ihrem Konto mit Ihrem Partikelgerät angemeldet sind. Geräte-ID fett in der URL angezeigt:

Klicken Sie auf Speichern.

Klicken Sie auf den Feed-Button!

Durch Klicken auf die Feed-Taste sollten Sie die Melodie hören und das Servo zum Drehen bringen. Außerdem sollten im Ereignisprotokoll der Partikelkonsole veröffentlichte Ereignisse angezeigt werden.

Als nächstes erstellen wir den Device Handler für Alexa

Befolgen Sie das gleiche Verfahren wie oben. Gehen Sie zum IDE SmartThings-Portal und klicken Sie in der oberen Navigationsleiste auf "Meine Geräte-Handler". Klicken Sie auf die blaue Schaltfläche "Neuen Geräte-Handler erstellen".

Wählen Sie die Registerkarte "Aus Code" und fügen Sie den Code aus der angehängten Datei alexa_handler.groovy ein. Klicken Sie dann auf Erstellen.

Klicken Sie auf "Speichern" und "Veröffentlichen" "Für mich". Sie sollten eine grüne Benachrichtigung mit der Meldung "Gerätetyp erfolgreich veröffentlicht" sehen.

Springen Sie nun zurück zu Ihrem Telefon und öffnen Sie die SmartThings-App. Der Handler sollte als neues Gerät angezeigt werden, diesmal jedoch ohne Schaltfläche. Sie müssen den Handler wie zuvor mit Ihrem Zugriffstoken und Ihrer Geräte-ID konfigurieren.

Wählen Sie das neu erstellte Gerät in SmartThings aus und öffnen Sie die Einstellungen (sieht aus wie ein Zahnradsymbol).

Geben Sie den Gerätenamen ein - Geben Sie dem Gerät einen beliebigen Namen. Ich habe es "Cat Feeder Handler for Alexa" genannt, damit meine Frau weiß, dass es sich nicht um die Schaltfläche Cat Feeder handelt.

Geben Sie das Zugriffstoken und die Geräte-ID ein und klicken Sie dann auf Speichern.

Öffnen Sie nun Ihre Alexa-App auf Ihrem Telefon. Falls noch nicht geschehen, aktivieren Sie den SmartThings Alexa Skill und verknüpfen Sie Ihr SmartThings Konto mit der Alexa App. Gehen Sie dann zum Smart Home-Bildschirm und klicken Sie auf "Gerät hinzufügen". Dies kann auch erfolgen, indem Sie "Alexa, Geräte entdecken" sagen. Ein Gerät sollte mit einem Schaltersymbol angezeigt werden, es wird so benannt, wie Sie den Handler in SmartThings genannt haben. Sie können den Namen in der Alexa-App ändern, wenn Sie möchten, aber denken Sie daran, dass dies ein Schaltertyp ist, sodass Sie "Alexa, einschalten" oder "Alexa, ausschalten" sagen müssen. Ich weiß, dass es nicht schön ist, "Katzenfutterautomat einschalten" zu sagen, also ist eine Alternative, eine neue Routine in der Alexa-App zu erstellen und sie genau mit dem gewünschten Satz aufzurufen. Ich habe eine Routine namens "Füttere Bella" gemacht, die den Schalter der Katzenfütterung einschaltet.

Durch Klicken auf den Schalter in der Alexa-App sollten Sie nun die Feed-Funktion erfolgreich aufrufen. Das Ereignisprotokoll der Partikelkonsole sollte auch die Ereignisse enthalten, die dies anzeigen.

Sobald Sie alles so benannt haben, wie Sie es möchten, probieren Sie es aus!

Schritt 7: Alles zusammenfügen

Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen
Alles zusammenfügen

Der letzte Teil, den ich nicht behandelt habe, ist, wie Sie die Feeds planen und die veröffentlichten Ereignisse in einem Google Sheet aufzeichnen. Sie denken wahrscheinlich, dass die Alexa-App verwendet werden kann, um eine Routine für den Zeitplan zu erstellen, aber dies würde es uns nicht ermöglichen, Zeitplan vs. Sprachbefehl oder Taste zu protokollieren. Stattdessen gibt es bereits ein IFTTT-Applet für Partikel, das wir verwenden werden.

Erstellen wir das IFTTT-Applet zum Planen von Feeds

Gehen Sie zu https://ifttt.com oder laden Sie die IFTTT-Smartphone-App herunter und melden Sie sich an (erstellen Sie bei Bedarf ein Konto)

Wenn Sie neu bei IFTTT sind, ist es sehr einfach. Jedes Applet besteht aus einem IF (einer Bedingung oder einem Trigger) und einem DAS (einer Aktion).

Sobald Sie sich bei IFTTT angemeldet haben, erstellen Sie ein neues Applet, wählen Sie IF und suchen oder wählen Sie "Datum und Uhrzeit". Sie konfigurieren dies nach Ihrem bevorzugten Zeitplan. Gehen Sie dann durch die Schritte und sobald Sie zu dem gelangen, suchen Sie nach "Partikel" und wählen Sie "Funktion aufrufen". Füllen Sie die Felder wie im Screenshot oben aus, stellen Sie sicher, dass Sie "sfeed" als Eingabe verwenden, da dies der Befehl ist, der zum Veröffentlichen eines "Fed by Schedule"-Ereignisses erforderlich ist. Möglicherweise müssen Sie sich beim Einrichten dieses Applets mit Ihrem Partikelkonto verbinden oder anmelden. Speichern Sie das Applet und Sie können loslegen. Wenn Sie testen möchten, ändern Sie einfach das Datum und die Uhrzeit auf nahe in der Zukunft und sehen Sie, ob es richtig ausgelöst wird.

Erstellen Sie nun die IFTTT-Applets für die Behandlung der 3 Ereignistypen

Es gibt 3 Befehle, die wir berücksichtigen müssen, wenn der Katzenfutterautomat läuft. Diese sind in der Partikel-Firmware fest codiert:

Bella gefüttert per ZeitplanBella gefüttert per ButtonBella gefüttert per Sprachbefehl

Wenn Ihr Haustier nicht "Bella" heißt, möchten Sie dies wahrscheinlich in der Firmware ändern und neu flashen. Ändern Sie den Text in der Zeile Particle.publish des Partikelcodes.

Erstellen Sie ein neues IFTTT-Applet. (müssen Sie dies dreimal für jeden Ereignistyp tun)

Beginnen Sie mit dem IF, suchen Sie nach Particle und wählen Sie "Neues Ereignis veröffentlicht". Der Ereignisname muss der genaue Name des veröffentlichten Ereignisses sein, den Sie in Ihrer Firmware haben. "Bella gefüttert nach Zeitplan" ist zum Beispiel der genaue Ereignisname in dem Code, den ich Ihnen bereitgestellt habe. Schauen Sie sich den Screenshot an, wie ich ihn als Referenz ausgefüllt habe. Sie müssen 2 weitere IFTTT erstellen, um auch die anderen Ereignisse zu verarbeiten. Dieses Applet erstellt ein neues Blatt in Ihrem Google-Laufwerk, wenn es noch nicht vorhanden ist, und protokolliert neue Ereignisse in der nächsten leeren Zeile.

Empfohlen: