Table des matières:

Télécommande infrarouge contrôlée par Amazon Echo : 11 étapes (avec photos)
Télécommande infrarouge contrôlée par Amazon Echo : 11 étapes (avec photos)

Vidéo: Télécommande infrarouge contrôlée par Amazon Echo : 11 étapes (avec photos)

Vidéo: Télécommande infrarouge contrôlée par Amazon Echo : 11 étapes (avec photos)
Vidéo: Une Excellente App Télécommande pour contrôler sa TV / Box TV / fireTV 2024, Juillet
Anonim
Télécommande infrarouge contrôlée par Amazon Echo
Télécommande infrarouge contrôlée par Amazon Echo

Le système Amazon Echo peut contrôler de nombreux aspects d'une maison intelligente, mais une prise intelligente ne peut que s'éteindre et s'allumer. De nombreux appareils ne s'allument pas instantanément en étant simplement branchés et nécessitent des étapes supplémentaires, telles qu'appuyer sur les boutons d'une télécommande ou sur l'appareil physique pour allumer ou obtenir les paramètres souhaités.

Dans ce guide, un Raspberry Pi Zero W sera configuré pour agir comme un appareil domestique intelligent pouvant être contrôlé par Amazon Echo et envoyer toutes les commandes IR souhaitées à un appareil lorsqu'il est invité à allumer ou à éteindre.

Dans ce cas précis, le Pi sera configuré pour apprendre les commandes IR d'une télécommande munie d'un insert de cheminée à quartz infrarouge "ClassicFlame 23II310GRA 23". Une LED IR sera ensuite utilisée pour envoyer les commandes IR à la demande, et enfin le Pi configuré pour émuler un appareil Philips Hue qui peut être contrôlé par Echo.

Étape 1: Matériaux

Matériaux
Matériaux

Obligatoire:

  • Raspberry Pi Zero W
  • Carte mémoire Micro SDHC Classe 10 de 4 Go ou plus (Exemple de 16 Go)
  • Micro USB
  • 1 DEL infrarouge
  • Adaptateur secteur MicroUSB (2,1 ampères ou supérieur recommandés)
  • DEL infrarouge
  • Récepteur IR VS/1838B
  • résistance de 100 ohms
  • Divers câble

Conseillé:

  • Prise casque
  • Casque/fil audio 1/8 pouces
  • Transistor 2N2222 NPN
  • résistance de 1k ohm
  • Etui Raspberry Pi Zero

Pour compléter la configuration initiale d'un Raspberry Pi Zero W, quelques périphériques supplémentaires seront nécessaires, mais ne seront pas utilisés à plein temps par le projet terminé

  • Adaptateur Mini HDMI vers HDMI: utilisé pour connecter le Pi Zero W à un téléviseur ou à un moniteur avec un câble HDMI de taille normale
  • Câble USB OTG: utilisé pour convertir le port micro-USB en port(s) USB de taille normale pour connecter un clavier et/ou une souris
  • Câble HDMI: utilisé pour se connecter à un téléviseur ou à un moniteur avec un adaptateur pour mini HDMI

Les deux premiers articles ainsi qu'un étui sont inclus divers kits de démarrage Pi Zero, tels que: MakerSpot Mega Kit

Étape 2: Configurer Raspberry Pi

Le site Web Raspberry Pi propose une excellente procédure pas à pas pour configurer Raspbian Stretch OS sur un Raspberry Pi. Je recommande la version Lite pour un encombrement réduit s'il ne s'agit que d'un projet exécuté sur le Pi. Si vous souhaitez avoir plus d'options de système d'exploitation à l'avenir, ou une configuration plus simple, suivre les instructions de NOOBS vous permettra d'être opérationnel en un rien de temps. Ce guide est basé sur Raspbian, qui est inclus avec NOOBS

www.raspberrypi.org/learning/software-guide/

Une fois Raspbian en cours d'exécution, activez SSH pour autoriser les connexions à distance à l'appareil sans avoir besoin d'un moniteur/clavier/souris à connecter directement au Pi. Si vous souhaitez éventuellement avoir un accès à distance à l'interface graphique, vous pouvez également activer l'accès VNC

www.raspberrypi.org/documentation/remote-access/ssh/

Il est également fortement recommandé de définir une adresse IP statique sur la configuration du réseau sans fil afin qu'elle ne change pas avec le temps. Il est possible que l'adresse IP ne change pas si de nouveaux appareils ne sont pas régulièrement connectés au réseau sans fil, mais la configurer comme statique garantira que ce ne sera pas le cas.

www.circuitbasics.com/how-to-set-up-a-static-ip-on-the-raspberry-pi/

Étape 3: Configuration de LIRC

Configuration de LIRC
Configuration de LIRC
Configuration de LIRC
Configuration de LIRC
Configuration de LIRC
Configuration de LIRC
Configuration de LIRC
Configuration de LIRC

Les étapes suivantes sont fortement basées sur les excellents guides trouvés ici:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/https://camp.isaax.io/en/isaax-examples/ir-control-via- lirc-sur-framboise-pi-zero-w

Ce guide est basé sur Rasbian Stretch et lirc 0.9.4c-9 D'autres guides peuvent être basés sur des versions antérieures de et mentionner un fichier hardware.conf qui n'est plus nécessaire avec cette version et les versions ultérieures. J'ai également constaté qu'il n'est plus nécessaire sur mes systèmes de modifier le fichier /etc/modules. À ce stade, des modifications supplémentaires seront nécessaires pour la version 4.19 du noyau qui ne sont actuellement pas documentées ici. Veuillez vous assurer que vous êtes sur 4.14 pour cet ensemble d'instructions

La bibliothèque Linux Infrared Remote Control (LIRC) est utilisée pour gérer la réception de commandes IR via le module récepteur, les enregistrer dans un fichier, puis envoyer les commandes lorsque vous le souhaitez via la LED IR.

La première étape consiste à enregistrer les signaux IR de notre télécommande existante à l'aide du récepteur IR et à les enregistrer dans un fichier. Le récepteur IR n'est nécessaire initialement que pour apprendre les signaux IR et peut ensuite être supprimé, de sorte qu'une connexion temporaire peut être utilisée.

Connectez le récepteur IR au Raspberry Pi. Utilisez l'image ci-jointe pour identifier les broches VCC, GND et Signal. Utilisation d'une maquette, de fils de raccordement ou d'un pliage créatif des broches aux connexions suivantes

VCC se connecte à la broche 5 volts GND à une broche de terre Signal à la broche 23

Allumez et connectez-vous au Raspberry Pi en ouvrant le terminal sur l'appareil local ou en créant une connexion SSH à l'aide d'un programme tel que Putty pour Windows.

Les lignes suivantes peuvent être copiées et collées dans la session SSH. Ils ajouteront/modifieront des lignes à divers fichiers de configuration nécessaires au fonctionnement de lirc.

mise à jour sudo apt

sudo apt install -y lirc echo dtoverlay=lirc-rpi, gpio_in_pin=23, gpio_out_pin=22 | sudo tee -a /boot/config.txt sudo sed -i '/driver = */cdriver = default' /etc/lirc/lirc_options.conf sudo sed -i '/device = */cdevice = /dev/lirc0' / etc/lirc/lirc_options.conf sudo shutdown -r now

Attendez que l'appareil redémarre et reconnectez-vous.

Facultatif: testez le récepteur infrarouge

Montez le dispositif LIRC pour confirmer que toute entrée peut être reçue. Vous devrez peut-être redémarrer le Pi une fois ce test terminé pour le rendre disponible pour les étapes ultérieures.

sudo systemctl stop lircd

mode2 -d /dev/lirc0Dirigez une télécommande IR vers le récepteur et appuyez sur un bouton et assurez-vous que les données apparaissent sur l'écranCTRL+C pour sto

À ce stade, le programme LIRC est installé et nous pouvons afficher les informations IR.

Étape 4: Capturer les codes IR

Un profil distant peut être téléchargé sur le site du LIRC

lirc-remotes.sourceforge.net/remotes-table.html

et placé dans /etc/lirc/lircd.confg.d, ou un profil personnalisé peut être créé avec votre propre télécommande.

Au cours de ce processus, vous entrerez le nom de la touche/du bouton que vous enregistrez. Seuls les noms valides sont autorisés, alors exécutez la commande suivante pour afficher tous les noms disponibles

irrecord --list-namespace Exemple: j'ai utilisé le nom KEY_POWER lorsque j'ai enregistré le bouton d'alimentation sur ma télécommande et KEY_TIME lors de l'enregistrement du bouton de la minuterie

Si plus de quelques touches sont enregistrées, je recommande de documenter les noms des touches utilisées et le bouton auquel elles correspondent, car il peut ne pas y avoir de nom parfait pour le bouton en cours d'enregistrement. Cela facilitera la référence à l'avenir.

Générer un fichier de configuration à distance

Créez un nouveau fichier de configuration de contrôle à distance (en utilisant /dev/lirc0)

sudo systemctl stop lircd

cd ~ irrecord -d /dev/lirc0 Si vous rencontrez une erreur disant impossible de décoder les données ou si quelque chose s'est mal passé, appuyez sur CTRL+C pour annuler et exécuter la dernière commande asirrecord -f -d /dev/lirc0cela forcera l'enregistrement à s'exécuter en mode brut et devrait permettre au processus de continuer

Suivez les instructions à l'écran. Une fois le système initialisé, entrez le nom de la télécommande que vous enregistrez (le fichier résultant sera basé sur ce nom), puis entrez le nom de la clé que vous allez enregistrer, puis appuyez sur le bouton de la télécommande tout en le pointant sur le récepteur jusqu'à ce qu'on vous demande le nom du bouton suivant. Répétez cette étape pour chaque bouton de la télécommande que vous souhaitez enregistrer.

Copiez vos nouveaux fichiers de configuration dans le répertoire lircd.conf.d et redémarrez lirc

sudo cp ~/*.lircd.conf /etc/lirc/lircd.conf.d

sudo systemctl démarrer lircd

À ce stade, les codes à distance ont été enregistrés dans un fichier.

Étape 5: Prise casque (facultatif)

Prise casque (en option)
Prise casque (en option)
Prise casque (en option)
Prise casque (en option)

Pour rendre les fils de course et modifier le Raspberry Pi plus modulaires, j'ai collé à chaud une prise audio pour casque de 1/8 pouce au boîtier et connecté des fils à la prise. Des fils de casque avec la prise correspondante ont été utilisés pour connecter la LED IR, de sorte que ce fil pourrait être acheminé vers un emplacement discret pour pointer vers le récepteur IR de l'appareil que je voulais connecter, mais pourrait facilement être débranché du Pi sans avoir à le retirer tous les fils.

Ceci est purement facultatif, mais s'est avéré utile.

Étape 6: connexion de la LED IR (rapide)

Connexion de la LED IR (rapide)
Connexion de la LED IR (rapide)
Connexion de la LED IR (rapide)
Connexion de la LED IR (rapide)
Connexion de la LED IR (rapide)
Connexion de la LED IR (rapide)

La connexion de la LED émettrice IR au Raspberry Pi peut être effectuée de plusieurs manières. Cette étape montre la manière rapide dont je l'ai connecté, mais que j'ai découvert plus tard, peut dépasser la limite de courant sur les broches du Pi. Jusqu'à présent, je n'ai rencontré aucun problème, mais une méthode de connexion plus idéale est décrite à l'étape suivante.

Calculez la résistance nécessaire pour votre LED IR. https://ledcalculator.net/ peut vous aider à déterminer la valeur de résistance appropriée si vous avez toutes les spécifications de votre LED. Dans ce cas, la tension de la broche 22 est de 3,3 volts, la chute de tension de la LED est de 1,2 volt, le courant nominal est de 20 ma et 1 LED a été utilisée, ce qui a nécessité une valeur de résistance de 110 ohms. J'ai utilisé une seule résistance de 100 ohms.

Remarque: il a été porté plus tard à mon attention que le courant maximum de toutes les broches à un moment donné est de 16 ma, donc cette configuration pourrait dépasser cela. Une meilleure configuration avec un transistor et une alimentation 5 volts est décrite dans l'étape suivante, mais après plusieurs semaines de fonctionnement dans cette configuration, je n'ai pas encore rencontré de problèmes.

La broche 22 du Raspberry Pi sera connectée à l'anode de la LED IR, qui est la branche la plus longue par défaut.

La broche la plus courte de la LED se connecte à la résistance, puis à la broche de masse. J'ai coupé la majeure partie du fil de la résistance et l'ai soudé directement à une broche de terre et au fil de terre allant à la LED.

Étape 7: Connexion de la LED IR (méthode correcte)

Connexion de la LED IR (méthode correcte)
Connexion de la LED IR (méthode correcte)
Connexion de la LED IR (méthode correcte)
Connexion de la LED IR (méthode correcte)

Pour connecter correctement la LED sans dépasser la limite de tirage du Raspberry Pi, connectez les LED à l'alimentation 5 volts avec une résistance appropriée, connectez la broche de cathode à la broche de collecteur d'une résistance 2N2222, connectez la broche d'émetteur du transistor à la terre, et connectez la broche 22 du Pi à une résistance de 1K ohm à la broche de base du transistor. Cela permet à un très faible courant de la broche 22 de connecter la LED à la terre, complétant le circuit sans trop tirer le Pi.

Dans mon exemple, j'ai câblé 2 LED IR pour pouvoir contrôler l'éclairage ambiant ainsi que le foyer électrique.

Étape 8: Tester l'envoi de commandes IR

Tester l'envoi de commandes IR
Tester l'envoi de commandes IR

Pour envoyer une commande IR, le programme irsend est utilisé.

Syntaxe: irsend

Exemple: irsend SEND_ONCE Spectrafire KEY_POWER Ceci envoie une fois la commande du bouton d'alimentation de la télécommande Spectrafire. Remplacez Spectrafire par le nom que vous avez donné à votre télécommande. Répétez l'opération avec les autres noms de clé utilisés lors de l'enregistrement du fichier.

A ce stade, vous pouvez envoyer toutes les commandes précédemment enregistrées à l'aide de la LED IR connectée au Raspberry Pi.

Étape 9: Installation du pont Ha

Pour permettre à l'Echo de contrôler notre appareil, nous allons émuler une ampoule Philips Hue à l'aide d'un ha-bridge. Une fois configuré, l'Echo pourra détecter cet appareil et lui envoyer des commandes de mise sous/hors tension.

Le site Web de ha-bridge décrit clairement le processus pour la version actuelle et il est fortement recommandé de le consulter.

github.com/bwssytems/ha-bridge

Copiez et collez les lignes suivantes dans une session SSH pour installer et configurer HA Bridge. (Il peut être nécessaire d'exécuter la première ligne elle-même, puis de coller les lignes restantes

sudo apt install -y oracle-java8-jdk

mkdir /home/pi/habridge cd /home/pi/habridge/ rm ha-bridge-*.jar -f wget $(curl -s https://api.github.com/repos/bwssytems/ha-bridge/releases /latest | grep 'browser_' | cut -d\" -f4) mv ha-bridge-*.jar ha-bridge.jar echo [Unité] | sudo tee /etc/systemd/system/habridge.service echo Description=HA Pont | sudo tee -a /etc/systemd/system/habridge.service echo Wants=network.target | sudo tee -a /etc/systemd/system/habridge.service echo After=network.target | sudo tee -a /etc /systemd/system/habridge.service echo | sudo tee -a /etc/systemd/system/habridge.service echo [Service] | sudo tee -a /etc/systemd/system/habridge.service echo Type=simple | sudo tee -a /etc/systemd/system/habridge.service echo WorkingDirectory=/home/pi/habridge | sudo tee -a /etc/systemd/system/habridge.service echo ExecStart=/usr/bin/java -jar -Dconfig. file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge.jar | sudo tee -a /etc/systemd/system/habridge.service echo | sudo tee -a /etc/ systemd/system/hab ridge.service echo [Installer] | sudo tee -a /etc/systemd/system/habridge.service echo WantedBy=multi-user.target | sudo tee -a /etc/systemd/system/habridge.service #Reload System Control et démarrer le service, paramètre à activer au démarrage sudo systemctl daemon-reload sudo systemctl start habridge.service sudo systemctl enable habridge.service

Étape 10: émuler une ampoule Philips Hue

Émuler une ampoule Philips Hue
Émuler une ampoule Philips Hue
Émuler une ampoule Philips Hue
Émuler une ampoule Philips Hue

Avec ha-bridge en cours d'exécution, ouvrez un navigateur Web et entrez l'adresse IP du Raspberry Pi, et l'interface pour ha-bridge devrait apparaître.

Cliquez sur le lien Ajouter/Modifier en haut de la page

Nom: saisissez le nom que vous souhaitez utiliser lorsque vous prononcez des commandes

Dans la section intitulée « Sur les éléments », définissez le type « Exécuter la commande/le script/le programme et entrez la commande dans la zone Élément cible. Si plusieurs commandes sont souhaitées, cliquez sur le bouton Ajouter pour enregistrer la ligne actuelle et entrez une autre commande. il est également possible de régler un délai et de répéter une commande un certain nombre de fois. Dans ce cas, il fallait d'abord appuyer sur le bouton d'alimentation, puis sur le bouton Timer appuyé 3 fois pour régler la minuterie d'arrêt automatique pendant 3 heures.

Répétez la même idée pour la zone "Hors éléments", en cliquant sur Ajouter lorsque vous avez terminé.

En haut de la page, cliquez sur « Ajouter un périphérique de pont » pour l'enregistrer en tant que nouvel élément, ou sur Mettre à jour un périphérique de pont si vous modifiez un périphérique existant.

Dirigez la LED IR vers l'appareil. Sur la page Bridge Devices, cliquez sur le bouton Test ON ou Test OFF pour vérifier qu'il agit comme vous le souhaitez.

Étape 11: connexion à Amazon Echo

Connexion à Amazon Echo
Connexion à Amazon Echo

La dernière étape consiste à permettre à Amazon Echo de communiquer avec cet appareil. Remarque: les deux appareils doivent être sur le même réseau.

Option 1) dites "Alexa, découvre les appareils domestiques intelligents"

Option 2) Ouvrez l'application Alexa, appuyez sur Menu> Smart Home et cliquez sur le lien "Découvrir les appareils"

Après quelques instants, l'appareil devrait être reconnu.

Dites « Alexa, allumez la cheminée de la chambre » et vérifiez que l'appareil s'allume comme prévu. Remplacez la cheminée de la chambre par le nom que vous donnez à votre appareil dans ha-bridge. Répétez le processus pour éteindre l'appareil.

Si vous n'avez pas encore monté la LED IR, trouvez un endroit discret pour la monter tout en lui permettant de pointer dans la direction générale du récepteur IR dans l'appareil. Vous devrez peut-être le déplacer pour indiquer différentes zones afin de trouver le meilleur emplacement.

Conseillé: