ESP8266-01S Mit Breadboardadapter ITA
ESP8266-01S Mit Breadboardadapter ITA
ESP8266-01S Mit Breadboardadapter ITA
Grazie per aver acquistato il nostro modulo con Adattatore per Breadboard
AZ-Delivery ESP8266-01S. Nelle pagine seguenti, ti illustreremo come
utilizzare e configurare questo pratico dispositivo.
Buon divertimento!
Il modulo ESP8266 è un System on a Chip (SoC), prodotto dalla società
cinese Espressif. Consiste in un microcontrollore Tensilica L106 a 32 bit e
un ricetrasmettitore wifi. Ha 11 pin GPIO (General Purpose Input/Output) e
anche un ingresso analogico. Ciò significa che puoi programmarlo come un
qualsiasi normale Arduino o qualsiasi altro microcontrollore. E la cosa
migliore dell'ESP8266 è che con esso ottieni una comunicazione wifi, quindi
puoi usarlo per connetterti alla tua rete wifi, a Internet, ospitare un server
web con pagine Web reali, lasciare che il tuo smartphone si colleghi ad
esso, ecc.
» 802.11 b/g/n
» MCU a 32-bit a bassa potenza integrato
» 10-bit ADC Integrato
» Stack di protocollo TCP/IP integrato
» Switch TR integrato, balun, LNA, amplificatore di potenza e rete
corrispondente
» PLL, regolatori e unità di gestione dell'alimentazione integrati
» Supporta la diversità dell'antenna
» Wi-Fi 2.4 GHz, supporta WPA/WPA2
» Supporta modalità di funzionamento STA/AP/STA+AP
» Supporta Funzione Smart Link sia per dispositivi Android che iOS
» SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO
» STBC, 1x1 MIMO, 2x1 MIMO
» Aggregazione A-MPDU & A-MSDU e guard interval da 0.4s
» Potenza sonno profondo <10uA, corrente dispersione power down <
5uA
» Si avvia e trasmette pacchetti in < 2ms
» Consumo in standby < 1.0mW (DTIM3)
» +20dBm di potenza di uscita in modalità 802.11b
» Intervallo operativo di temperatura: -40 °C ~ 125 °C
Esistono molte schede di sviluppo diverse basate sull'ESP8266, quindi
l'ESP8266-01S è una di queste. Ha 8 pin (designazione dei pin
nell'immagine qui sotto).
Come puoi vedere, abbiamo due pin GPIO liberi, GPIO0 e GPIO2.
Possiamo quindi usare GPIO0 e GPIO2 come ingressi o uscite digitali come
in un normale microcontrollore. Nell'esempio (più avanti nell'eBook)
useremo GPIO2 per leggere i dati dal modulo sensore di temperatura
DHT22.
Adattatore FTDI
https://www.az-delivery.de/products/ftdi-adapter-ft232rl?ls=en
Abbiamo utilizzato questa connessione nel nostro eBook sull'ESP8266-01S con relè:
https://www.az-delivery.de/products/esp8266-01-mit-relais-kostenfreies-e-book?_pos=2&_sid=ffbf81394&_ss=r&ls=de
C'è un altro modo per programmare l'ESP8266-01S, ed è con un adattatore
USB dedicato (immagine sotto), ma non ne parleremo nemmeno in questo
eBook.
Poiché il secondo modo offre molta più libertà in ciò che è possibile creare,
tratteremo solo questo modo di programmare ESP8266-01S in questo
eBook.
Abilitare il chip
Ci sono alcune cose a cui devi fare attenzione quando usi un ESP8266-
01S: La cosa più importante è che funziona a 3.3V, quindi se lo colleghi a
un alimentatore a 5V, lo romperai. A differenza di alcune schede Arduino da
3,3 V, i pin I/O dell'ESP8266 non tollerano i 5 V, quindi se si utilizza un
convertitore da USB a seriale da 5 V o sensori da 5 V ecc..
I/O Digitale
Proprio come un normale Arduino, l'ESP8266 ha pin di ingresso/uscita
digitali o GPIO - Pin di ingresso/uscita per uso generico. Come suggerisce il
nome, possono essere utilizzati come ingressi digitali per leggere una
tensione digitale o come uscite digitali per emettere 0V (corrente di
dispersione) o 3.3V (corrente di alimentazione).
L'ESP8266 è un microcontrollore da 3.3 V, quindi anche il suo I/O funziona
a 3.3 V.
- I pin non tollerano 5 V, applicando più di 3.6V SU QUALSIASI PIN
romperà il chip!
- La corrente massima che può essere prelevata da un singolo pin GPIO è
12mA!
Pin utilizzabili
L'ESP8266 ha 17 pin GPIO (0-16), tuttavia è possibile utilizzarne solo 2,
poiché per l'ESP8266-01S solo due sono disponibili sui pin di breakout. Se
si tenta di utilizzare altri pin, è possibile che il programma si blocchi.
I pin GPIO1 e GPIO3 sono usati come TX e RX della Porta seriale
dell'hardware (UART). Puoi usarli come GPIO, ma nella maggior parte dei
casi non dovresti usarli come GPIO mentre si inviano/ricevono dati seriali.
Modalità di avvio
Come accennato nel capitolo precedente, alcuni pin GPIO hanno una
funzione speciale durante l'avvio, selezionano 1 di 3 modalità di avvio:
Interfaccia seriale
l'ESP8266 ha due hardware UARTS (porte seriali), ma è possibile
utilizzarne solo uno sul modulo ESP8266-01S, UART0 sui pin 1 e 3 (TX0 e
RX0 rispettivamente)
L'ESP8266 come microcontrollore - Software
I/O Digitale
Proprio come con un normale Arduino, puoi impostare la funzione di un pin
usando pinMode(pin, mode) dove "pin" è il numero GPIO e "mode" può
essere INPUT (che è l'impostazione predefinita), oppure OUTPUT, oppure
INPUT_PULLUP per abilitare le resistenze pull-up integrate per GPIO 0-15.
Per abilitare il resistore pull-down per GPIO16, devi usare
INPUT_PULLDOWN_16 (per l'ESP8266-01S, non puoi accedere a GPIO16
quindi questo vale solo per l'ESP8266 generale). Per impostare un pin di
uscita HIGH (3.3 V) o LOW (0 V), utilizza digitalWrite (pin, valore) dove "pin"
è il pin digitale e "valore" 1 o 0 (oppure HIGH e LOW). Per leggere un input,
utilizza digitalRead (pin). Per abilitare PWM su un determinato pin, utilizza
analogWrite (pin, value) dove "pin" è il pin digitale e "value" un numero
compreso tra 0 e 1023. È possibile modificare l'intervallo dell'uscita PWM
utilizzando analogWriteRange (new_range). La frequenza può essere
modificata utilizzando analogWriteFreq (new_frequency), "new_frequency"
dovrebbe essere compreso tra 100Hz e 1000Hz
Comunicazione seriale
Per usare UART0 (TX = GPIO1, RX = GPIO3), puoi usare l'oggetto Seriale,
proprio come in un Arduino: Serial.begin(baud_reate). Sono supportate
anche tutte le funzioni di Arduino Stream, come read, write, print, println, ....
Condivisione del tempo della CPU con la parte RF
Per tutti e tre i moduli collegare tutti i pin GND insieme! (Fili neri)
Software
nel campo URL "Additional Board Manager" . (Puoi aggiungere più URL,
separandoli con virgole.)
Vai poi su Tools > Board > Board Manager e cerca "esp8266". Seleziona la
versione più recente e fai clic su Installa. Dopo questo molti esempi di
sketch, verranno installate le schede.
Ora dobbiamo impostare quale scheda programmare.
Vai su Tools > Board > {board name} e scegli "Generic ESP8266 Module".
Quando scegli questa scheda ci sono anche altre opzioni che puoi
impostare. Quando si aprono i menu a discesa "Tools" dopo che avrai
scelto "Generic ESP8266 Module", ci saranno diverse opzioni che puoi
impostare. Ai fini di questo eBook lascia tutto così com'è, perché non
entreremo nei dettagli. Basta scegliere la porta su cui è connessa la tua
schedad.
Esempio di applicazione
Abbiamo scritto sul DHT22 nel nostro eBook del Sensore DHT22
https://www.az-delivery.de/products/dht-22-modul-kostenfreies-e-book?_pos=3&_sid=8bfd4bac3&_ss=r&ls=en .
Non ci addentreremo quindi nei dettagli di questo sensore. Tutto ciò che
devi fare è scaricare la libreria "SimpleDHT" , e aggiungila all'IDE di Arduino
se non hai usato DHT22 prima di ora. Per scaricare questa libreria vai al
link: https://github.com/winlinvip/SimpleDHT .
Dop oaver scaricato il file “.zip” , apri l'Arduino Uno e vai su:
Sketch > Include Library > Add .ZIP Library, e aggiungi il file zip scaricato.
Dopo di questo vai su: File > Examples > SimpleDHT > DHT22Default e
apri lo sketch. Useremo il codice di questo sketch nel nostro sketch.
#include <SimpleDHT.h>
int pinDHT22 = 2;
SimpleDHT22 dht22(pinDHT22);
float temperature = 0;
float humidity = 0;
void setup() {
pinMode(pinDHT22, INPUT);
Serial.begin(9600);
}
void loop() {
temperature = 0;
humidity = 0;
Serial.println("=================================");
Serial.println("Sample DHT22...");
int err = SimpleDHTErrSuccess;
if((err = dht22.read2(&temperature, &humidity, NULL)) !=
SimpleDHTErrSuccess) {
Serial.print("Read DHT22 failed, err=");
Serial.println(err);
delay(2000);
return;
}
Serial.print("Sample OK: ");
Serial.print((float)temperature); Serial.print(" *C, ");
Serial.print((float)humidity); Serial.println(" RH%");
delay(2500);
}
E quando avvii il Monitor Seriale (Tools > Serial Monitor) l'output dovrebbe
essere così: (come nell'Arduino o Raspberry Pi)
Abbiamo utilizzato un baud rate di 9600 nello sketch, quindi assicurati che
in Uscita Seriale sia impostato il baud rate di 9600.
https://az-delivery.de
Buon divertimento!
Impressum
https://az-delivery.de/pages/about-us