Table des matières:

Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets : 7 étapes (avec photos)
Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets : 7 étapes (avec photos)

Vidéo: Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets : 7 étapes (avec photos)

Vidéo: Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets : 7 étapes (avec photos)
Vidéo: DIY IoT Cat Feeder - Particle Photon, Alexa, SmartThings, IFTTT 2024, Juillet
Anonim
Image
Image
Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets
Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets
Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets
Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets
Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets
Mangeoire pour chat IoT utilisant le photon de particules intégré à Alexa, SmartThings, IFTTT, Google Sheets

La nécessité d'une mangeoire automatique pour chats est évidente. Les chats (le nom de notre chat est Bella) peuvent être odieux lorsqu'ils ont faim et si votre chat est comme le mien, il mangera le bol à sec à chaque fois. J'avais besoin d'un moyen de distribuer automatiquement une quantité contrôlée de nourriture par 3 méthodes - 1. la commande vocale Alexa, 2. par un programme et 3. par un bouton dans SmartThings. Je voulais aussi un moyen de savoir comment et quand le chat est nourri afin que nous ne le nourrissions pas deux fois (parfois quand ma femme nourrit le chat et que je nourris à nouveau le chat 15 minutes plus tard).

Ce projet n'est pas trop difficile, je ne suis ni développeur, ni ingénieur, mais il y avait de nombreuses ressources en ligne qui m'ont aidé. Je compile tout ce que j'ai utilisé et toutes les étapes nécessaires pour que vous puissiez également mener à bien ce projet. Profitez-en et bonne construction !

Étape 1: Obtenez tout le matériel dont vous avez besoin - Environ 100 $

Obtenez tout le matériel dont vous avez besoin - Environ 100 $
Obtenez tout le matériel dont vous avez besoin - Environ 100 $

Voici tout ce que j'ai acheté pour fabriquer cette mangeoire pour chat. C'était environ 100 $, ce qui est un peu plus que mes 75 $ prévus, mais j'ai opté pour des pièces de meilleure qualité pour s'assurer que cela durera. Certains des matériaux que j'avais déjà pour fabriquer la boîte comme la colle à bois, le pistolet à colle chaude, la cloueuse de calibre 18, le papier de verre, le mastic à bois, etc. Ceux-ci font partie des "outils" à mon avis et ne sont pas tous nécessaires. Je vais juste au-delà parfois de rendre les choses jolies.

Si vous vous écartez de ces produits exacts, assurez-vous simplement que votre servo a un engrenage en métal et notez le nombre de dents car votre bras/cornet de servo devra avoir le même nombre de dents. Le servo et le bras listés ci-dessous sont de 25T, soit 25 dents. De plus, j'ai utilisé un bras en plastique lors de la première remise des gaz et les dents ont été enlevées en une semaine d'utilisation, alors n'allez pas dans la voie du plastique, prenez du métal.

1. Photon particulaire 19,99 $

2. Planche à pain et fils de cavalier 7,69 $

3. Servo 19,99 $

4. Bras servo en métal/cornet 8,98 $

5. Avertisseur piézo 5,05 $

6. Distributeur de céréales 14,95 $

7. Panneau de fibres de quincaillerie pour la boîte, 2 pièces juste au cas où vous perdriez 20 $

8. Peinture en aérosol martelée Rustoleum 5,97 $

8. Divers. des articles comme des vis, de la colle à bois, des clous, du papier de verre, du mastic à bois, etc.

Étape 2: Configurer le photon de particule

La première étape consiste à connecter votre photon de particules à Internet. C'est très facile, surtout avec les guides fournis par Particle. Téléchargez l'application Particle sur votre téléphone, créez un compte de particules et suivez le guide pour le connecter à votre wifi. Regardez la vidéo et suivez ces instructions !

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

Étape 3: connectez la particule au servo, à la planche à pain et au buzzer

Connectez la particule au servo, à la planche à pain et au buzzer
Connectez la particule au servo, à la planche à pain et au buzzer
Connectez la particule au servo, à la planche à pain et au buzzer
Connectez la particule au servo, à la planche à pain et au buzzer

Ok, maintenant nous devons connecter la particule au servo et au buzzer à l'aide d'une maquette. Attachez votre particule à la planche à pain en laissant 2 trous d'épingle de chaque côté, peu importe où la particule est placée à l'extérieur. J'ai soudé mes fils au buzzer, puis j'ai utilisé de la colle chaude pour le fixer. Une méthode plus simple serait d'utiliser des connecteurs terminaux ou des connecteurs bout à bout et de les sertir avec une pince. À toi de voir.

Connectez les fils du servo:

VIN Câble servo rouge

A5 Fil de servo jaune

GND Câble servo noir

Connectez les fils du buzzer (peu importe lequel est lequel):

D0 Fil de sonnerie

Fil de sonnerie GND

Étape 4: Code clignotant sur le photon

Code clignotant vers le photon
Code clignotant vers le photon

Maintenant que vous l'avez câblé, flashons le code du firmware sur le photon et testons que le buzzer joue une mélodie et que le servo tourne.

Connectez-vous à la console de construction de particules en utilisant votre compte

Cliquez sur le bouton de code dans la barre d'outils de gauche. Copiez et collez le code du firmware fourni (cat_feeder.c) dans la console de construction, remplacez tout code existant par défaut.

Une petite explication sur la fonction d'alimentation. Étant donné que l'alimentation peut être invoquée par 3 méthodes différentes (bouton, voix, horaire), nous avons besoin de 3 commandes différentes afin de publier chaque événement afin que nous sachions comment le chat a été nourri. Ces commandes sont "bfeed" lorsqu'elles sont alimentées par le bouton, "sfeed" lorsqu'elles sont alimentées par un programme et "vfeed" lorsqu'elles sont alimentées par une commande vocale.

Cliquez sur le bouton Recherche de dossier pour enregistrer votre code, donnez-lui un nom de votre choix.

Cliquez sur le bouton de vérification (il ressemble à une coche entourée d'un cercle). Après quelques instants, vous devriez voir dans la barre d'état inférieure:

Code de compilation… Code vérifié. Bon travail! Prêt.

Maintenant, cliquez sur le bouton Flash dans la barre d'outils de gauche (qui ressemble à un éclair). Après quelques instants, vous devriez voir dans la barre d'état inférieure:

Code clignotant… Flash réussi ! Votre appareil est en cours de mise à jour. Prêt.

Ensuite, connectez-vous à la console de particules

Cliquez sur votre photon de particule. Il s'agit d'une page d'état pour votre appareil, vous pouvez voir dans les journaux d'événements lorsque des actions sont entreprises, telles que le code clignotant ou lorsque des événements sont publiés en appelant les commandes de flux. Pour lancer une commande d'alimentation, vous utiliserez la vignette Fonction sur le côté droit de cette console. Étant donné que la fonction est appelée "feed" dans le code, vous devriez la voir ainsi qu'une zone de saisie d'argument.

Tapez "bfeed" dans la zone de saisie de l'argument et cliquez sur Appeler.

Cela devrait jouer la mélodie, puis tourner le servo. Si vous souhaitez, à des fins de test, modifiez le temps de retard dans le code de 330 MS à quelque chose de plus long comme 5000 si vous souhaitez vérifier la rotation du servo. Vous devez cliquer sur le bouton Flash chaque fois que vous apportez des modifications au code. Vous devrez probablement ajuster le délai plus tard pour obtenir la quantité de tour souhaitée (par exemple, nourrir un chien, vous voudrez peut-être distribuer plus de nourriture).

Étape 5: Fabriquez une boîte pour tout ranger

Fabriquer une boîte pour tout ranger
Fabriquer une boîte pour tout ranger
Fabriquer une boîte pour tout ranger
Fabriquer une boîte pour tout ranger
Fabriquer une boîte pour tout ranger
Fabriquer une boîte pour tout ranger

Cette étape consiste en vos bonnes compétences en menuiserie à la mode. J'ai acheté 2 panneaux de fibres de 2 x 4 pieds pour fabriquer la boîte, car ils sont solides, lisses au toucher, relativement bon marché et faciles à couper/travailler. Vous pouvez choisir n'importe quel matériau. Cette étape est vraiment à votre discrétion dans la façon dont elle est construite car chacun a des besoins différents. Je n'aurai pas de détail étape par étape pour la fabrication de la boîte mais je peux partager le processus de réflexion et les méthodes que j'ai utilisées.

Il y avait un certain nombre de facteurs que j'ai pris en considération pour la conception de la boîte. Je voulais cette chose aussi compacte que possible. Je le voulais facilement réparable pour le nettoyer et/ou le réparer en cas de dysfonctionnement. Enfin, je voulais que le tube distributeur soit exposé afin que je puisse voir visiblement quand la nourriture est faible. Dans cet esprit, j'ai d'abord fabriqué la boîte, puis j'ai mesuré les dimensions intérieures pour créer un cadre carré auquel sont attachés l'unité de distribution, le servo et la carte. De cette façon, l'unité entière peut être soulevée dès la sortie de la boîte pour l'entretien. Voir les images.

Étape 6: Gestionnaires de périphériques SmartThings

Gestionnaires de périphériques SmartThings
Gestionnaires de périphériques SmartThings
Gestionnaires de périphériques SmartThings
Gestionnaires de périphériques SmartThings
Gestionnaires de périphériques SmartThings
Gestionnaires de périphériques SmartThings

Cette étape explique comment implémenter l'appel de la fonction de flux à l'aide de SmartThings et d'Alexa. Pour ce faire, j'ai dû écrire 2 gestionnaires de périphériques groovy. L'un des gestionnaires est pour "bfeed" lorsque j'appuie sur le bouton dans SmartThings et l'autre gestionnaire est pour "vfeed" lorsque je demande à Alexa de nourrir Bella par commande vocale. Une autre raison d'avoir 2 gestionnaires différents est qu'Alexa ne reconnaît que les appareils qui sont des commutateurs, pas des boutons. J'ai donc dû tromper Alexa pour qu'elle reconnaisse un interrupteur afin d'invoquer la fonction (éteindre et allumer effectuer la même action). D'accord, commençons.

Connectez-vous (ou créez un compte) au portail IDE SmartThings à l'adresse https://ide.smartthings.com à l'aide de votre compte Samsung ou SmartThings.

Confirmez que votre hub SmartThings apparaît sous « Mes emplacements » et « Mes hubs ». S'il ne s'affiche pas, résolvez ce problème avant de continuer.

Nous allons d'abord créer le gestionnaire de boutons

Cliquez sur "My Device Handlers" dans la barre de navigation supérieure.

Cliquez sur le bouton bleu "Créer un nouveau gestionnaire de périphérique"

Sélectionnez l'onglet "À partir du code" et collez le code à partir du fichier joint button_handler.groovy. Cliquez ensuite sur Créer.

Cliquez sur "Enregistrer" et "Publier" "Pour moi". Vous devriez voir apparaître une notification verte indiquant « Type d'appareil publié avec succès ».

Maintenant, passez à votre téléphone et ouvrez l'application SmartThings. Vous devriez voir le gestionnaire apparaître comme un nouveau périphérique. Vous devrez configurer le gestionnaire pour qu'il publie sur votre appareil de particules. Sélectionnez l'appareil nouvellement créé et ouvrez les paramètres (ressemble à une icône d'engrenage).

Entrez le nom de l'appareil - Nommez l'appareil comme vous le souhaitez, je suis sûr que votre chat ne s'appelle pas non plus Bella.

Entrez le jeton d'accès - Le jeton d'accès se trouve dans la console Particle Build https://build.particle.io/ sous les paramètres (icône d'engrenage en bas à gauche). Le jeton d'accès sera une chaîne de 40 caractères.

Entrez l'ID de l'appareil - L'ID de l'appareil se trouve sur la page de la console des particules sous forme de chaîne de 24 caractères et est également visible dans toutes les URL de particules lorsque vous êtes connecté à votre compte en train de travailler sur votre appareil à particules. ID de l'appareil vu en GRAS dans l'URL:

Cliquez sur Enregistrer.

Cliquez sur le bouton Flux !

En cliquant sur le bouton d'alimentation, vous devriez entendre la mélodie et faire tourner le servo. Vous devriez également voir les événements publiés dans le journal des événements de la console de particules.

Ensuite, nous allons créer le gestionnaire de périphériques pour Alexa

Suivez la même procédure que ci-dessus. Accédez au portail IDE SmartThings et cliquez sur "Mes gestionnaires de périphériques" dans la barre de navigation supérieure. Cliquez sur le bouton bleu "Créer un nouveau gestionnaire de périphériques"

Sélectionnez l'onglet "À partir du code" et collez le code à partir du fichier joint alexa_handler.groovy. Cliquez ensuite sur Créer.

Cliquez sur "Enregistrer" et "Publier" "Pour moi". Vous devriez voir apparaître une notification verte indiquant « Type d'appareil publié avec succès ».

Maintenant, revenez à votre téléphone et ouvrez l'application SmartThings. Vous devriez voir le gestionnaire apparaître comme un nouvel appareil mais cette fois sans aucun bouton. Vous devrez configurer le gestionnaire avec votre jeton d'accès et votre identifiant de périphérique comme vous l'avez fait précédemment.

Sélectionnez l'appareil nouvellement créé dans SmartThings et ouvrez les paramètres (ressemble à une icône d'engrenage).

Entrez le nom de l'appareil - Nommez l'appareil comme vous le souhaitez, je l'ai appelé "Cat Feeder Handler pour Alexa" afin que ma femme sache que ce n'est pas le bouton Cat Feeder.

Entrez le jeton d'accès et entrez l'ID de l'appareil, puis cliquez sur Enregistrer.

Maintenant, ouvrez votre application Alexa sur votre téléphone. Si vous ne l'avez pas déjà fait auparavant, activez la compétence SmartThings Alexa et associez votre compte SmartThings à l'application Alexa. Accédez ensuite à l'écran d'accueil intelligent et cliquez sur « Ajouter un appareil ». Cela peut également être fait en disant "Alexa, découvre les appareils". Un appareil devrait apparaître avec une icône de commutateur, il sera nommé comme vous l'avez nommé le gestionnaire dans SmartThings. Vous pouvez changer le nom de celui-ci dans l'application Alexa si vous le souhaitez, mais rappelez-vous qu'il s'agit d'un type de commutateur, il faudra donc dire "Alexa, allumez" ou "Alexa, éteignez". Je sais que ce n'est pas agréable de dire "Allumez la mangeoire pour chat", donc une alternative consiste à créer une nouvelle routine dans l'application Alexa et à l'appeler avec la phrase que vous voulez exactement. J'ai créé une routine appelée "Feed Bella" qui active l'interrupteur de la mangeoire pour chat.

En cliquant sur le commutateur dans l'application Alexa, vous devriez maintenant appeler avec succès la fonction de flux. Le journal des événements de Particle Console doit également publier les événements l'indiquant.

Une fois que vous avez tout nommé comme vous le souhaitez, allez-y et essayez-le!

Étape 7: Tout assembler

Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble

Le dernier élément que je n'ai pas abordé est de savoir comment planifier les flux et enregistrer les événements publiés dans une feuille Google. Vous pensez probablement que l'application Alexa peut être utilisée pour créer une routine pour l'horaire, mais cela ne nous permettrait pas d'enregistrer l'horaire par rapport à la commande vocale ou au bouton. Au lieu de cela, il existe déjà une applet IFTTT pour les particules que nous utiliserons.

Créons l'applet IFTTT pour planifier les flux

Allez sur https://ifttt.com ou téléchargez l'application pour smartphone IFTTT et connectez-vous (créez un compte si nécessaire)

Si vous êtes nouveau sur IFTTT, c'est très simple. Chaque applet se compose d'un SI (une condition ou d'un déclencheur) et d'un CELA (une action à faire).

Donc, une fois connecté à IFTTT, créez une nouvelle applet, sélectionnez IF et recherchez ou sélectionnez "Date et heure". Vous le configurez selon l'horaire que vous préférez. Ensuite, suivez les étapes et une fois que vous arrivez à CE QUE vous recherchez "Particule" et sélectionnez "Appeler une fonction". Remplissez les champs comme dans la capture d'écran ci-dessus, assurez-vous d'utiliser "sfeed" comme entrée car il s'agit de la commande nécessaire pour publier un événement "Fed by schedule". Vous devrez peut-être vous connecter ou vous connecter à votre compte de particules lors de la configuration de cette applet. Enregistrez l'applet et vous devriez être prêt à partir. Si vous voulez tester, changez simplement la date et l'heure pour qu'elles soient proches dans le futur et voyez si cela se déclenche correctement.

Maintenant, créons les applets IFTTT pour gérer les 3 types d'événements

Il y a 3 commandes dont nous devons tenir compte lorsque la mangeoire pour chat s'exécute. Ceux-ci sont codés en dur dans le firmware des particules:

Bella nourrie par horaireBella nourrie par boutonBella nourrie par commande vocale

Si votre animal ne s'appelle pas "Bella", vous voudrez probablement changer cela dans le firmware et re-flasher. Modifiez le texte dans la ligne Particle.publish du code de particule.

Créez une nouvelle applet IFTTT. (il faut le faire 3 fois, pour chaque type d'événement)

En commençant par l'IF, recherchez Particule et sélectionnez "Nouvel événement publié". Le nom de l'événement devra être le nom exact de l'événement publié que vous avez dans votre micrologiciel. Par exemple, "Bella nourrie par horaire" est le nom exact de l'événement dans le code que je vous ai fourni. Regardez la capture d'écran telle que je l'ai remplie pour référence. Vous devrez également créer 2 IFTTT supplémentaires pour gérer les autres événements. Cette applet créera une nouvelle feuille dans votre lecteur google si elle n'existe pas déjà et enregistrera les nouveaux événements dans la prochaine ligne vide.

Conseillé: