Filodrammatica ViVa di Vigolo Vattaro - Altopiano della Vigolana (Trento) - Italia

Menu  Menu
Notizie
Attivitą
Tabella attivitą
Rassegne
Spettacoli
Scritti
Notizie dall'interno
Guide
Software/Hardware libero
Miei progetti
Mappa sito
Foto
Download
Mio curriculum
Dove siamo

Vedi anche  Vedi anche
 Medusa 4 Personal
 OpenScad
 Owncloud
 Guida a Openoffice.org
 Velocizza il tuo vecchio pc
 Arduino
 LaserOpenSource
 Display 16 segmenti con Arduino e TLC5940
 Impedire aggiornamento Windows 10
 Telegram con ESP-12E
 WeMos D1
 Ridurre uso memoria in Arduino

Guide » Telegram con ESP-12E

TELEGRAM E ESP-12E

Per programmare il modulo WiFi ESP-12E ho usato un USB to serial converter FTDI232 (con il ponticello della tensione impostato su 5V) .

Lo schema di collegamento è il seguente:

La foto della realizzazione pratica. Noterete che c'è un cavo nero lungo collegato a massa ma libero sull'altro capo (quello tratteggiato nello schema).

Avviato l'Ide di Arduino, io sto usando l'ultima versione disponibile a oggi: la 1.8.2, e andate su File > Impostazioni.

Nella casella URL aggiuntive per il Gestore schede inserite questo indirizzo:

https://github.com/esp8266/Arduino/releases/download/2.3.0/package_esp8266com_index.json

Fate clic su OK per chiudere la finestra di dialogo Impostazioni.

Ora andate su Strumenti > Scheda e, dal menu che appare a lato con l'elenco schede, in alto alla lista selezionate Gestore schede.

 

  

Dopo aver caricato la nuova lista in fondo troverete “esp8266 by ESP8266 Community” selezionare quello. Appariraà il pulsante di installazione, fate clic sul Installa pulsante. Attendere per un po '... Questo processo richiederà del tempo per scaricare e installare le nuove schede. Dopo l'installazione chiudete il programma Arduino e riavviatelo.

Collegate la scheda FTDI232 al computer. Se avete Ubuntu Linux non servirà fare niente perché i driver si installeranno da soli.
 

Per poter comunicare con Telegram da un telefono cellulare è necessario creare delle credenziali di un BOT.

La prima cosa da fare è creare un BOT e per fare questo utilizzeremo, indovinate un po’… Un BOT di Telegram! Aprite Telegram sul cellulare e cercate il contatto BotFather (ha l’immagine de “Il Padrino” in versione robotica). Seguite le istruzioni, la sequenza dovrebbe essere:
 
Newbot per iniziare la creazione di un nuovo bot
Digitate quindi il nome del vostro bot
Digitate quindi lo username del vostro bot (deve finire con “bot”)
Se avete fatto le cose per bene, avete creato il vostro bot!
IMPORTANTISSIMO!!!
 
Copiatevi, memorizzatevi e se non basta tatuatevi queste tre informazioni che BotFather vi ha dato:
Nome del BOT (lo decidete voi)
Username del BOT (anche questo lo decidete voi, e termina con “bot”)
Token: ve lo comunica BotFather al termine della creazione del bot
Potrebbe essere utile disabilitare la possibilità che il proprio BOT possa essere inserito arbitrariamente dentro gruppi (ci sono altri bot che fagocitano i bot, li inseriscono in gruppi e li bombardano di messaggi). Il comando è setjoingroups, seguire poi le istruzioni.
Andate su File > Nuovo, cancellate il testo e incollate quello che trovate scritto qui di seguito.
Inserite i dati della vostra rete WiFi al posto delle xxxxx e yyyyy, e del vostro BOT nella parte // Initialize Telegram BOT
 
 
/*******************************************************************
 
 
 *  this is a basic example how to program a Telegram Bot          *
 *  using TelegramBOT library on ESP8266                           *
 *                                                                 *
 *  Open a conversation with the bot, you can command via Telegram *
 *  a led from ESP8266 GPIO                                        *
 *  https://web.telegram.org/#/im?p=@FlashledBot_bot               *
 *                                                                 *
 *  written by Giancarlo Bacchio                                   *
 *  modify by Giuseppe tamanini                                   *
 *******************************************************************/
 
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <ESP8266TelegramBOT.h>
 
// Initialize Wifi connection to the router
char ssid[] = "xxxxx";              // SSID nome della tua rete wifi
char pass[] = "yyyyy";         // password della tua rete wifi
 
// Initialize Telegram BOT
#define BOTtoken "273464286:AAF8DobDM153webrB7EodlAsHo94kjr2RVQ"  // inserite il vostro BOTtoken
#define BOTname "nameBOT" // inserite il vostro BOTname
#define BOTusername "usernameBOT" // inserite il vostro BOTusername
 
TelegramBOT bot(BOTtoken, BOTname, BOTusername);
 
int Bot_mtbs = 1000; // millisecondi da aspettare per un nuovo messaggio
long Bot_lasttime;   // aggiorna il tempo dopo aver verificato se è arrivato un nuvo messaggio 
bool Start = false;
int Led=5; // Il led sarà collegato alla porta GPI05 della ESP-12E
 
/********************************************
 * EchoMessages - function to Echo messages *
 ********************************************/
void Bot_ExecMessages() {
  for (int i = 1; i < bot.message[0][0].toInt() + 1; i++)      {
    bot.message[i][5]=bot.message[i][5].substring(1,bot.message[i][5].length()); // esclude il primo carattere "/ledon" diventerà "ledon"
    Serial.println(bot.message[i][5]); // invia il comando sulla seriale
    if (bot.message[i][5] == "ledon") { //in base al messaggio ricevuto "ledon" "ledoff" "start"
      digitalWrite(Led, HIGH);   // accende il led
      bot.sendMessage(bot.message[i][4], "Il Led è acceso", "");
    }
    if (bot.message[i][5] == "ledoff") {
      digitalWrite(Led, LOW);    // spegne il led
      bot.sendMessage(bot.message[i][4], "Il Led è spento", "");
    }
    if (bot.message[i][5] == "start") {
      String wellcome = "Benvenuto su ArdulogioBOT, il tuo Bot personale con ESP8266"; //manda un messaggio di benbvenuto
      String wellcome1 = "/ledon : per accendere il led";
      String wellcome2 = "/ledoff : per spegnere il led";
      bot.sendMessage(bot.message[i][4], wellcome, "");
      bot.sendMessage(bot.message[i][4], wellcome1, "");
      bot.sendMessage(bot.message[i][4], wellcome2, "");
      Start = true;
    }
  }
  bot.message[0][0] = "";  //Svuota la stringa contenente il messaggio
}
 
void setup() {
  Serial.begin(115200);
  delay(3000);
 
  // configura la connessione
  Serial.print("Connessione Wifi: ");
  Serial.println(ssid);
  IPAddress ip(192,168,1,69); //ip da assegnare all'ESP-12E
  IPAddress gateway(192,168,1,1); //gateway del router
  IPAddress subnet(255,255,255,0); //subnet mask del router
  WiFi.config(ip, gateway, subnet);
  delay(3000);
 
  WiFi.begin(ssid, pass);
 
  Serial.println("");
  Serial.println("WiFi connessa");
  Serial.println("Indirizzo IP: ");
  Serial.println(WiFi.localIP());
  bot.begin();      // avvia le funzionalità di Bot
  pinMode(Led, OUTPUT); // imposta il pin digitale assegnato a Led come output
}
 
void loop() {
  if (millis() > Bot_lasttime + Bot_mtbs)  { //Se è passato il tempo Bot_mtbs in millisecondi
    bot.getUpdates(bot.message[0][1]);   // Controlla se c'è un nuovo messaggio
    Bot_ExecMessages();   //esegue la void Bot_ExecMessages()
    Bot_lasttime = millis(); //fa ripartire il tempo di attesa 
  }
}
 
Nel menu Sketch selezionate il comando Verifica/Compila e, se non avrete errori, sampre dal menu Sketch date il comando Carica. Potete farlo anche usanto i pulsanti appositi della barra Strumenti.
Se dopo la compilazione avrete questi errori:
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
 
Scollegate il cavo USB dal PC, collegate a massa il piedino REST (ultimo in alto a destra dello schema), reinserite il cavo e, dopo che l'ESP si è acceso, scollegate lil piedino REST dalla massa e ridate il comando Carica. Se funziona vedrete una serie di puntini apparire con la percentuale di programmazione fino al raggiungimento del 100%.
 
 
Ora scollegate l'alimentazione all'ESP-12E, scollegate i ponticelli rossi dai pin CH_PD e GPIO2 e i neri da GPIO15 e GPIO0. Rialimentate l'ESP e, se nell'IDE, fate clic sulla lente in alto a destra, dovreste vedere apparire:
WiFi connessa
Indirizzo IP:
192.168.1.69
Get update message
Send update request message up to : 0
no new message
 
 
Se per qualche motivo aveste come risposta dopo:
Get update message
failed to update
 
Lasciando tutto collegato, collegate e scollegate subito dopo il filo nero di massa al pin REST. Dopo pochi tentativi dovreste ottenere il risultato sperato.
Ora da Telegram, attraverso il vostro account BOT, inviate il comando /start dopo qualche istante vedrete apparire sul vostro cellulare il messaggio di benvenuto.
Buon divertimento
 
Giuseppe
 
print
Calendario  Calendario
Marzo 2019
L M M G V S D
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Data: 18/03/2019
Ora: 22:02
Accadde Oggi:
* 1968 - Gold standard: Il Congresso degli Stati Uniti annulla la necessitą che una riserva d'oro supporti la valuta statunitense.

Santi Cattolici:
* Sant'Anselmo II di Lucca, vescovo 18 marzo

Meteo  Meteo
Meteo Vigolo