lunedì 4 gennaio 2016

Recenti battaglie con ESP8266


Dopo una lunga inattività blogghereccia, provo a ricominciare a documentare alcune delle esperienze che ho fatto in questo lungo periodo di assenza dai social.
Una delle ultime fide alle quali ho dedicato  del tempo, è stata quella di domare la scheda ESP8266-01, il modulo riportato in foto qui a fianco.
Grande come un francobollo (forse meno!) la schedina monta un microcontrollore a 40Mhz di tutto rispetto e consente (dopo che sarai riuscito a domarla!!) di avere semplicemente una connessione internet ovunque tu abbia una seriale disponibile. Infatti puo' essere collegata a qualsiasi periferica o microprocessore, o computer, soltanto collegando GND TX ed RX, in questo modo si potra' accedere ad internet attraverso il WiFi standard per la quale questa meravigliosa scheda è stata progettata.

Purtroppo chi ha commissionato il progetto, doveva avere necessita' soltanto di un paio di PIN del microprocessore, magari e' stata utilizzata come interruttore remoto, oppure come controllo remoto della temperatura. Sta di fatto che, sebbene il microcontrollore ESP8266 che è il chip contenuto nella scheda, abbia a disposizione molti PIN, la circuiteria ne mette a disposizione solo 2, GPIO0 e GPIO2.

Sebbene molti blog riportano tanti esperimenti e circuiti dedicati, ho trovato in pochissimi Blog la descrizione  dettagliata di come fare la programmazione della schedina; Questo fatto mi fa pensare che la maggior parte dei blasonati blog in giro per la rete, in effetti sia soltanto online per produrre contenuti a cottimo, senza effettivamente testare quanto descritto nei tutorial pubblicati. Il lavoro maggiore per chi ha la passione del Maker, è proprio quello di mediare le tante ciarlonerie che si trovano in giro per ottenere il risultato desiderato.
Dico questo perchè dopo aver letto una diecina di blog e tutorial in giro, in nessuno ho trovato la semplice descrizione di come fare per programmare VERAMENTE la scheda. La maggior parte ti descrive come ricevere i dati, ma se prima non la programmi....c'è poco da ricevere!!!

Quindi come si fa?

Questo di seguito e' il circuito da montare per poter programmare la schedina. Vanno montati due pulsanti (ma si puo' fare anche facendo corto tra due fili, tanto serve soltanto per la fase di programmazione, se sei bravo col codice e ti funziona tutto alla "prima botta" puoi anche montare tutto volante e fare contatto tra due fili)
Per mettere il microcontrollore in modalità programmazione si deve mettere a GND in PIN  GPIO0 durante la fase di accensione oppure durante il Reset (secondo pulsante).
Quindi collegato il modulino e preparato lo sketch sulla IDE di Arduino, basta premere e tenere premuto il pulsante P1 (GPIO0 - GND) e poi premere P2 (RST - GND) - Rilasciare P2 e in fine  rilasciare P1 ma solo  dopo iniziato l'upload del binario

Questa notizia, direi quasi banale, e' fondamentale da conoscere per poter inserire il proprio codice nel microcontrollore, ma, controllate voi, nessuno lo spiega chiaramente, quindi per poterlo fare ho perduto giorni di prove senza risultato.
Adesso sappiamo come fare a inserire il codice nel modulo.
Alla prossima puntata, un esempio di come utilizzare il modulino in un progettino.
Ciao