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

[IoT] Telegram Bot avec Arduino MKR WiFi 1010

Composants et fournitures

Arduino MKR WIFI 1010
× 1

À propos de ce projet

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 bot Telegram ?

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 :https://telegram.org/blog/bot-revolution)

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 vais laisser votre imagination faire plus avec... (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 :https://store.arduino.cc/arduino-mkr-wifi-1010
  • Arduino IDE 1.8.5 ou supérieur :https://www.arduino.cc/en/Main/Software
  • Un câble micro-usb pour connecter Arduino à votre PC
  • Une connexion Internet, elle 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 tutoriel est également destiné aux débutants.

Alors, tout d'abord, téléchargez l'Arduino IDE 1.8.5 de votre choix (fichier zip pour les '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
  • Depuis les Outils menu choisissez Tableaux 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'infos 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, Include Library et Gérer les bibliothèques. Recherchez Wifinina et installez-le 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.

Depuis le Outils->Tableau menu, vous trouverez les nouvelles cartes, choisissez le 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 Obtenir des informations sur la carte commande.

Félicitations, vous avez terminé avec l'IDE !

Étape 3 :Création du Telegram Bot

Créer un nouveau bot Telegram 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 le /start commande, 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 :https://core.telegram.org/bots#6-botfather

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'ils le partageront 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 le croquis ci-joint et décompressez-le, veuillez ne pas changer les noms et les dossiers à moins que vous ne sachiez ce que vous faites.

Modifier

Ouvrez le croquis, nous devons remplir quelques informations (image1),

Accédez à l'onglet arduino_secrets.h :

  • Recherchez les informations du réseau WiFi et saisissez le nom de votre réseau (SSID) et votre mot de passe.
  • Recherchez 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 tableau, cela ne prendra que quelques secondes.

En cas de problème, vérifiez s'il y a une faute de frappe et réessayez.

Testez

[IMPORTANT !] Le sketch 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 supportées, 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...)

Certificats Si vous rencontrez des erreurs lors de la connexion au serveur de télégrammes (journal :Bot non connecté) :

  • Ouvrir 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 Wi-Fi
  • Télécharger 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 pour chaque nouvelle commande. Chaque sous-marin s'occupera de terminer la commande et (éventuellement) renverra une information d'état à l'utilisateur.

Limitation d'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. Tu ne veux pas de ç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 uniquement les commandes d'utilisateurs bien connus.

Matériel

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 :https://www.arduino.cc/en/Guide/MKRWiFi1010

C'est tout, profitez-en !

Code

  • MKR1010Bot_V1_02.zip
MKR1010Bot_V1_02.zipC/C++
Croquis de Telegram Bot
Aucun aperçu (téléchargement uniquement).

Processus de fabrication

  1. GoPiGo v2 avec Windows IoT
  2. Contrôler l'accepteur de pièces avec Arduino
  3. Détecteur de fréquence audio
  4. Arduino avec Bluetooth pour contrôler une LED !
  5. Tech-TicTacToe
  6. Voltmètre DIY avec Arduino et un écran Nokia 5110
  7. compte à rebours Arduino
  8. Appareils Bluetooth à commande vocale avec OK Google
  9. Créer l'application Fridgeye avec un écran Nextion