Raspberry Pi a toujours été amusant et facile à construire des projets. Sa puissante architecture ARM et son système d'exploitation open source basé sur Linux nous ont beaucoup aidés à mettre en ligne nos projets en un rien de temps. Dans ce didacticiel, nous allons apprendre une autre façon intéressante de partager des données (fichiers / photos / vidéos / audios / texte) entre Raspberry Pi et notre téléphone mobile via une application de chat populaire appelée Telegram.
Pour ceux qui sont nouveaux sur Telegram, il s'agit d'une application basée sur le chat disponible dans le Play Store pour Android (également disponible pour Iphone et Windows) qui est très similaire à Whatsapp. Il a plus de 100 millions de téléchargements (comme sur 5-10-2017) sur le Play Store et les gens prétendent qu'il est plus rapide et plus fonctionnel que Whatsapp (doigts croisés). L'une des particularités de cette application est qu'elle prend en charge les bots. Ce qui signifie que cette application pour téléphone intelligent peut non seulement être utilisée par les humains mais aussi par la machine. Dans notre cas, la machine sera Raspberry Pi. Une fois que vous avez formé Raspberry Pi sur la façon d'agir en tant que bot, n'importe qui (si vous le rendez public) peut discuter avec votre Raspberry Pi comme discuter avec n'importe quelle personne normale et même partager des photos, des documents et des fichiers audio. Vous pouvez même l'entraîner à devenir votre propre assistant personnel, ça a l'air cool, non? Apprenons à construire unBot de télégramme Raspberry Pi.
Matériaux nécessaires:
- Tout Raspberry Pi connecté à Internet
- Un mobile exécutant une application Telegram.
Il n'y a pas beaucoup de matériel impliqué dans ce projet, alors détendez-vous sur votre chaise avec votre Pi et suivez les étapes ci-dessous. Si vous êtes nouveau sur Raspberry Pi, suivez notre article d'introduction à Raspberry Pi et d'autres tutoriels sur Raspberry Pi.
Étape 1: Installation de Telegram sur votre mobile
La première étape serait d'installer Telegram sur votre mobile. Telegram est disponible pour Android, IOS et même pour la plate-forme Windows, alors téléchargez votre application Telegram. Comme toute application, il y aura une petite procédure d'inscription pour commencer à utiliser Telegram, continuez jusqu'à ce que vous atteigniez votre écran d'accueil.
Étape 2: Parlez au père du robot
La prochaine étape serait de demander au Bot Father de nous créer un nouveau Bot. Dans le coin supérieur droit de l'écran d'accueil, il y aura une icône de recherche, cliquez dessus pour rechercher le nom «botfather». Botfather est un Bot en soi, il vous guidera pour créer un nouveau bot pour vous. Cliquez sur démarrer et sélectionnez / newbot comme indiqué dans l'image ci-dessous. Maintenant, le bot demandera quelques détails comme le nom de votre bot et le nom d'utilisateur du bot. Remplissez ces détails et souvenez-vous du nom d'utilisateur car nous en aurons besoin à l'avenir.
Étape 3: Obtention de votre jeton pour l'accès
J'ai nommé bot comme circuitdigest et le nom d'utilisateur comme circuitdigestBot. Après ce processus, le botfather vous donnera un jeton pour l'accès. C'est comme le mot de passe de votre bot, les gens peuvent contrôler le programme de votre bot à l'aide de cette clé de jeton. Alors gardez-le en sécurité et ne le partagez avec personne. Une fois que vous avez reçu cette clé de jeton, il est temps de passer à Raspberry Pi.
Étape 4: Telepot pour installer Telegram sur Raspberry Pi
L'utilisation de Telegram Bot dans Raspberry Pi est rendue possible par le package python appelé Telepot. Nous devons installer ce package sur Raspberry Pi en utilisant les commandes suivantes sur le terminal Lx
sudo apt-get install python-pip sudo pip installer telepot
Une fois Telepot importé dans Raspberry, nous pouvons utiliser ce package dans notre programme python pour communiquer avec notre Telegram Bot.
Étape 5: Programmation de votre Raspberry Pi
Le bot que nous venons de créer sur Telegram est comme un bébé, il ne peut rien faire seul à moins que nous lui apprenions quoi et comment faire les choses. Cet enseignement peut se faire via Raspberry Pi et script Python. Dans ce didacticiel, j'ai programmé le bot pour effectuer certaines actions de base comme l'envoi d'un message, d'une photo, d'un audio et d'un document. Ainsi, lorsque vous dites une commande particulière, elle répondra avec une action particulière, la commande et l'action sont répertoriées dans le tableau ci-dessous
Commande depuis Telegram |
Réponse de Raspberry Pi |
/salut |
Répond par une chaîne «Salut! CircuitDigest » |
/temps |
Réponses avec l'heure actuelle |
/logo |
Réponses avec une image (logo de CircuitDigest) |
/fichier |
Réponses avec un fichier (qui contient le programme actuel) |
/l'audio |
Réponses avec un fichier audio de démonstration |
Le programme complet pour réaliser les actions ci-dessus est donné au bas de cette page. Mais juste en dessous, j'ai expliqué les extraits importants du programme pour vous aider à comprendre comment le programme fonctionne.
La première étape est d' importer toutes les bibliothèques, ici nous aurons évidemment besoin de la bibliothèque de téléportation pour utiliser le bot Telegram. Nous utilisons également la bibliothèque time, timedate pour lire l'heure actuelle de Raspberry pi. Ensuite, nous créons un objet maintenant dans lequel la valeur est stockée.
import time, datetime import telepot depuis telepot.loop import MessageLoop now = datetime.datetime.now ()
L'étape suivante consiste à créer une fonction permettant d'effectuer des actions en fonction des commandes entrantes de l'application Telegram sur mobile. Ici, le nom de la fonction est action. C'est à l'intérieur de cette fonction que le bot prend vie. Notre bot ne peut pas lancer une conversation par lui-même, il ne peut répondre que si nous demandons quelque chose. Donc chaque fois que nous demandons quelque chose, il y aura un identifiant de chat. Cet identifiant de chat est quelque chose de similaire à une adresse, en utilisant uniquement cet identifiant de chat, un bot peut nous répondre. La première étape consiste donc à lire l'identifiant du chat et le message qu'il essaie de nous dire. Nous imprimons également le message reçu à des fins de débogage.
action def (msg): chat_id = msg command = msg print 'Reçu:% s'% commande
Plus bas dans la fonction, nous comparons cette commande avec un texte prédéfini et effectuons des tâches particulières. Cette première commande sera / hi à laquelle nous répondrons «Salut! CircuitDigest »
si commande == '/ hi': telegram_bot.sendMessage (chat_id, str ("Salut! CircuitDigest"))
La prochaine commande sera / time , à laquelle nous répondons l'heure actuelle. Nous avons déjà l'heure et la date, ici, divisez-les simplement en fonction des heures et des minutes et ajoutez-les en utilisant la fonction str .
commande elif == '/ time': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
La prochaine commande sera / logo , à laquelle le bot récupérera une image à partir d'une URL et nous l'enverra. Une image peut être envoyée depuis une URL ou depuis le disque dur. Ici, je viens d'utiliser l'URL qui affiche le logo de CircuitDigest.
commande elif == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
La commande suivante sera / file , qui enverra le fichier nommé Aisha.py à partir du disque dur. Vous pouvez envoyer n'importe quel fichier que vous souhaitez en modifiant l'adresse du répertoire
commande elif == '/ file': telegram_bot.sendDocument (chat_id, document = open ('/ home / pi / Aisha.py'))
La dernière commande sera / audio . Cela peut envoyer n'importe quel fichier mp3 à partir du disque dur, je viens d'utiliser un fichier audio appelé test.mp3 comme démo ici
commande elif == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
OK vient maintenant l' étape la plus importante, c'est ici que nous donnons accès à notre robot Telegram au script Python. Ici, nous nommons le bot telegram_bot et lui attribuons l'adresse de jeton qui a été donnée par notre botfather à l'étape 3. Dans la ligne ci-dessous, j'ai supprimé les derniers chiffres de mon jeton pour des raisons de confidentialité. Nous utilisons également l'impression qui me permet d'afficher les détails du Bot sur l'écran du shell, cela nous aidera à remarquer que les choses fonctionnent.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') print (telegram_bot.getMe ())
J'espère que vous avez compris comment fonctionne le programme, passons maintenant à l'étape suivante.
Étape 6: Exécution du programme dans votre Raspberry Pi
Comme indiqué précédemment, le programme complet est donné à la fin de cette page, vous pouvez également le télécharger à partir d'ici. Une fois que vous ouvrez le code, assurez- vous de changer l'adresse de jeton du programme en votre adresse de jeton.
Maintenant, exécutez le code python et vous devriez voir les détails de votre bot sur la fenêtre du shell comme ceci
Ici, le nom d'utilisateur de mon bot est circuitdigestBot. Si vous obtenez le nom de votre bots ici, cela signifie que tout va bien.
Une fois que vous voyez « opérationnel », cela signifie que votre bot est prêt pour l'action et peut maintenant répondre à vos commandes.
Étape 7: Profiter de la sortie
Maintenant, il ne reste plus qu'à vérifier à quel point votre bot répond bien à votre programme. Recherchez le nom de votre bot dans mon cas, c'est "circuitdigestBot". Recherchez le nom d'utilisateur et non le nom du bot, votre nom d'utilisateur doit se terminer par bot.
Une fois que vous avez ouvert votre bot, cliquez sur Démarrer et saisissez toutes les commandes telles que / hi, / time, / file, / logo ou / audio et vous devriez recevoir une réponse en conséquence.
Vous pouvez utiliser le script shell pour voir à quoi votre script répond actuellement. Le travail complet peut être trouvé à la vidéo donnée à la fin de cette page.
Étape 8: Donnez-moi un High Five
J'espère que vous avez compris le tutoriel et que vous pourrez maintenant créer ce robot de télégramme Raspberry pi et communiquer avec Raspberry Pi à l'aide de l'application Telegram. Hélas! Si vous rencontrez des problèmes, faites-le moi savoir dans la section des commentaires et j'essaierai de vous répondre. Dites-moi également comment vous avez aimé ce projet ou ce que vous aimeriez que je construise en l'utilisant dans les projets à venir.
Aussi, dans notre prochain tutoriel. Nous allons rendre cela plus cool en changeant la façon dont nous envoyons les commandes et en quelque chose de plus lié au matériel sur Raspberry Pi.