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

Ciao a tutti

Nei post precedenti del blog abbiamo già mostrato come inviare pacchetti MQTT e e-mail con ESP8266. L'invio e la ricezione di messaggi MQTT è per lo più interessante solo per gli utenti di case intelligenti e Gmail è adatto solo per la notifica push in misura limitata, motivo per cui voglio mostrare l'invio di messaggi di telegramma con l'ESP nei seguenti due articoli.

Oggi facciamo i lavori preparatori. Registriamo Telegram, creiamo un bot, installiamo CURL per Windows e lavoriamo con il bot dalla riga di comando.

Nel prossimo post mostrerò come questo può essere implementato dai microcontrollori.

Abbiamo bisogno di:

  • Scheda ESP8266
  • Smartphone (con numero di cellulare per la registrazione)

 

Che cos'è Telegram?  Telegram è un instant messenger simile a WhatzApp, ma con alcune differenze significative. A differenza di WhatzApp, Telegram è open source ed è disponibile un'API (documentata) e sono supportati i cosiddetti "bot". Cosa sono i robot?Un bot (ro) è un servizio automatico che può inviare e ricevere messaggi senza la necessità di un dispositivo fisico o dell'intervento dell'utente.

Registra account Telegram:

Per creare un account Telegram è necessario un numero di telefono. Puoi registrarti con un PC o direttamente con un telefono cellulare. Dopo aver scaricato l'app o l'applicazione, il numero viene verificato inserendo un codice di sicurezza (arriva tramite SMS)

Se hai scelto il programma desktop, dopo la verifica si aprirà la seguente finestra:

Non ci sono ancora contatti memorizzati nella rubrica, motivo per cui viene visualizzata solo la finestra vuota.

Crea bot:

Il bot viene creato in modo interattivo utilizzando il "botfather". Per stabilire una connessione con Botfather, fai clic sulla barra di ricerca in Telegram e inserisci "Botfather":

Usa il pulsante "Avvia" per iniziare una conversazione con Botfather:

Successivamente vediamo già i comandi con cui possiamo creare / configurare / gestire il nostro bot. In linea di principio, la chat può essere utilizzata come una riga di comando. "/ newbot" dice al botfather di creare un nuovo bot. Successivamente ci viene chiesto il nome del nostro bot:

Quindi per il nome utente, a scopo di test ho scelto "azdemobot".

Una volta creato il bot, riceviamo un token per l'API. Abbiamo ora riassunto il Nome del botil nome utente  e quello segno.

Il token svolge un ruolo centrale e non deve essere condiviso con altri utenti poiché il titolare può controllare completamente il bot.

Se cerchiamo il nostro bot, troviamo il servizio che abbiamo appena creato e possiamo avviare una conversazione facendo clic sul pulsante "INIZIA":

Nel nostro esempio, il bot funge da interfaccia web. Per verificare se tutto ha funzionato possiamo usare lo strumento da linea di comando "arricciatura". Gli utenti Linux hanno familiarità con lo strumento e possono saltare l'installazione.

Per installare l'arricciatura  è necessario memorizzare il percorso nella console in modo che Windows lo inoltri automaticamente a curl.exe quando viene immesso il comando curl.

Il ricciolo può essere scaricato qui

A seconda del sistema operativo utilizzato, è necessaria la variante a 64 o 32 bit.

Dopo aver scaricato e decompresso, spostiamo la cartella in: "C: \ Users \ username \ curl"

Ora dobbiamo aggiungere questo percorso alle variabili di ambiente di sistema, che puoi trovare nel menu di avvio:

Quindi scegli Variabili d'ambiente ...

Contrassegna la riga "Percorso" e fai clic su "Modifica ...", si aprirà una nuova finestra:

È possibile fare clic sul percorso sul pulsante "Nuovo" IL FILE EXE nella directory bin! aggiunto da ricciolo:

Abbiamo installato curl e possiamo usarlo dalla riga di comando:

Ora possiamo verificare se il bot che abbiamo configurato funziona.

Per funzionare con l'API è necessario il seguente URL:

Qui abbiamo ancora i nostri dati o il token, così come il Metodo (ad es. Istruzione)  Invio. Nel nostro caso, vogliamo verificare se il bot ha nuovi messaggi per noi. Quindi chiediamo "getUpdates" come metodo:

E ottieni il seguente output:

 

L'area contrassegnata indica che non sono disponibili nuove informazioni.

Ora inviamo un messaggio di telegramma al bot:

E riavvia la query:

Come possiamo vedere, il "contenuto" è cambiato. Curl offre anche la possibilità di salvarlo direttamente in un file o visualizzarlo in diverse varianti. Se salvassimo il contenuto in un file, il contenuto sarebbe simile al seguente:

Quindi vediamo il messaggio che abbiamo inviato, nonché informazioni aggiuntive come ID chat e aggiornamento.

Funziona al contrario.

Immettiamo il seguente comando:

curl -k https://api.telegram.org/bot694546623:AAGIPm0_89TvPFDAiI0LVFS0Egg62845nNo/sendMessage  -d chat_id = 724358638 -d text = "Questa è stata la prima parte"

Se il messaggio che abbiamo inviato tramite la riga di comando appare nella finestra di Telegram:

Ovviamente, devi usare il tuo token e l'ID chat mostrato nella query.

Abbiamo quindi gettato le basi per poter comunicare tramite l'API usando CURL, nella seconda parte di lunedì mostrerò come questo può essere facilmente implementato con un ESP.

A domani :)

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

5 commenti

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!

Lascia un commento

Tutti i commenti vengono moderati prima della pubblicazione