Contrôler le Kit Open Source d'Arduino avec un Bot Telegram

De Communauté de la Fabrique des Mobilités
Aller à :navigation, rechercher


Notre Bot Telegram passera des commandes à Arduino pour construire un simple projet IoT.

💼 porté par


BotFather.jpg


Telegram est une application de messagerie axée sur la rapidité et la sécurité. Elle est ultra-rapide, simple et gratuite. Nous pouvons utiliser Telegram sur tous nos appareils en même temps. Nos messages sont synchronisés de manière transparente sur n’importe quel nombre de téléphones, de tablettes ou d’ordinateurs.

Avec Telegram, nous pouvons envoyer des messages, des photos, des vidéos et des fichiers de tout type (doc, zip, mp3, etc.), ainsi que créer des groupes pouvant accueillir jusqu'à 100 000 personnes ou des canaux pour la diffusion à un public illimité. Nous pouvons écrire à nos contacts téléphoniques et rechercher des personnes par leur nom d'utilisateur. En conséquence, Telegram est à la fois un SMS et un email combinés - et peut répondre à tous les besoins de messagerie personnels ou professionnels. De plus, il prend en charge les appels vocaux cryptés de bout en bout (end-to-end).

Réalisation et modification d’un projet IoT du site hackster.io dans l’objectif de :

  • Tester la compilation de notre microcontrôleur sur le Kit Arduino MKR 1010 Wi-Fi
  • Vérifier la performance de la communication Wi-Fi du Kit
  • Créer un Bot Telegram et vérifier Interaction automatique entre Arduino et Telegram Bot


Ce projet nous permet simplement interfacer Arduino avec les APIs de Telegram Bot.

Exemple d'applications : Contrôler automatiquement des portes d’un véhicule connecté / cadenas connecté avec le Bot Telegram et Arduino MKR 1010 Wi-Fi

Code et bibliothèque ESP8266

Dans ce projet, nous utilisons une bibliothèque de logiciels libres; nous pouvons ainsi le redistribuer et / ou modifiez-le selon les termes du public général inférieur GNU Licence publiée par la Free Software Foundation; soit la version 2.1 de la licence, ou toute version ultérieure.

Plus d’information : https://github.com/esp8266/Arduino https://www.hackster.io/AppsByDavideV/iot-telegram-bot-with-arduino-mkr-wifi-1010-b835a4


Organisations utilisatrices ou intéressées pour utiliser la ressource :

Contributeur(s) : Utilisateur:Saeid Sharify

Tags : IOT, BOT, Arduino, Cadenas

Catégories : Logiciel, Matériel

Thème : Open HardWare, Voiture Connectée, Vélo et Mobilités Actives, Autopartage - location courte durée, Conseillers en mobilité, Logiciel Libre

Référent :

Défi auquel répond la ressource : Abaisser les barrières pour innover sur le véhicule, Améliorer les solutions et développer de nouvelles solutions de mobilités pour tous

Personnes clés à solliciter : Utilisateur:Saeid Sharify

Autre commun proche : Cadenas Connecté O.S. pour Vélo Partagé, Ouvre voiture universel et open source

Richesse recherchée :

Compétences recherchées :

Communauté d'intérêt : Communauté Voiture Connectée, Communauté de l'Open Hardware, Communauté des acteurs de l'autopartage et location courte durée, Communauté Vélo et Mobilités Actives, open_ligiciel

Type de licence : GNU Licence

Conditions Générales d’Utilisation (CGU) :

Niveau de développement :

Lien vers l’outil de gestion des actions :

Lien vers l’outil de partage de fichiers :

Besoins : # Composant mécatronique (idéalement Open Source) pour tester les fonctionnalités plus mécanique: telles, Cadenas connecté, contrôler des portes de Véhicule (autopartage), Relais électromécanique, etc.

Prochaines étapes : Test de projet Arduino4Car

Documentation des expérimentations : Schéma fonctionnel

ArchiFonc.png

En résumé :

  1. On crée un Bot Telegram,
  2. On compile le code sur Arduino,
  3. Arduino connecte au serveur de Telegram par Wi-Fi et Internet,
  4. On crée une liste d’utilisateur de Telegram, donc un réseau d’utilisateur,
  5. Tous les utilisateurs dans cette liste, peuvent interagir avec notre Bot Telegram,
  6. Bot Telegram interagi avec Arduino en fonction de :
    1. Une interruption / commande émise par Arduino ou Bot lui-même,
    2. Une commande émise par un utilisateur,





Autres informations

Liste des acteurs qui utilisent ou souhaitent utiliser ce commun : aucun pour le moment

Liste des CR d’atelier en lien avec ce commun :

Open API L'API de Telegram est ouverte et invite les développeurs à créer leurs propres applications Telegram. Il existe également une API Bot, une plate-forme pour développeurs qui permet à tout un chacun de créer facilement des outils spécialisés pour Telegram, d'intégrer tous les services et même d'accepter des paiements d'utilisateurs de partout dans le monde.

Bots Les Bots sont comme de petits programmes ou des applications tierces qui s'exécutent dans Telegram. Les utilisateurs peuvent interagir avec les Bots en leur envoyant des messages, des commandes et des requêtes en ligne. Nous contrôlons nos Bots à l'aide de requêtes HTTPS adressées à l'API de bot.

Que pouvons-nous faire avec les bots?

  • Obtenir des notifications et des nouvelles personnalisées. Un bot peut agir comme un journal intelligent, en envoyant un contenu pertinent dès sa publication.
  • Intégrer avec d'autres services. Un bot peut enrichir les discussions Telegram avec du contenu provenant de services externes.

Gmail Bot, Bot Image, Bot GIF, Bot IMDB, Bot Wiki, Bot Musique, Bot Youtube, Bot GitHub

  • Accepter les paiements des utilisateurs de Telegram. Un bot peut offrir des services payants ou fonctionner comme une vitrine virtuelle.
  • Créer des outils personnalisés. Un bot peut nous fournir des alertes, des prévisions météorologiques, des traductions, un formatage ou d'autres services.
  • Construire des jeux pour un ou plusieurs joueurs. Un bot peut offrir de riches expériences HTML5, allant de simples arcades et énigmes à des jeux de tir en 3D et des jeux de stratégie en temps réel.
  • Construire des services sociaux. Un bot peut mettre en relation des personnes recherchant des interlocuteurs basés sur des intérêts communs ou une proximité.
  • Et peut-être le plus intéressant : Interagir avec un Microcontrôleur connecté par Cloud.

Telegram Bot Les Bots ne sont que des comptes Telegram gérés par des logiciels. Cela nous permettre de supprimer des personnes de l’architecture de notre système en utilisant un peu des algorithmes d'intelligence artificielle.

Généralement un Bot peut régler plein de choses, parmi eux le plus intéressant dans le mode IoT, c’est d'intégrer à d'autres services et passer des commandes aux objets connectés.

Pour plus information : https://telegram.org/blog/bot-revolution

Applications Dans notre cas, nous passerons des commandes à Arduino pour construire un simple projet IoT. Il répondra à de simples commandes et allumera / éteindra également la LED intégrée. Une fois qu’un Bot Telegram peut contrôler une LED intégrée sur Arduino, ça vaut dire qu’il peut contrôler les broches d'E / S d’Arduino. Avec ceci, un Bot Telegram peut activer / désactiver automatiquement un cadenas connecté, ou les portes d’un véhicule connecté, et on peut superviser ce tous directement dans une application mobile, et interagir par cette application si nécessaire.

Pour faire cela, nous avons besoin de :

  1. L'application Open Source Telegram installée sur notre smartphone, PC ou Web!
  2. Arduino MKR Wi-Fi 1010
  3. Arduino IDE 1.8.5
  4. Nous devons installer
    1. La dernière version des cartes Arduino SAMD, qui incluent le nouveau MKR Wi-Fi 1010.
    2. Nouvelle bibliothèque Wi-Fi nommée Wifinina
    3. Bibliothèque : ESP8266TelegramBot library by Giancarlo Bacchio
  5. Un câble micro-USB pour connecter Arduino à notre PC
  6. Une connexion Internet nécessite le SSID et le mot de passe. Mieux vaut utiliser notre propre routeur domestique pour assurer qu'il n'est pas bloqué

Matériel Du côté matériel, de nombreux capteurs et relais peuvent être connectés aux broches d’E / S d’Arduino.

Création du Bot Telegram avec @BotFather

Il suffit de chatter à @BotFather et de suivre quelques étapes simples. Il nous montres tous. Une fois que nous avons créé un bot et reçu notre TOKEN d'autorisation, nous pouvons consulter le manuel de son API pour voir ce que nous pouvons apprendre à notre Bot.

Exemple du code Bot

https://core.telegram.org/bots/samples

Une fois qu’on a installé Telegram (application mobile / desktop / web) :

  1. Lancer @BotFather : https://telegram.me/BotFather
  2. Commencer une conversation avec @BotFather
    1. Type : /start
    2. Type : /newbot
      1. Nommer le Bot. Le nom sera affiché dans les coordonnées et ailleurs .
      2. Choisir un nom d’utilisateur : Username
        1. Le nom d'utilisateur de notre Bot doit se terminer par "bot", par exemple "Car_bot" ou "BikeBot".
      3. Si tout est bien, on recevoir une longue chaîne de caractères appelée TOKEN. C'est notre "clé" personnelle utilisée pour communiquer avec les serveurs Telegram. Nous l'utiliserons plus tard dans le code Arduino.


Pour d’information : https://core.telegram.org/bots#6-botfather

Code Arduino

Nous allons utiliser et modifier un code de Giancarlo Bacchio.

Etat de fonctionnement : Testé : OK (Bien tôt sur GitHub de FabMob)

Modification du code

• On modifie les informations du réseau Wi-Fi, (SSID) et mot de passe • On modifie les informations du télégramme Bot, le nom, le nom d'utilisateur et le TOEKN fournis par @BotFather. • Ensuite, la compilation et l’envoi de code sur l’Arduino, ne prend que quelques secondes

Vérification

Le code envoie des "Logs" à "IDE". Une fois le processeur soit sous tension, le code attendra que le moniteur série (serial monitor) soit en cours d'exécution. Donc, nous le laissons connecté au PC et ouvrons le moniteur série. Arduino va d’abord se connecter à Internet via Wi-Fi, puis il va commencer à interroger le serveur Telegram pour les nouveaux messages.

Maintenant, on ouvre Telegram sur notre appareil préféré et, dans la zone de recherche, on tape le nom de notre Bot. On ouvre donc une conversation avec notre Bot, dans l’application de Telegram.

La première commande pour démarrer une discussion avec un bot est / start, notre Arduino répondra avec un message de bienvenue. Maintenant, on type help (sans barre oblique), il répondra avec une liste des commandes prises en charge.

Et voilà c’est fait !