Table des matières:

RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles : 12 étapes
RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles : 12 étapes

Vidéo: RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles : 12 étapes

Vidéo: RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles : 12 étapes
Vidéo: Home Assistant / Alexa Integration - NO SUBSCRIPTION 2024, Novembre
Anonim
Image
Image
RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles
RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles
RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles
RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles
RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles
RabbitPi - l'assistant IoT compatible Alexa, connecté à IFTTT et qui bouge les oreilles

Il s'agit d'un "smart rabbit" Nabaztag 2005 obsolète que j'ai reconstruit en un assistant IoT moderne à l'aide d'un Raspberry Pi 3 et d'un Adafruit Motor HAT, avec un microphone webcam et un haut-parleur Philips Soundshooter contenus dans le joli boîtier d'origine. Le bouton a lancé des commandes vocales à l'aide du service vocal Alexa d'Amazon, en lisant les réponses via le haut-parleur intégré. Les commandes vocales sont également utilisées pour déclencher des recettes IFTTT (If This Then That), pour interagir avec d'autres appareils connectés à Internet comme les prises intelligentes et les téléphones portables. Pas assez? En plus de déclencher des événements IFTTT, il les reçoit également via Gmail, en utilisant le moteur de synthèse vocale Ivona pour lire les e-mails, les messages texte et autres notifications, par exemple les alertes de pollen ou les notifications d'une caméra de sécurité domestique. Ai-je mentionné que cela donne vous avez un retour visuel avec LEDS et oreilles motorisées ? Oh, et il a une caméra Raspberry Pi V2 dans son ventre pour télécharger des selfies activés par la voix sur Twitter. Il est difficile de décrire la gentillesse du RabbitPi avec des mots, regardez la vidéo pour le voir en action !

Étape 1: Une brève histoire des lapins intelligents

Une brève histoire des lapins intelligents
Une brève histoire des lapins intelligents
Une brève histoire des lapins intelligents
Une brève histoire des lapins intelligents
Une brève histoire des lapins intelligents
Une brève histoire des lapins intelligents
Une brève histoire des lapins intelligents
Une brève histoire des lapins intelligents

Le "premier lapin intelligent" Nabaztag original est sorti en 2005, présenté comme un assistant domestique ambiant (cela semble familier à Amazon et à Google ?) J'en ai acheté un tout de suite. Il s'est assis sur notre cheminée pour lire les prévisions météorologiques quotidiennes et les notifications occasionnelles, mais n'a jamais eu beaucoup de capacités, s'appuyant sur une connexion Wi-Fi WEP et des logiciels et serveurs propriétaires pour fournir ses services de synthèse vocale (TTS). C'est difficile à imaginer maintenant, mais à l'époque, il n'y avait pas grand chose auquel il pouvait se connecter, les médias sociaux étaient à peine une chose, Nokia régnait sur le monde des smartphones et les ampoules LED étaient une nouveauté coûteuse.

Au cours des années à venir, deux autres versions ont suivi, le Nabaztag:Tag et le Karotz, tous deux offrant des fonctionnalités améliorées mais aucun n'a trouvé sa place sur le marché, finalement déçu par les limitations matérielles et logicielles. La honte était que dès que les serveurs de support ont été éteints, les lapins auparavant intelligents sont devenus un peu plus que des ornements. Plusieurs projets communautaires ont tenté de remplacer les services des serveurs "officiels", et nous avons utilisé "OpenKarotz" pendant un certain temps, mais cela aussi a semblé s'éteindre il y a un an ou deux, laissant mes lapins silencieux et immobiles sur mes haut-parleurs.

Bref, cours d'histoire terminé ! Le résultat est que nous nous souvenons avec émotion de la présence du Nabaztag dans notre salon, et je voulais le récupérer, mais en tant que véritable appareil IoT moderne.

Étape 2: Nabaztag 2.0

Nabaztag 2.0
Nabaztag 2.0

J'ai été inspiré pour enfin démarrer le RabbitPi lorsque j'ai lu en mars que le service vocal Amazon Alexa avait été mis à la disposition du Raspberry Pi - la clé étant qu'un bouton était nécessaire pour activer "l'écoute" - cela s'accordait parfaitement avec le Nabaztag, car il possède un bouton poussoir affleurant le haut de sa petite tête brillante. J'ai démonté mon lapin et j'ai rapidement fait tourner l'excellent code AlexaPi de Sam Machin sur mon Pi 3, activé en appuyant sur le bouton du lapin. À ce stade, j'ai été totalement distrait par la construction de l'AlexaPhone, mais j'ai sauté directement dans le terrier intelligent dès qu'il a été terminé. J'avais besoin que mon nouveau Nabaztag amélioré soit au moins aussi intelligent que l'original, alors je voulais qu'il:

Effectuer des recherches vocales et lire les résultats

Lire les notifications

Bouger ses oreilles et faire clignoter les LED

Prenez des photos et autorisez la surveillance à distance

Interagissez avec les prises intelligentes, les ampoules, etc.

Étape 3: Couper le lapin

côtelette de lapin
côtelette de lapin
côtelette de lapin
côtelette de lapin
côtelette de lapin
côtelette de lapin
côtelette de lapin
côtelette de lapin

Le premier travail consistait à démonter le Nabaztag et à voir quelles pièces pouvaient être réutilisées. Les oreilles sont conçues pour être interchangeables et uniquement maintenues par des aimants, ce qui était facile, et le couvercle principal n'était maintenu que par deux vis (bizarres triangulaires). Cela a exposé tous les circuits et composants, construits autour d'un pilier central en plastique. Un côté contenait le circuit principal et les LED, avec un haut-parleur de l'autre côté et des moteurs/boutons intégrés dans le pilier en haut.

Comme je n'avais prévu de garder que les moteurs, j'ai coupé la plupart des câbles et j'ai commencé à retirer les vis. J'ai eu une vraie surprise à ce stade! Derrière le circuit « cerveau » du lapin se trouvait une fente sur toute la hauteur du pilier, qui contenait une carte Wi-Fi PCMCIA pleine taille, du genre que vous utiliseriez dans les vieux ordinateurs portables. Je suppose que c'était un compromis de conception ou de compatibilité à l'époque, mais le comparer en taille à un dongle USB moderne a vraiment fait comprendre à quel point la technologie a diminué en l'espace de 10 ans.

Le reste des pièces a été facilement retiré, ne laissant que le pilier de support en plastique nu avec sûrement beaucoup d'espace autour de lui ?

Étape 4: Parler et écouter

Parler et écouter
Parler et écouter
Parler et écouter
Parler et écouter
Parler et écouter
Parler et écouter

Vous ne pouvez pas avoir un lapin parlant à commande vocale sans haut-parleur et microphone, c'est donc l'une des premières choses que j'ai réglées. Je n'ai pas vraiment eu à faire d'efforts, le Pi semble être très flexible sur les microphones USB et j'ai juste utilisé une vieille webcam MSI StarCam Clip pour l'entrée, en ajustant le niveau sonore à Max dans les paramètres audio du Pi. Pour économiser de l'espace, j'ai démonté la webcam, jetant l'objectif et l'étui de la caméra. J'ai percé un trou dans la base pour que le microphone puisse y passer et je l'ai connecté à l'USB du Pi, en faisant passer les câbles aussi soigneusement que possible.

J'ai utilisé le haut-parleur KitSound MiniBuddy dans l'AlexaPhone, car il s'est avéré vraiment efficace, mais lorsque je suis allé en acheter un pour ce projet, j'ai constaté que le design avait été modifié et qu'ils ne se chargeaient plus à l'aide d'un connecteur micro-usb ! J'ai cherché quelque chose de similaire et j'ai trouvé le Philips SoundShooter, une petite unité semblable à une grenade à main. J'avais espéré qu'il rentrerait dans le boîtier sans le démonter, mais il était beaucoup trop gros, alors le tournevis est sorti pour le démonter. J'ai réussi à casser les fils des haut-parleurs au cours du processus, j'ai donc soudé des câbles de démarrage pour faciliter la reconnexion. Cette partie du haut-parleur a été collée à chaud sur le boîtier au même endroit que le haut-parleur d'origine, avec le circuit et la batterie fixés sur la petite étagère en dessous.

Rétrospectivement, j'aurais aimé utiliser les entrailles d'une station d'accueil pour haut-parleur alimentée par le secteur ou quelque chose du genre à la place, car ce n'est pas idéal d'avoir à recharger le haut-parleur - cela dure toujours très longtemps et sonne bien, et comme couvercle principal décolle facilement, ce n'est pas vraiment un problème d'arrêt.

Étape 5: Lire comme des lapins

Lire comme des lapins
Lire comme des lapins
Lire comme des lapins
Lire comme des lapins

Maintenant que la partie Alexa fonctionnait, je suis passé à la résolution du problème suivant, comment faire pour que le lapin lise les notifications ? La synthèse vocale du Nabaztag original était étonnamment bonne, même si je me souviens qu'il lisait toujours mes approbations de message texte (MM) comme "Millimètres" et celle de ma femme (CM) comme "Centimètres" - je voulais utiliser un moteur au son naturel qui interpréterait correctement des choses comme le symbole "&" et comprendrait des émoticônes simples comme:).

Comme pour tout sur le Raspberry Pi, il existe de nombreuses options différentes et j'en ai examiné plusieurs avant de choisir Ivona, qui semble être le même moteur sous-jacent utilisé par le service Alexa. C'était la meilleure option pour moi car il existe une gamme de voix et d'options de configuration disponibles - un autre avantage important était que Zachary Bears avait mis à disposition un wrapper Python pratique pour le service, Pyvona.

Pour commencer avec Ivona, vous devez d'abord configurer un compte développeur, puis, tout comme avec la configuration Alexa, vous recevez ensuite des informations d'identification à utiliser dans votre application, dans ce cas un script pour lire les notifications. Vous avez droit à 50 000 recherches par mois avec l'un de ces comptes, ce qui est certainement beaucoup pour moi.

La configuration de Pyvona était vraiment simple, en quelques minutes, j'avais un script Python créé à partir de l'exemple fourni qui lirait toute phrase que j'avais tapée. SMS mais notifications entrantes dynamiques.

Étape 6: Dites quoi ?

Tu peux répéter s'il te plait?
Tu peux répéter s'il te plait?
Tu peux répéter s'il te plait?
Tu peux répéter s'il te plait?

J'avais donc maintenant un lapin (en morceaux sur tout le banc) qui pouvait parler, mais il avait besoin d'un mécanisme pour recevoir des notifications et les transmettre au service Ivona pour être lu. J'ai examiné la possibilité d'envoyer des SMS via un service en ligne ou un adaptateur de carte SIM, ainsi que Twitter et Dropbox pour fournir des chaînes de texte/fichiers, mais j'ai finalement décidé d'utiliser imaplib, un moyen basé sur Python pour interagir avec les comptes de messagerie IMAP. J'ai choisi cette option principalement parce qu'elle s'intègre bien au service IFTTT, vous pouvez être vraiment créatif avec le formatage des e-mails de notification. Cela signifiait également que je pourrais envoyer des e-mails directement au RabbitPi pour qu'ils soient lus à haute voix.

J'ai parcouru de nombreux exemples de python imaplib en ligne, et après avoir combiné des morceaux et travaillé sur la documentation d'imalibb, j'ai réussi à me retrouver avec un script qui vérifiait Gmail pour les messages non lus à intervalles réguliers et imprimait un texte différent à l'écran en fonction du contenu de l'objet du message. C'était vraiment pratique, car je pouvais adapter une instruction "IF" dans le code pour qu'elle ne fonctionne que si l'e-mail venait de moi-même, puis échanger l'action "Imprimer" contre le code appelant le service Ivona.

J'ai passé pas mal de temps à essayer d'adapter le code imaplib & Pyvona pour lire le corps des e-mails mais cela s'est avéré extrêmement compliqué - j'ai vite appris que les champs de base des e-mails (De, À, Objet, etc.) sont formatés très simplement, mais ce corps de texte d'e-mail peut être structuré de différentes manières. En fin de compte, cela n'avait pas vraiment d'importance, j'ai pu obtenir ce dont j'avais besoin en utilisant l'objet de l'e-mail comme champ à partir duquel le texte de notification serait lu.

J'ai ensuite adapté l'exemple de code imaplib de sorte qu'au lieu de s'arrêter après chaque vérification des e-mails, il bouclerait indéfiniment, vérifiant les e-mails plusieurs fois par minute et lisant les nouveaux à peu près au fur et à mesure qu'ils arrivaient. C'était utile pour les tests, mais en pratique, je le ferais probablement vérifier un peu moins souvent. Il convient également de noter que le script stocke le mot de passe en texte brut et nécessitera donc un cryptage ajouté à un moment donné.

Je suis sûr à 100% que cela peut être réalisé de manière beaucoup plus élégante et efficace en Python, mais c'était amusant et difficile de le faire fonctionner - j'ai emprunté "Python for Kids" à la bibliothèque cette semaine afin que mon code s'améliore, espérons-le. au fur et à mesure que j'en apprends plus.

Avec le script de base get-an-e-mail-and-read-it-out fonctionnant, j'ai ajouté des morceaux de code supplémentaires qui feraient bouger les oreilles du lapin et allumeraient les LED lors de la lecture des notifications. Le code que j'ai utilisé est sur GitHub, mais gardez à l'esprit mon manque actuel de prouesses python !

Étape 7: UN CHAPEAU pour le RabbitPi

Un CHAPEAU pour le RabbitPi
Un CHAPEAU pour le RabbitPi
Un CHAPEAU pour le RabbitPi
Un CHAPEAU pour le RabbitPi
Un CHAPEAU pour le RabbitPi
Un CHAPEAU pour le RabbitPi
Un CHAPEAU pour le RabbitPi
Un CHAPEAU pour le RabbitPi

L'une des choses les plus emblématiques du Nabaztag était la façon dont il bougeait ses oreilles lorsqu'une notification arrivait. Ils pouvaient être réglés sur une orientation particulière soit en les déplaçant manuellement, soit en définissant une position à l'aide du logiciel de contrôle - mon objectif était juste pour les faire bouger.

Je n'avais jamais utilisé de moteurs avec le Raspberry Pi auparavant, c'était donc un autre nouveau sujet de recherche pour moi. En lisant en ligne, j'ai conclu qu'il devait s'agir de moteurs à courant continu simples plutôt que de moteurs pas à pas, un fait confirmé par cette instruction incroyablement utile « Hack the Nabaztag » de Liana_B, que j'aurais aimé lire environ un mois plus tôt.

Encore une fois, grâce à la flexibilité du Pi, les moteurs peuvent être contrôlés de différentes manières, mais j'ai décidé d'utiliser une carte Adafruit DC & Stepper Motor HAT. J'ai déjà utilisé des écrans et des bibelots Adafruit et j'aime les instructions détaillées et les exemples fournis en standard.

L'utilisation d'une carte avec la norme HAT (Hardware Attached on Top) signifiait que le contrôleur de moteur s'adapterait parfaitement au-dessus du Pi en prenant un minimum de place, et parce qu'il utilise l'interface I2C, il laissait libres les broches GPIO dont j'avais besoin pour l'Alexa/Clap bouton et LED.

Comme prévu, souder le HAT ensemble était vraiment simple, et je l'ai rapidement monté sur le PI et connecté aux deux moteurs d'oreille. J'avais prévu de faire fonctionner les moteurs à partir d'une banque d'alimentation USB afin de n'avoir besoin que d'une seule prise d'alimentation, mais cela s'est avéré ne pas avoir assez de grognement, cela n'allumerait même pas le voyant "Working" sur le HAT. J'ai plutôt décidé d'utiliser un adaptateur d'alimentation CC pour faire fonctionner le CHAPEAU et les oreilles, j'avais commodément l'un de ces adaptateurs universels avec des embouts interchangeables à portée de main. Ce que je n'avais pas, c'était une prise CC pour connecter l'adaptateur au HAT. J'étais sur le point de partir pour Norwich Maplin (encore une fois) quand je me suis souvenu du démontage que le câble d'alimentation d'origine du Nabaztag était une prise CC standard - je pouvais donc simplement rebrancher la prise d'alimentation d'origine au HAT - soigné! En fin de compte, j'ai également réutilisé l'alimentation d'origine Nabaztag, car elle fournissait juste la bonne quantité d'énergie.

Avec tout câblé et une tension sensible sélectionnée, j'ai provisoirement exécuté l'exemple python inclus avec le DC Motor Hat, un exemple de code qui changeait constamment la vitesse et la direction du moteur pour illustrer les différentes options de contrôle. J'étais tellement excité quand ça a fonctionné, mon premier moteur contrôlé par Pi ! Mais ensuite, j'ai remarqué quelque chose - un gémissement très fort et aigu comme quelqu'un qui passe un doigt mouillé autour d'un verre à vin. Ce n'était pas bon du tout, je voulais que les oreilles bougent pendant la lecture des notifications et, bien que n'assourdissant pas, le gémissement était vraiment perceptible. J'ai essayé différentes tensions mais aucun changement. En me tournant vers Google, j'ai découvert que cela pouvait se produire en raison de PWM (modulation de largeur d'impulsion) et qu'un remède pouvait être de souder de petits condensateurs aux bornes du moteur. En regardant les moteurs, ils étaient déjà en place. J'ai également expérimenté en changeant la fréquence PWM mais toujours pas de changement. Après quelques expérimentations, j'ai réalisé que le gémissement ne se produisait que lorsque la vitesse du moteur était modifiée par le code de faible à élevée - donc le régler sur une vitesse élevée constante éliminait complètement le gémissement - ouf !

J'ai créé quelques scripts de test python basés sur les exemples d'Adafruit, un pour le mouvement pendant les notifications et un autre pour que les oreilles effectuent un "circuit" complet au démarrage, dans le but de copier le code de travail à partir de ceux-ci dans les principaux scripts utilisés pour gérer le Interactions Alexa et Gmail/Ivona.

Étape 8: Appareil photo et réglages

Appareil photo et réglages
Appareil photo et réglages
Appareil photo et réglages
Appareil photo et réglages
Appareil photo et réglages
Appareil photo et réglages

Avant de commencer le montage, j'ai tout testé. Dans la mesure du possible sur cette version, j'ai utilisé des câbles de démarrage pour connecter les composants individuels ensemble, si les versions passées m'ont appris quelque chose, c'est pour planifier un démontage futur ! J'ai également tenu à dessiner un schéma de connexion montrant de quelle couleur les câbles sont allés, les câbles de démarrage sont excellents mais parfois facilement délogés lors de l'entassement de composants dans des espaces restreints !

J'ai décidé assez loin dans la construction d'inclure également un module de caméra Pi, la version 2 de 8MP venait de sortir et comme autre chose de nouveau pour moi, j'ai pensé que ce serait un bon ajout. La dernière version du lapin Karotz avait inclus une webcam dans son estomac mais cela n'a jamais vraiment bien fonctionné, je pensais que la caméra Pi serait amusante pour les selfies activés par la voix et peut-être même la surveillance à distance si le Pi pouvait gérer l'exécution du code à en même temps que tout le reste.

J'ai construit un support pour la caméra en meccano recouvert de plastique et je l'ai d'abord installé dans le boîtier, puis j'ai mesuré très soigneusement l'endroit où je devais percer le trou fraisé dans le boîtier. C'était certainement un cas de "mesurer deux fois une fois", car un trou au mauvais endroit aurait été un désastre. Heureusement, il est sorti au point mort et juste un peu trop haut, j'ai donc pu compenser en ajoutant des rondelles entre le support de la caméra et la base.

J'ai également ajouté un câble d'alimentation Pimoroni Dual Micro USB à ce stade - cela m'a donné une belle prise micro-usb à l'arrière du boîtier et fourni une deuxième prise d'alimentation. J'avais l'intention d'utiliser la prise supplémentaire pour charger la batterie du haut-parleur et je l'ai enfoncée pour pouvoir me connecter au commutateur "mute" d'origine du Nabaztag pour contrôler la charge.

Étape 9: Qu'est-ce que Cookin' Doc ? Recettes IFTTT

Qu'est-ce que Cookin' Doc ? Recettes IFTTT !
Qu'est-ce que Cookin' Doc ? Recettes IFTTT !
Qu'est-ce que Cookin' Doc ? Recettes IFTTT !
Qu'est-ce que Cookin' Doc ? Recettes IFTTT !

Ce qui est phénoménal dans la construction d'un appareil IoT en ce moment, c'est le grand nombre de services Web disponibles, et le service IFTTT (If This Then That) fait un travail incroyable en les liant tous ensemble dans un package simple et fonctionnel. Si vous ne l'avez pas encore utilisé, c'est un service en ligne, et une fois que vous êtes inscrit, vous pouvez y connecter tous vos autres éléments Web, comme Gmail, Facebook, Twitter et (vous l'avez deviné) Amazon Alexa. Il existe une gamme complète de services parmi lesquels choisir, y compris des options de contrôle pour les appareils intelligents comme les ampoules, les thermostats et les prises.

Les règles IFTTT sont configurées dans des "recettes" - un peu comme une règle Outlook ou une instruction IF en SQL ou Visual Basic, par exemple j'ai une recette qui dit "SI quelqu'un me tague sur une photo sur Facebook ALORS envoyez-moi un e-mail avec le sujet "Saint guacamole, [le nom de la personne taguée] vient de vous taguer sur une photo facebook" - parce que cela m'est envoyé depuis ma propre adresse, le RabbitPi lit ensuite le texte du sujet.

Une autre grande utilisation d'IFTTT est avec le service vocal Alexa - pour la partie SI d'une recette, vous pouvez configurer une phrase, par exemple "le laser" et si vous dites ensuite à Alexa "Déclencher le laser", elle transmettra la demande à IFTTT, qui déclenchera la partie THEN de la recette, en activant dans ce cas une prise distante connectée à un laser disco.

Cela va même au-delà des "choses intelligentes" - si vous avez IFTTT installé sur votre téléphone (la mienne est la version Android), vous pouvez interagir avec lui dans les deux sens, une recette utilisée dans la vidéo est: "SI je dis "Trigger Chas & Dave" à Alexa, PUIS jouer la chanson spécifique "Rabbit" sur mon téléphone Android. Cela fonctionne également dans l'autre sens - l'application de télécommande universelle AnyMote sur mon téléphone peut être personnalisée afin qu'un bouton spécifique déclenche la partie "IF" d'une recette - j'ai donc un bouton sur mon écran qui déclenche le RabbitPi pour prendre un selfie et le télécharger sur Twitter.

Une autre fonction permet au RabbitPi de lire mes SMS, sur mon téléphone j'ai une recette « SI je reçois un nouveau SMS ALORS m'envoyer un mail avec le sujet suivant « Hey ! [expéditeur du texte] dit [corps du message texte]"

C'est facile à utiliser, très amusant et fonctionne bien, les notifications sont transmises très rapidement, en particulier au commutateur WeMo Insight que j'ai, qui est à peu près instantané. Avoir IFTTT et RabbitPi rend la connexion des objets et des services très simple.

Étape 10: Assemblage et test

Assemblage et test
Assemblage et test
Assemblage et test
Assemblage et test
Assemblage et test
Assemblage et test

Maintenant est venue la partie délicate - entasser tous les composants dans le boîtier ! J'étais à peu près sûr que tout irait bien, mais l'assemblage réel était vraiment délicat, j'ai fait bon usage de certains instruments chirurgicaux et de pinces à épiler pour faire passer les câbles à travers de minuscules interstices.

Une fois que tout était bien installé, j'ai ajouté des bases de serre-câbles auto-adhésives afin que les nombreux fils puissent être assemblés de manière ordonnée - c'était vraiment important car je ne voulais pas débrancher accidentellement l'un d'entre eux lors de la remise en place du boîtier.

Étape 11: Lapin prêt ?

Lapin prêt ?
Lapin prêt ?
Lapin prêt ?
Lapin prêt ?
Lapin prêt ?
Lapin prêt ?
Lapin prêt ?
Lapin prêt ?

Maintenant que tout le côté physique du bâtiment était terminé, il était temps de "couper le cordon", de retirer le RabbitPi du confort de son câble Ethernet, de son moniteur et de son clavier dans l'atelier afin que je puisse terminer le code ailleurs via SSH (le signal sans fil est vraiment faible là-dedans !)

Installé sur le bureau de mon bureau, j'ai démarré le lapin et - pas de connexion wi-fi du tout, rien. Je savais qu'il devait y avoir un signal car mon téléphone fonctionnait bien - y avait-il un problème avec l'adaptateur réseau sur le Pi 3 dont je n'avais pas entendu parler ? Un peu de recherche sur Google m'a informé que le Pi 3 ne trouvera un signal Wi-Fi que si le routeur diffuse sur les canaux 1-11 - le mien était réglé sur le canal 13 ! Quelques ajustements plus tard et nous étions connectés, grand soupir de soulagement.

Vient ensuite le tri des différents scripts. Tout d'abord, j'ai modifié le script main.py du code AlexaPi, en ajoutant des lignes supplémentaires afin qu'en plus de faire clignoter ses LED au démarrage, le RabbitPi effectue également un joli mouvement d'oreille. J'ai également remplacé le message standard "Bonjour" par un effet sonore "boing" ludique pour le plaisir.

Le deuxième script s'appelle rabbit.py (SWIDT ?) et contient tout le code pour récupérer les messages Gmail et les lire avec Pyvona. J'ai également ajouté du code Twython que j'ai adapté d'un tutoriel Raspberry Pi "Tweeting Babbage", permettant au RabbitPi de prendre une photo et de la télécharger sur son compte Twitter (@NabazPi). J'ai ajouté quelques mouvements d'oreille et des flashs LED pour vous avertir lorsque la photo est sur le point d'être prise, ainsi qu'un bruit d'obturateur et une confirmation de tweet lu par Pyvona.

Enfin, j'ai ajouté une déclaration IF au code gmail imaplib, de sorte que si l'objet de l'e-mail était "selfie", le RabbitPi ferait son selfie, mais sinon lirait l'objet de l'e-mail comme d'habitude.

Le code que j'ai utilisé est disponible sur GitHub - veuillez lire le fichier ReadMe !

Comme touche finale, j'ai imprimé un logo Raspberry Pi sur du papier transparent et je l'ai collé à l'intérieur du boîtier RabbitPi, de sorte que la LED blanche du ventre illumine l'image à travers sa peau translucide.

Étape 12: Nabaztag est de retour

Nabaztag est de retour !
Nabaztag est de retour !
Nabaztag est de retour !
Nabaztag est de retour !
Nabaztag est de retour !
Nabaztag est de retour !

Une fois tout fait, il ne restait plus que la vidéo à faire. C'était très amusant de mettre le RabbitPi à l'épreuve devant la caméra, le seul inconvénient était de monter plus tard les images HD sur mon ordinateur portable âgé. Pour certaines des notifications (principalement des SMS en raison de mon terrible signal Vodafone), j'ai réduit les pauses entre l'action et la notification, sinon cela aurait été une vidéo longue et ennuyeuse, mais la plupart d'entre elles montrent la véritable vitesse de réponse.

J'ai expérimenté l'utilisation d'un capteur de clap pour déclencher le service Alexa (comme on le voit dans la vidéo Snap to it Alexa), mais je l'ai laissé en dehors de la version finale car il n'était pas vraiment assez fiable en cas de bruit de fond. Je sais que d'autres bricoleurs travaillent sur l'utilisation de télécommandes infrarouges, de contrôleurs Wii et même d'une écoute active avec le code AlexaPi, il existe donc de nombreuses options pour l'avenir.

J'espère ajouter un anneau néopixel adafruit pour remplacer la LED du ventre, car cela permettrait de bien meilleures notifications visuelles. J'aimerais également prendre en compte la "mise en sourdine" des notifications vocales la nuit. Mes enfants ont également fourni d'excellentes suggestions, et maintenant que je suis un peu plus à l'aise avec Python, nous allons travailler ensemble pour élargir la gamme de notifications, par exemple pour que le texte de confirmation de selfie soit tiré d'une liste de valeurs au hasard., et ainsi le lapin peut être invité à essayer de danser la macarena avec ses oreilles et ses LED.

Il se trouve que j'ai un autre Nabaztag ici, ainsi qu'un lapin Karotz plus tard, donc je pourrais bien construire autre chose avec eux - c'est tentant d'expérimenter la surveillance à distance et les capteurs de toutes sortes ! C'est une plate-forme matérielle idéale pour le Pi avec son boîtier, ses moteurs et son bouton de taille parfaite. Je me demande si les fabricants d'origine ont un stock de Nabaztags invendus quelque part, comme la décharge d'Atari ? Sûrement avec quelques qualités imprimées en 3D pour le montage de la caméra et du PI et un chapeau personnalisé pour faire fonctionner les moteurs, les LED et l'audio, ils feraient un kit de fabrication Raspberry Pi idéal, chaque club de codage devrait en avoir un !

Si vous aimez ce projet et que vous voulez en voir plus, vous pouvez consulter mon site Web pour les mises à jour du projet en cours sur bit.ly/OldTechNewSpec, rejoignez-nous sur Twitter @OldTechNewSpec ou abonnez-vous à la chaîne YouTube en pleine croissance à bit.ly/oldtechtube - donnez une partie de votre ancienne technologie une nouvelle spécification !

Concours Internet des Objets 2016
Concours Internet des Objets 2016
Concours Internet des Objets 2016
Concours Internet des Objets 2016

Finaliste du concours Internet des objets 2016

Conseillé: