- Matériaux nécessaires:
- Schéma:
- Programme Raspberry Python:
- Contrôle des LED avec Raspberry Pi et Telegram bot:
Telegram est une application optimale à combiner avec Raspberry Pi pour tous nos besoins de contrôle mobile. Il bénéficie d'un très bon support pour les développeurs et de nombreuses fonctionnalités sont prévues pour être publiées prochainement pour améliorer les performances de Telegram Bots. Dans notre didacticiel précédent, nous avons appris comment configurer un robot de télégramme pour Raspberry Pi et avons également appris à discuter avec lui et à partager des images, des documents et des fichiers audio.
Maintenant, nous allons passer à l'étape suivante en apprenant comment nous pouvons contrôler les broches GPIO sur les broches Raspberry à l'aide de Telegram, afin de fournir un support matériel pour notre bot. Dans ce didacticiel, nous allons connecter quatre LED aux broches GPIO du Raspberry Pi et les basculer en utilisant le langage naturel (en discutant comme) de Telegram. Cela semble intéressant, non? Commençons.
Matériaux nécessaires:
- Quatre LED (n'importe quelle couleur)
- Raspberry Pi (avec connexion Internet)
- Planche à pain
- Fils de connexion
Conditions préalables:
Avant de poursuivre le didacticiel, assurez-vous que votre Raspberry Pi est connecté à Internet et que vous pouvez exécuter des programmes python sur votre Pi. Lisez également le tutoriel précédent pour savoir comment configurer le bot Telegram avec Raspberry Pi Pi, car je suppose que vous êtes familier avec ce genre de choses pour poursuivre le projet.
Si vous êtes nouveau sur Raspberry Pi, suivez notre article d'introduction à Raspberry Pi et d'autres tutoriels sur Raspberry Pi.
Schéma:
Le schéma de circuit pour le contrôle des LED à l'aide de Raspberry Pi et de l'application Telegram Android n'est rien de plus que quatre LED et quelques fils de connexion. Nous n'aurons pas besoin des résistances de limitation de courant puisque les broches GPIO du Raspberry Pi fonctionnent sur 3,3V TTL. Suivez le circuit ci-dessous et connectez votre LED.
Le tableau suivant vous aidera à déterminer le numéro de broche et le numéro GPIO pour la connexion de quatre leds.
Terminal LED |
Code PIN |
Numéro GPIO |
Anode verte |
Broche 31 |
GPIO 6 |
Anode rouge |
Broche 33 |
GPIO 13 |
Anode jaune |
Broche 35 |
GPIO 19 |
Anode blanche |
Épingle 37 |
GPIO 26 |
Cathode des quatre |
Épingle 39 |
Sol |
Vous trouverez ci-dessous le schéma de circuit dans lequel quatre LED sont connectées conformément au tableau ci-dessus:
Une fois vos connexions, la configuration de votre matériel devrait ressembler à ceci ci-dessous.
Programme Raspberry Python:
Une fois que le matériel est prêt, nous pouvons continuer avec le programme Python. Dans ce programme, nous devons lire les données (message) envoyées par le robot Telegram et activer la LED en conséquence. Pour le rendre plus naturel, au lieu de vérifier chaque phrase et de coder en dur ces phrases dans notre programme, nous pouvons vérifier les mots et procéder en conséquence.
Ainsi, le programme vérifiera principalement deux mots, ils sont activés et désactivés. Une fois l'un ou l'autre de ces deux mots détecté, il recherchera d'autres mots-clés tels que blanc, jaune, vert et rouge. La LED de couleur respective sera basculée uniquement si le mot est détecté. Nous mettrons également à jour une chaîne pour les mots détectés afin de renvoyer un message au robot de télégramme.
Le programme complet se trouve au bas de cette page; juste en dessous, j'ai expliqué le programme en le décomposant en petites jonques significatives.
Pour que ce programme fonctionne, nous avons besoin du télépot téléchargé et importé dans notre Raspberry Pi. Dans notre tutoriel précédent, nous avons déjà téléchargé la téléportation dans notre Raspberry Pi, il ne nous reste plus qu'à l'importer dans notre programme avec la bibliothèque GPIO comme indiqué ci-dessous.
importer RPi.GPIO comme GPIO importer telepot depuis telepot.loop importer MessageLoop
Nous contrôlerons les lumières LED en utilisant ce programme et la couleur des LED sera blanche, jaune, rouge et verte. Ils sont connectés aux broches indiquées dans le schéma de circuit; nous définissons les noms de broches pour ces LED en fonction de leur couleur afin qu'il les utiliser dans le programme.
blanc = 26 jaune = 19 rouge = 13 vert = 6
L'étape suivante serait de définir toutes ces broches de LED comme des broches de sortie et de les définir comme désactivées par défaut en utilisant les lignes ci-dessous.
#LED Blanc GPIO.setup (blanc, GPIO.OUT) GPIO.output (blanc, 0) #Off initialement #LED Jaune GPIO.setup (jaune, GPIO.OUT) GPIO.output (jaune, 0) #Off initialement #LED Rouge GPIO.setup (rouge, GPIO.OUT) GPIO.output (rouge, 0) #Off initialement #LED vert GPIO.setup (vert, GPIO.OUT) GPIO.output (vert, 0) #Off initialement
Comme nous l'avons appris dans notre tutoriel précédent, toutes les actions qui doivent être effectuées par le bot Raspberry seront définies dans l'action de fonction. Ici, nous devons obliger le bot à écouter le message envoyé depuis le mobile, à le comparer à certains mots-clés et à activer la LED en conséquence.
Pour chaque message que nous envoyons depuis un mobile, il y aura un identifiant et une commande de chat. Cet identifiant de chat est requis par le programme pour répondre à l'expéditeur. Nous enregistrons donc l'identifiant de chat et le message comme indiqué ci-dessous.
chat_id = msg commande = msg
Maintenant, tout ce que nous envoyons depuis le téléphone sera enregistré sous forme de chaîne dans la commande variable. Il suffit donc de vérifier les mots clés de cette variable. Python a une commande qui facilite les choses ici. Par exemple, si nous devons vérifier si le mot «on» est présent dans la chaîne stockée dans la variable de commande , nous pouvons simplement utiliser la ligne ci-dessous.
si 'on' dans la commande:
De même, nous vérifions tous les mots - clés, une fois que nous recevons un «on», nous procédons à la vérification de la couleur mentionnée par l'utilisateur. Cela se fait également par les mêmes commandes en comparant les mêmes mots-clés. Nous mettons également à jour une chaîne nommée message qui peut être répondu à l'utilisateur en tant que message d'état.
si 'on' dans la commande: message = "Allumé" si 'blanc' dans la commande: message = message + "blanc" GPIO.output (blanc, 1) si "jaune" dans la commande: message = message + GPIO "jaune".output (jaune, 1) si 'rouge' dans la commande: message = message + "rouge" GPIO.output (rouge, 1) si 'vert' dans la commande: message = message + "vert" GPIO.output (vert, 1) si 'tout' dans la commande: message = message + "all" GPIO.output (blanc, 1) GPIO.output (jaune, 1) GPIO.output (rouge, 1) GPIO.output (vert, 1) message = message + "lumière (s)" telegram_bot.sendMessage (chat_id, message)
Comme indiqué ci-dessus, nous recherchons des mots clés tels que "vert", "blanc", "rouge", "jaune" et "tout" et "allumé" cette LED particulière seule. Une fois le travail terminé, nous renvoyons un message à l'utilisateur sur ce qui vient de se passer. La même méthode peut être utilisée pour bien éteindre les lumières.
si 'off' dans la commande: message = "Éteint" si 'blanc' dans la commande: message = message + "blanc" GPIO.output (blanc, 0) si "jaune" dans la commande: message = message + GPIO "jaune".output (jaune, 0) si 'rouge' dans la commande: message = message + "rouge" GPIO.output (rouge, 0) si 'vert' dans la commande: message = message + "vert" GPIO.output (vert, 0)) si 'tout' dans la commande: message = message + "all" GPIO.output (blanc, 0) GPIO.output (jaune, 0) GPIO.output (rouge, 0) GPIO.output (vert, 0) message = message + "lumière (s)" telegram_bot.sendMessage (chat_id, message)
Contrôle des LED avec Raspberry Pi et Telegram bot:
Connectez vos LED et lancez votre programme sur python. Assurez-vous d'avoir changé l'adresse du jeton de votre bot. Et commencez à taper les commandes que vous souhaitez. Par exemple, pour allumer la lumière rouge et jaune, vous pouvez utiliser l'une des commandes suivantes.
1.Tournez sur Rouge et Jaune clair
2. activez la couleur rouge et jaune à droite
3. Sur le rouge et le jaune
4.Please mis sur le jaune et rouge lumière
Comme vous pouvez le voir, le bot ne recherche que les mots-clés et ignorera les autres mots de la phrase, de cette façon, vous pouvez lui parler naturellement. Le fonctionnement complet du projet peut être trouvé dans la vidéo donnée à la fin de cette page.
Aller de l'avant! jouez avec votre projet et amusez-vous. Vous pouvez l'amener à un tout autre niveau maintenant. Avec les deux tutoriels combinés, nous avons le pouvoir de contrôler n'importe quel matériel de notre téléphone intelligent n'importe où dans le monde et d'obtenir également des entrées / résultats de notre Raspberry Pi sous forme de message, audio, image et même en tant que document. Si vous remplacez les LED par des relais et des appareils CA, il peut s'agir d'une domotique contrôlée par téléphone intelligent. Alors, utilisez votre créativité et construisez vos propres projets sympas…
J'espère que vous avez aimé le projet et que vous avez aimé construire quelque chose de similaire. Faites-moi savoir si vous rencontrez des problèmes via la section commentaires et je serai heureux de vous aider. Partagez également votre idée géniale avec moi et laissez-nous voir ce que nous pouvons construire.