Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS








 


Progetti hardware
Home di ESP01

Basetta sperimentale per ESP01

Dati costruttivi della basetta sperimentale

Download dei file necessari per la realizzazione della basetta sperimentale




Informazioni di base:

- Come installare la IDE di Arduino
- Configurazione della IDE 
- Caricamento dei programmi
-Procedura con la basetta sperimentale
- Come caricare le librerie necessarie
- Piedinatura di ESP01

I sensori/attuatori compatibili con ESP01




Programmi vari

Temperatura e umidità con
DHT11/DHT/21/DHT22


Controllo di 1/2 relè via WiFi

DHT11/DHT21/DHT22 + 1 relè

Una stazione meteorologica con BMP280

Ricevere la data e l'ora esatta

Una stazione meteorologica con OpenWeatherMap

Monitorare la qualità dell'aria con BMP680



Programmi con Telegram





 
Programmi con in Db Firebase









Informazioni di base
per chi inizia con ESP01

In questa pagina troverai alcune informazioni utili per cominciare ad utilizzare un ESP01. In particolare:



Per chi inizia, tutto è un po' complesso: dove trovare e come utilizzare la IDE di Arduino, la configurazione delle schede, caricare le librerie...
In questo sito si parla principalmente dell'uso di alcune schede sperimentali, tuttavia non volevo ignorare del tutto l'argomento.
però, in pieno spirito open source e free software, perchè riscrivere informazioni che si possono facilmente reperire su internet, e scritte molto meglio di quello che potrei fare io?
Quindi, invece di fare una lunga (e probabilmente noiosa) esposizione, inserirò in questa pagina dei link che mi sono stati utili e che trovo tuttora preziosi.
I miei ringraziamenti e gratitudine a chi ha impegnato tempo ed energie per scriverli.



Come scaricare e installare la IDE di Arduino



La IDE di Arduino è il programma in cui si possono scrivere i programmi per tutti i tipi di Arduino (Uno, Nano, ecc), ma anche per tutte le schede ESP01, NodeCU ESP8266, ESP32 e molte altre.
Dopo aver scritto il programma è possibile compilarlo per il proprio tipo di microcontroller e verificare eventuali errori.
I programmi vengono scritti in un linguaggio C semplificato, che è un linguaggio ad alto livello, cioè può essere compreso da un essere umano. La compilazione lo trasforma in un linguaggio a basso livello, che verrà compreso da Arduino, ESPxxx, ecc.
Dopo la compilazione il programma compilato può essere trasferito al microcontroller ed eseguito.

Clicca qui per scaricare la IDE di Arduino nella versione 1.8.9 e/o nella versione 2.X.X








La configurazione della IDE di Arduino per ESP01 e NodeCU ESP8266



Per caricare un programma su di un ESP01 o NodeCU ESP8266, che usano lo stesso processore, è necessario eseguire una piccola configurazione della IDE di Arduino, identica per entrambi i microcontroller.
Per prima cosa, aprire la IDE stessa, selezionare "file" e poi "preferences" ( se la IDE è in inglese) o file/preferenze in italiano.
.

Nota: l'immagine riguarda la IDE nella versione 1.8.19. Nel frattempo è stata rilasciata la versione 2.x.x. Se si desidera vedere le istruzioni per questa versione (comunque molto simile alla precedente versione), si possono reperire le informazioni (in inglese) presso il sito "randomnerdstutorial", al seguente link:
https://randomnerdtutorials.com/installing-esp8266-nodemcu-arduino-ide-2-0/


pref



progr_2
Quando si appre la finestra, Spostarsi su "Additionals Boards manager URLs/URL aggiuntive per il Gestore schede e inserire questo link: http://arduino.esp8266.com/stable/package_esp8266com_index.json , che permette di gestire il chip 8266. e confermare con OK.

Nota: nel caso avessimo già inserito un'altra url, per esempio per l'ESP32, separarle da una virgola.



Aprire Tools/Boards/Boards Manager (Strumenti/Scheda/Gestore schede):
pref3



pref_4
Nel campo di ricerca inserire "esp8266".
Quando appare "esp8266 by ESP8266 Community" e premere su "Install".
Dopo pochi secondi la libreria verrà installata.



Per verificare se tutto è andato a buon fine, aprire la IDE di Arduino, cliccare su Tools/Board/Board Manager e selezionare "Generic ESP8266 Module"/"Strumenti/Scheda/Gestore schede/".
inf5



pref_6
Si vedono le informazioni della scheda. In genere vanno bene i settaggi proposti.
Ricordarsi di selezionare pa porta di comunicazione: Con Linux in genere è "/dev/tty/USB0"; con Windows in genere è "COMx".







Il caricamento dei programmi



Dopo aver configurato la IDE di Arduino per ESP01,  si può caricare il primo programma che normalmente si usa: il famosissimo "blink": il programma che semplicemente fa lampeggiare il led interno e vedere se funziona.
Per caricarlo sulla IDE di Arduino:
file
    esempi
             01 basics
                         blink

Poi cliccare sul pulsante con la freccia verso destra per caricare il programma sul microcontroller.

Nota: se si usa ESP01, è necessario inserirlo nell'adattatore seriale che poi si connetterà via USB al personal computer. In questo caso, è necessario attivare il "programming mode", ponenendo in contatto GPIO0 e la massa prima di connettere l'adattatore al PC e tenendolo premuto poi per un paio di secondi.
Clicca qui per ulteriori informazioni.
Se invece usi la basetta sperimentale, clicca qui.

blink
Il programma è tutto compreso nel rettangolo...



loading
In caricamento...
Nella immagine di sinistra si vede il processo di caricamento dello sketch, mentre a destra esso è terminato. Eè sufficiente scollegare e ricollegare il microcontroller alla USB per vedere il led lampeggiare. Operazione compiuta! loaded
... caricamento terminato.



A questo punto, il nostro ESP01 è pronto per caricare e testare tutti i nostri progetti!







La procedura con la basetta sperimentale



ESP01 è molto utile e versatile, ma il caricamento del programma - e il successivo uso - richiedono una procedura più elaborata che con i suoi fratelli maggiori ESP8266 e ESP32.
L'uso della basetta sperimentale rende tutto più semplice e rapido. Per maggiori informazioni, andare alla pagina della basetta sperimentale. Questa è la procedura di base:
  • Sotto l'adattatore ci sono tre file di cinque pin maschi. Inserire in verticale cinque jumper in modo da connettere i corrispondenti pin di J1 con J2, per alimentare il circuito con i 5 v provenienti dalla USB del computer.Vedi immagine seguente. I jumper sono di colore verde.
  • Il connettore JP1 (il jumper appare rosso nell'immagine) determina l'alimentazione (3,3 o 5v) degli zoccoli DG1,Dg2, DG3. JP2 ha la stessa funzione per I2C1, I2C2, I2C3. Normalmente ESP01 tollera anche moduli alimentati a 5v, ma iniziare sempre fornendo loro +3,3v, e solo nel caso non si rilevi il sensore, passare a +5v. Leggere con attenzione la nota corrispondente.
  • Inserire sulla basetta ESP01, l'adattatore seriale e i componenti necessari per il progetto.
  • Tenendo premuto il pulsante BT1 per alcuni secondi, inserire la presa USB del computer sull'adattatore seriale, per attivare la funzione di programmazione di ESP01.
  • Caricare lo sketch.
  • Sconnettere per un paio di secondi e poi ricollegare i cinque jumper tra J1 e J2, per eseguire lo sketch. In alternativa, disconnettere e riconnettere il cavo USB dall'adattatore seriale.

Note:

  • Un notevole vantaggio nell'usare la basetta sperimentale è che si può usare il monitor seriale con il progetto assembato, invece impossibile altrimenti.
  • I cinque jumper (verdi nell'immagine) possono essere incollati fra di loro, per rendere più pratico l'inserimento  e il disinserimento.
  • Porre molta attenzione ad alimentare gli zoccoli a +5v. Potrebbe danneggiare ESP01!
    Non usare su DG1, DG2, DG3 o I2C1, I2C2, I2C3 periferiche che richiedano diversi livelli di alimentazione. Quelli che richiedono tensioni inferiori potrebbero venire danneggiati!
  • Dopo aver caricato il programma e inserito un alimentatore da 6/9 v su PW1, o da 5 v su PW2, si può spostare i jumper collegando J2 a J3, passando quindi all'alimentazione autonoma. A questo punto è possibile disconnettere la presa USB del computer.



basetta
Il render della basetta leggermente ingrandita.
Evidenziati in verde i  5 jumper relativi all'alimentazione della basetta;
in rosso i 2 jumper relativi all'alimentazione delle periferiche.







Il caricamento delle librerie necessarie



Nel caso non si sia ancora capaci a caricare una libreria, suggerisco di fare una ricerca su Internet, dove si trovano ottimi manuali/video per effettuare questa operazione.

Questo è il link “ufficiale” di Arduino. E’ in inglese, ma con il traduttore è comunque del tutto comprensibile: https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries

Una brevissima indicazioneper installare una libreria:
cliccare sulla linguetta "Sketch" e poi "˚includi libreria".
Si hanno due possibilità:

  • Gestione librerie (consigliato);
  • Aggiungi libreria da file ZIP...

Gestione librerie: si apre una nuova finestra in cui si può inserire il nome della libreria ricercata. Nella finestra inferiore appaiono i risultati. Nel caso la si trovi, cliccare su "Installa".

Aggiungi libreria da file ZIP...: se non si trova la libreria necessaria con il metodo precedente, allora la si può ricercare nel web e caricarla in una cartella del computer. Cliccando su questa opzione, si apre una finestra in cui inserire il percorso della libreria scaricata.


libr

La finestra della IDE di Arduino per
la gestione delle librerie.
L'immagine è per la versione 1.8.19,
ma è analoga anche per la versione 2.x.x








La piedinatura di ESP01



ESP01 è stato progettato volontariamente come un microcontroller estremamente minimale, ma non per questo i programmi che saranno realizzati saranno del tutto elementari: infatti avendo due porte disponibili, possono essere configurate in vari modi, per esempio:
  • due in ingresso;
  • due in uscita;
  • ino in ingresso e uno in uscita;
  • inoltre, disponendo del protocollo I2C, può gestire un buon numero di periferiche che utilizzano questo protocollo.

Ora vediamo la piedinatura di ESP01.




In questa immagine si vede la scheda dall'alto, in cui sono indicati i suoi otto piedini e il loro utilizzo.

Verifichiamoli nel dettaglio la fila più a sinistra:
- GPI01 permette di trasmettere (TX) i dati durante la programmazione, per esempio controllando il funzionamento attraverso il monitor seriale
- CH_PD/EN raramente utilizzato. A volte viene collegato anch'esso ai 3,3v.
- RST esegue un reset hardware collegando questo piedino alla massa (GND) per un secondo circa.
- 3,3 V il pin di alimentazione della scheda. Attenzione NON alimentare con 5v, pena il danneggiamento del processore.

Ed ora la fila dei piedini posti a destra dell'immagine:
- GND il collegamento alla massa
- GPIO2 una delle porte di input/output. Nel protocollo I2C corrisponde a SCL/SCK (clock)
- GPIO0 l'altra porta di
input/output. Nel protocollo I2C corrisponde aSDA/SDI (data)
- GPIO3 la porta che durante la programmazione riceve i dati dal computer.

Abitualmente la ESP01 è in "operating mode", ovvero in modalità operativa. Per entrare in "programming mode" o "flashing mode", è necessario collegare il pin GPIO0 e GND, connettere la scheda al computer e mantenere il collegamento per qualche secondo, poi caricare il programma. Per tornare nella modalità operativa, disconnettere e riconnettere la scheda al computer (ovviamente senza collegare GPIO0 a GND).
Se non si usa la basetta sperimentale, il metodo migliore è quello di saldare un pulsante sull'adattatore seriale.

esp01_pinout
Piedinatura di ESP01


flashing_esp01
Per entrarre in modalità di programmazione, connettere GPIO0 a GND, collegare al computer e dopo un paio di secondi sconnettere GPIO0 da GND.




adatt
Il pulsante saldato sull'adattatore seriale per poter entrare in "programming mode". Guardando l'adattatore, si deve saldare il pulsante rispettivamente alla fila di sinistra dei connettori, rispettivamente il primo e il terzo partendo dall'alto.



Ecco il link a una pagina esterna al sito di EtichalDiy che mostra un ottimo video che illustrai primi passi per programmare il nostro ESP01, di cui ringrazio Emanuele Frisoni:
https://www.youtube.com/watch?v=_qDvhGHjTJ8















Per contatti: info@ethicaldiy.org