Table des matières:
- Étape 1: ce dont vous avez besoin
- Étape 2: Installation de l'IDE
- Étape 3: Création du Telegram Bot
- Étape 4: Modifier, télécharger et tester l'esquisse
- Étape 5: Améliorations
Vidéo: [IoT] Telegram Bot avec Arduino MKR WiFi 1010 : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Ce projet montre comment interfacer Arduino avec les API Telegram Bot. Le projet est construit autour de la nouvelle carte MKR WiFi 1010 équipée d'un module ESP32 par U-BLOX.
A ce stade, le projet n'est plus qu'une preuve de concept, juste pour vous montrer ce que vous pourriez faire avec, donc pour cela vous n'avez besoin que de la carte Arduino.
Mais qu'est-ce qu'un Telegram Bot ?Eh bien, les Bots sont simplement des comptes Telegram gérés par des logiciels – pas des personnes – et ils auront souvent des fonctionnalités d'IA. Ils peuvent tout faire: enseigner, jouer, rechercher, diffuser, rappeler, se connecter, s'intégrer à d'autres services ou même transmettre des commandes à l'Internet des objets. (crédits par Telegram:
Dans notre cas, nous passerons des commandes à Arduino pour créer un simple appareil IoT. Il répondra à des commandes simples et activera / désactivera également la LED intégrée. Je laisse libre cours à votre imagination… (imaginez connecter un ou plusieurs relais aux broches I/O et allumer/éteindre un chauffage ou le système de climatisation avec votre smartphone, par exemple).
Étape 1: ce dont vous avez besoin
Pour ce projet, vous avez besoin de:
- Arduino MKR WiFi 1010 du magasin Arduino:
- Arduino IDE 1.8.5 ou supérieur:
- Un câble micro-usb pour connecter Arduino à votre PC
- Une connexion Internet, il nécessite le SSID et le mot de passe. Mieux vaut utiliser votre propre routeur domestique pour être sûr qu'il n'est pas bloqué.
- Application Telegram installée sur votre smartphone, quelle que soit la marque. Vérifiez également ici les versions PC et Web !
Étape 2: Installation de l'IDE
Ouais, je sais, je sais… la plupart d'entre vous ont déjà l'IDE Arduino installé sur le PC, mais ce Instructables est également destiné aux débutants. Alors, tout d'abord, téléchargez l'IDE Arduino 1.8.5 de votre choix (fichier zip pour 'non administrateurs' ou fichier exe)
La version 1.8.5 est recommandée, je n'ai pas testé les anciennes versions et la nouvelle carte utilisée dans le projet n'a pas pu être prise en charge du tout.
Vous devez maintenant installer les nouvelles cartes avec leurs pilotes:
- démarrer l'IDE
- Dans le menu Outils, choisissez Cartes puis, en haut de la liste des processeurs, choisissez Gestionnaire de cartes.
- Faites défiler la nouvelle fenêtre (voir image) jusqu'à ce que vous trouviez les cartes Arduino SAMD qui incluent le nouveau MKR WiFi 1010.
- Cliquez sur cet onglet ou cliquez sur Plus d'informations dans l'onglet, choisissez la dernière version et installez.
- Attendez que l'installation soit terminée. Il s'occupera également de l'installation des pilotes
- Vous avez également besoin d'une nouvelle bibliothèque WiFi pour cette carte: choisissez Sketch, Inclure la bibliothèque et Gérer les bibliothèques. Recherchez Wifinina et installez comme vous l'avez fait avec le processeur ci-dessus.
Connectez maintenant votre nouvelle carte Arduino et attendez que Windows termine l'installation du pilote.
Dans le menu Outils-> Carte, vous trouverez les nouvelles cartes, choisissez la MKR WiFi 1010.
Une autre bibliothèque spéciale est nécessaire pour ce projet, c'est la bibliothèque ESP8266TelegramBot de Giancarlo Bacchio. La bibliothèque a été légèrement modifiée pour fonctionner avec cette carte, elle est donc incluse dans le dossier du croquis.
Choisissez le bon port COM et testez la carte avec la commande Get Board Info.
Félicitations, vous avez terminé avec l'IDE !
Étape 3: Création du Telegram Bot
Créer un nouveau Telegram Bot est assez simple.
Ouvrez l'application Telegram et, dans la barre de recherche, tapez @BotFather et démarrez une conversation avec lui (image1). BotFather est la… Bot factory. Cela vous aidera à créer un nouveau bot et à modifier ses paramètres.
Après la commande /start, vous verrez la liste d'aide (image2).
- Tapez /newbot (image3) Tapez maintenant le nom de votre bot. Le nom est affiché dans les coordonnées et ailleurs.
- BotFather vous demandera un nom d'utilisateur. Le nom d'utilisateur est un nom court, à utiliser dans les mentions et les liens telegram.me. Les noms d'utilisateur comportent entre 5 et 32 caractères et ne sont pas sensibles à la casse, mais ne peuvent inclure que des caractères latins, des chiffres et des traits de soulignement. Le nom d'utilisateur de votre bot doit se terminer par « bot », par ex. 'tetris_bot' ou 'TetrisBot'.
- Si le nom et le nom d'utilisateur sont valides, vous recevrez une longue chaîne de caractères appelée TOKEN. Il s'agit de votre « clé » personnelle utilisée pour communiquer avec les serveurs Telegram. Copiez-la et collez-la dans un fichier texte sur votre PC pour le moment. Nous l'utiliserons plus tard dans le code Arduino. Si vous le perdez, ne vous inquiétez pas, rouvrez simplement le chat et tapez /token pour en générer un nouveau.
Toutes les étapes sont décrites ici:
Avancé (facultatif)
Rouvrez le chat et tapez /help
Cliquez sur (ou tapez) /setuserpic pour télécharger une image pour votre bot. Cliquez sur (ou tapez) /setabouttext pour définir la section À propos de votre Bot: les gens verront ce texte sur la page de profil du bot et il sera envoyé avec un lien vers votre bot lorsqu'il le partage avec quelqu'un.
Cliquez sur (ou tapez) /setdescription pour définir une section de description pour votre bot. Les gens verront cette description lorsqu'ils ouvriront une discussion avec votre bot, dans un bloc intitulé « Que peut faire ce bot ? »
Étape 4: Modifier, télécharger et tester l'esquisse
Il est temps de télécharger le logiciel sur la carte Arduino MKR WiFi 1010.
Téléchargez les fichiers joints, pour une raison quelconque, je ne peux pas télécharger un ZIP, alors créez un dossier nommé comme croquis et copiez tous les 4 fichiers qu'il contient, veuillez ne pas changer les noms à moins que vous ne sachiez ce que vous faites.
Modifier
Ouvrez le croquis, nous devons remplir certaines informations (image1): remplissez le fichier arduino_secrets.h avec vos identifiants wifi et télégramme.
- Localisez les informations du réseau WiFi et saisissez le nom de votre réseau (SSID) et votre mot de passe.
- Localisez les informations du télégramme Bot et saisissez le nom, le nom d'utilisateur et le jeton fournis par @BotFather
Télécharger
Assurez-vous que la carte est correcte (image2) dans l'ide et connectée puis essayez de compiler le code. Si la compilation se passe bien, téléchargez-la sur le forum, cela ne prendra que quelques secondes.
En cas de problème, vérifiez s'il y a une faute de frappe et réessayez.
Test
[IMPORTANT !] L'esquisse envoie les journaux à l'IDE. Le processeur dispose d'un port USB natif (comme les cartes Leonardo). Une fois allumé, le code attendra que le moniteur série fonctionne. Alors, laissez-le connecté au PC et ouvrez le moniteur série. Arduino se connectera d'abord à Internet, puis commencera à interroger le serveur Telegram pour de nouveaux messages (image3).
Ouvrez maintenant Telegram sur votre appareil préféré et, dans la zone de recherche, saisissez le nom de votre bot (pas le nom d'utilisateur qui se termine par « bot »). Ouvrez une discussion avec lui.
La première commande pour démarrer une discussion avec un bot est /start, notre Arduino répondra avec un message de bienvenue. Maintenant, tapez help (sans slash), il répondra avec une liste de commandes prises en charge, vous pouvez toutes les essayer (image4).
Vous avez terminé le test, si quelque chose ne fonctionne pas, vérifiez les informations saisies dans le croquis (nom, nom d'utilisateur, jeton…)
CertificatsSi vous rencontrez des erreurs lors de la connexion au serveur de télégrammes (journal: Bot non connecté):
- Ouvrez Outils->Mise à jour Wifi101/wifinina
- Assurez-vous que votre carte est connectée, vérifiez les ports à gauche de l'outil de mise à jour, la carte doit être là
- Cliquez sur Ouvrir l'esquisse du programme de mise à jour et téléchargez-la sur le tableau
- Après le téléchargement, dans le programme de mise à jour, choisissez le dernier firmware pour votre carte et cliquez sur mettre à jour le firmware
- Après la mise à jour, dans le programme de mise à jour, section Certificats SSL, cliquez sur Ajouter un domaine, dans la boîte de dialogue, écrivez telegram.org:443 puis appuyez sur OK.
- Cliquez sur Télécharger les certificats vers le module wifi
- Téléchargez ce croquis sur le tableau
Étape 5: Améliorations
En regardant le code, il est très simple d'implémenter de nouvelles commandes et de répondre à l'utilisateur.
Nouvelles commandes: vous pouvez écrire un sous-titre pour chaque nouvelle commande. Chaque sous-marin s'occupera de terminer la commande et (éventuellement) retournera une information d'état à l'utilisateur.
Limiter les utilisateurs: Bien sûr, ce projet n'est qu'une démo. Tout utilisateur de Telegram peut se connecter à votre domicile et envoyer des commandes indésirables. Vous ne voulez pas ça !.
Eh bien, regardez l'image1, elle montre 2 utilisateurs connectés. Comme vous pouvez le voir, chaque utilisateur a son propre identifiant. Avec un peu de travail du côté du code, vous pouvez filtrer (ou créer une liste) pour les utilisateurs autorisés uniquement. Il suffit d'étudier le code et d'essayer d'intercepter le numéro d'identification de l'utilisateur. Ensuite, exécutez les commandes uniquement à partir d'utilisateurs bien connus.
Matériel: Du côté matériel, de nombreux capteurs et relais peuvent être connectés aux broches d'E/S d'Arduino.
Attention: la carte utilisée dans ce projet tolère 3,3V !!! Utilisez un décaleur de niveau de tension si nécessaire ! Pour plus d'informations et de conseils sur cette carte, veuillez lire ici:
C'est tout, profitez-en !
Conseillé:
Telegram Bot avec NodeMCU (ESP8266): 3 étapes
Telegram Bot With NodeMCU (ESP8266) : Besoin d'un bot pour envoyer des notifications depuis votre système ? ou faire quelque chose simplement en envoyant un message ? Telegram Bot est votre solution ! Dans ce tutoriel, j'utiliserai Telegram Web et BotFather pour créer mon bot
Utiliser les boucliers Arduino MKR avec Raspberry Pi : 8 étapes
Utilisez des boucliers Arduino MKR avec Raspberry Pi : Notre PiMKRHAT est un adaptateur HAT pour utiliser des cartes et des boucliers Arduino MKR avec le Raspberry Pi. Différents Arduino MKR Shields peuvent être utilisés via notre HAT comme extension pour le Raspberry Pi. Je veux montrer dans ce petit projet comment utiliser l'Ardu
Utilisation du capteur de mouvement avec RaspberryPi et Telegram Bot : 4 étapes
Utilisation du capteur de mouvement avec RaspberryPi et Telegram Bot : Salut les gars. Dans cet article, nous allons utiliser Raspberry Pi Telegram Bot avec capteur PIR (mouvement)
Machine d'alimentation pour animaux de compagnie avec RasPi et Telegram Bot : 4 étapes (avec photos)
Pet Feeder Machine With RasPi et Telegram Bot: Tout d'abord, je dois préciser qu'il ne s'agit pas d'une idée originale, il suffit de mettre à jour et d'adapter les scripts de programmation pour qu'ils fonctionnent avec le télégramme, je l'ai trouvé dans un précédent Instructable, donc les crédits sont vraiment les auteur de celui-ci. Vous pouviez voir l'espagnol
Smart House Telegram Bot avec Nodemcu (esp8266, Relay, Ds18b20): 8 étapes
Smart House Telegram Bot With Nodemcu (esp8266, Relay, Ds18b20): Dans ce tutoriel, je vais vous montrer comment créer un bot de télégramme et contrôler la maison en l'utilisant. Mais d'abord, abonnez-vous à ma chaîne Telegram et découvrez de nouveaux projets plus rapidement que les autres. C'est une motivation pour moi. C'est parti