Instant-Messenger für ESPs und Arduinos - Teil 1 - AZ-Delivery

Bonjour à tous

Dans les articles de blog précédents, nous avons déjà montré comment envoyer des packages MQTT et des Gmails avec l'ESP8266. L'envoi et la réception de messages MQTT ne sont généralement intéressants que pour les utilisateurs de maison intelligente et Gmail ne convient que pour la notification push dans une mesure limitée, c'est pourquoi je veux montrer l'envoi de messages de télégramme avec l'ESP dans les deux articles suivants.

Aujourd'hui, nous faisons le travail préparatoire. Nous enregistrons Telegram, créons un bot, installons CURL pour Windows et travaillons avec le bot depuis la ligne de commande.

Dans le prochain article, je montre comment cela peut être mis en œuvre par des microcontrôleurs.

Nous avons besoin de:

  • Carte ESP8266
  • Smartphone (avec numéro de téléphone portable pour l'enregistrement)

 

Qu'est-ce que le télégramme?  Telegram est un messager instantané similaire à WhatzApp, mais avec quelques différences importantes. Contrairement à WhatzApp, Telegram est open source et il existe une API (documentée) disponible, les soi-disant «bots» sont également pris en charge. Que sont les bots?Un (ro) bot est un service automatique qui peut envoyer et recevoir des messages sans avoir besoin d'un appareil physique ou d'une intervention de l'utilisateur.

Enregistrer un compte Telegram:

Un numéro de téléphone est requis pour créer un compte Telegram. Vous pouvez vous inscrire avec un PC ou directement avec un téléphone mobile. Après avoir téléchargé l'application ou l'application, le numéro est vérifié en entrant un code de sécurité (via SMS)

Si vous avez choisi le programme de bureau, la fenêtre suivante s'ouvre après vérification:

Il n'y a pas encore de contacts stockés dans le carnet d'adresses, c'est pourquoi seule la fenêtre vide est affichée.

Créer un bot:

Le bot est créé de manière interactive en utilisant le "botfather". Pour établir une connexion avec Botfather, cliquez sur la barre de recherche dans Telegram et entrez "Botfather":

Utilisez le bouton "Démarrer" pour démarrer une conversation avec Botfather:

Ensuite, nous voyons déjà les commandes avec lesquelles nous pouvons créer / configurer / gérer notre bot. En principe, le chat peut être utilisé comme une ligne de commande. "/ newbot" indique au botfather de créer un nouveau bot. Ensuite, on nous demande le nom de notre bot:

Ensuite, pour le nom d'utilisateur, à des fins de test, j'ai choisi "azdemobot".

Une fois le bot créé, nous recevons un jeton pour l'API. Nous avons maintenant résumé Nom du botla Identifiant  et que Jeton.

Le jeton joue un rôle central et ne doit pas être partagé avec d'autres utilisateurs car le titulaire peut contrôler entièrement le bot.

Si nous recherchons notre bot, nous trouvons le service que nous venons de créer et pouvons démarrer une conversation en cliquant sur le bouton "START":

Dans notre exemple, le bot sert d'interface Web. Pour vérifier si tout a fonctionné, nous pouvons utiliser l'outil de ligne de commande "curl". Les utilisateurs de Linux connaissent l'outil et peuvent ignorer l'installation.

Pour installer curl  il est nécessaire de stocker le chemin dans la console afin que Windows le transfère automatiquement à curl.exe lorsque la commande curl est entrée.

Curl peut être téléchargé ici

Selon le système d'exploitation utilisé, vous avez besoin de la variante 64 ou 32 bits.

Après le téléchargement et le déballage, nous déplaçons le dossier vers: "C: \ Users \ username \ curl"

Nous devons maintenant ajouter ce chemin aux variables d'environnement système, que vous pouvez trouver dans le menu Démarrer:

Choisissez ensuite Variables d'environnement ...

Marquez la ligne "Chemin" puis cliquez sur "Modifier ...", une nouvelle fenêtre s'ouvre:

Le chemin peut être cliqué sur le bouton "Nouveau" LE FICHIER EXE dans le répertoire bin! ajouté par curl:

Nous avons installé curl et pouvons l'utiliser à partir de la ligne de commande:

Nous pouvons maintenant tester si le bot que nous avons configuré fonctionne.

Pour travailler avec l'API, nous avons besoin de l'URL suivante:

Ici, nous avons toujours nos données ou le jeton, ainsi que le Méthode (c.-à-d. Instruction)  entrez. Dans notre cas, nous voulons vérifier si le bot a de nouveaux messages pour nous. Nous interrogeons donc "getUpdates" comme méthode:

Et obtenez la sortie suivante:

 

La zone marquée indique qu'aucune nouvelle information n'est disponible.

Envoyons maintenant un télégramme au bot:

Et relancez la requête:

Comme nous pouvons le voir, le "contenu" a changé. Curl offre également la possibilité de l'enregistrer directement dans un fichier ou de l'afficher dans différentes variantes. Si nous sauvegardions le contenu dans un fichier, le contenu ressemblerait à ceci:

Nous voyons donc le message que nous avons envoyé, ainsi que des informations supplémentaires telles que Chat et mise à jour de l'ID.

Cela fonctionne dans l'autre sens.

Entrons la commande suivante:

curl -k https://api.telegram.org/bot694546623:AAGIPm0_89TvPFDAiI0LVFS0Egg62845nNo/sendMessage  -d chat_id = 724358638 -d text = "C'était la première partie"

Si le message que nous avons envoyé via la ligne de commande apparaît dans la fenêtre Télégramme:

Bien sûr, vous devez utiliser votre jeton et l'ID de chat indiqué dans la requête.

Nous avons ainsi jeté les bases pour pouvoir communiquer via l'API en utilisant CURL, dans la deuxième partie de lundi, je montrerai comment cela peut être facilement mis en œuvre avec un ESP.

A demain :)

Esp-32Esp-8266Für arduinoProjekte für fortgeschrittene

5 commentaires

Frank

Frank

War ziemlich gut – nur fehlt die Fortsetzung! Bitte Teil zwei veröffentlichen!

rawa

rawa

wo bleibt der 2.Teil !!!

Steffen

Steffen

Würde mich auch über einen 2. Teil freuen!
Viele Grüße

tbretz

tbretz

Wo gibt es den 2. Teil ?

Tonx

Tonx

Hey richtig cool! kanns kaum erwarten heute den zweiten Teil zu lesen!

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Articles de blog recommandés

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery