Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Sapin de Noël alimenté par Alexa

Composants et fournitures

Amazon Alexa Amazon Echo
× 1
Arduino Yun
× 1
Câbles de raccordement (générique)
× 1
Robinet LED WS2811
× 1

À propos de ce projet

Vous pouvez trouver ici les sources d'une compétence Alexa personnalisée qui contrôle un brin LED sur un arbre de Noël. Ce dépôt contient :

  • Code Java pour une fonction AWS Lambda qui est le point de terminaison de la compétence Alexa
  • Un croquis Arduino qui se situe entre AWS IoT et un brin de LED WS2811. L'esquisse est optimisée pour fonctionner sur un Arduino Yun.

La configuration matérielle

Si vous souhaitez créer votre propre sapin de Noël contrôlé par Alexa à l'aide de ces sources, vous avez besoin d'un matériel spécifique. Ce projet a utilisé les composants suivants :

  • 1 x Arduino Yun avec Linino OS
  • 2 chaîne de LED WS2811 avec 50 LED chacune
  • 3 x câbles de connexion
  • 1 x adaptateur d'alimentation et connecteur CC de 2,1 mm x 5,5 mm
  • 1 x câble Micro-USB vers USB
  • 1 x Amazon Echo ou Amazon Dot ou Amazon Tap

La solution logicielle

L'image suivante illustre un aller-retour typique pour gérer une demande d'utilisateur vocal.

La solution s'appuie sur un ensemble de services cloud AWS pour communiquer avec le backend matériel - l'arbre de Noël. Les seules choses que vous devez vraiment configurer sont la fonction Lambda, un compartiment S3 contenant les fichiers MP3 et un rôle IAM avec les autorisations AWS IoT et Dynamo. La table dans Dynamo ainsi que l'ombre d'objet dans AWS IoT seront créées à la volée lors du premier appel de compétence.

Comprendre ce qui se passe sur une demande d'utilisateur vocal donnée à un appareil Alexa :

  • L'utilisateur parle à Alexa pour " ouvrez le sapin de noël " . La magie ASR et NLU se produit dans le service cloud Alexa.
  • Une intention est donnée au code de compétence hébergé dans AWS Lambda. Vous pouvez trouver le code dans ce dépôt.
  • Si l'utilisateur souhaite simplement une action comme " allumer l'arbre " ou " commencer le spectacle " sans donner à cette compétence une couleur pour l'arbre, elle recherche la dernière couleur définie dans Dynamo DB. S'il y a une couleur donnée, la compétence conservera les informations dans le même tableau. C'est ainsi qu'Alexa garde en tête la dernière couleur définie de l'arbre. Deuxièmement, l'action et la commande de couleur sont écrites dans une ombre d'objet dans AWS IoT.
  • Si l'ombre est mise à jour, un message MQTT est exposé au sujet delta de l'objet correspondant. L'Arduino Yun est abonné à ce sujet. Remarque :Le nom de la chose créée par le code de compétence est égal à l'identifiant de compétence entrant (tous les points sont remplacés par un tiret). Cela peut vous aider si vous souhaitez reconstruire le projet.
  • L'Arduino interroge le sujet Delta afin qu'il reçoive les commandes sous forme de message MQTT au format JSON. L'information est extraite et le sketch Arduino effectue une action avec le brin LED en fonction de ce qui est donné dans le message (nouvelle couleur, spectacle de Noël, allumé, éteint).
  • Enfin, l'Arduino envoie un message MQTT au sujet de mise à jour de l'objet AWS IoT afin de faire savoir au monde que l'action a été effectuée.
  • Le message est consommé par le service AWS IoT et les informations d'état contenues sont réécrites dans le shadow d'objet sous la forme d'un rapporté Etat. Il serait également possible que la compétence lise le dernier état de l'arbre à partir de l'ombre de l'objet au lieu de le rechercher dans Dynamo DB. La raison de cette approche de repli est que MQTT est asynchrone et nous ne pouvons pas compter sur l'Arduino pour donner une réponse immédiate.
  • En fait, cette étape se produit juste après l'étape 3), car la compétence est volontairement découplée du back-end matériel. Ainsi, juste après la mise à jour de l'ombre de chose dans AWS IoT, le code de compétence renvoie le texte vocal de sortie et éventuellement un SSML balise avec le contenu audio. Les MP3 qui font partie de la lecture d'Alexa (sons de Noël) sont stockés dans un compartiment AWS S3.
  • Alexa lit le texte renvoyé par la compétence et lit l'audio dans la réponse.

Indication d'état

Pendant qu'Arduino fait son travail, il vous informe de son état actuel sur la première LED du brin.

  • un voyant rouge clignotant une fois indique un échec de la configuration de la connexion AWS IoT
  • un voyant rouge clignotant deux fois indique un échec de la tentative de connexion AWS IoT
  • un voyant rouge clignotant trois fois indique un échec de la configuration de la connexion AWS IoT
  • une lampe de poche verte indique une connexion réussie à AWS IoT
  • une lampe de poche bleue indique une interrogation constante de la rubrique AWS IoT
  • une lampe de poche jaune indique une erreur lors de l'interrogation de la rubrique AWS IoT

Au démarrage, vous verrez peut-être des lampes de poche rouges pendant le temps nécessaire à l'Arduino pour se connecter au WiFi. Si le WiFi est connecté, il y a la lampe de poche verte suivie d'une lumière bleue clignotante en permanence pour indiquer que l'arbre est prêt pour les commandes.

Si le jaune clignote, la rubrique AWS IoT n'a pas pu être atteinte. Si cela se produit (par exemple, Arduino a perdu la connexion WiFi), il continue d'essayer neuf fois de plus jusqu'à ce qu'il essaie automatiquement de se reconnecter. Cela dit, après dix fois la lampe de poche jaune, il devrait y avoir une lampe de poche rouge/verte pour la progression de la reconnexion. Une fois que l'Arduino se reconnecte au WiFi et qu'AWS IoT est à nouveau atteint, les lampes de poche bleues s'allument.

Code

Sapin de Noël alimenté par Alexa
Vous pouvez trouver ici les sources d'une compétence Alexa personnalisée qui contrôle un brin LED sur un arbre de Noël. Modifierhttps://github.com/KayLerch/alexa-xmas-tree

Schémas


Processus de fabrication

  1. Papier d'emballage
  2. Nouvel assistant du Père Noël :rôle de l'Internet des objets à Noël
  3. Les kits de développement accélèrent l'intégration Alexa
  4. 2017 est-elle l'année de l'interface vocale ?
  5. Amazon Alexa Contrôle d'un Chromecast
  6. MajorTom :Alexa Voice Controlled ARDrone 2.0
  7. Cette maison de Noël décorée avec un arbre de Noël et des ornements en bois
  8. Qu'est-ce que l'analyse de l'arbre de défaillances et comment l'effectuer
  9. L'esprit de Noël chez Sure Controls