Logo LAFVINESP32 Basic Starter
Kit

Lista di imballaggio

LAFVIN ESP32 Basic Starter Kit - Lista di imballaggio

Introduzione ESP32

Novu à ESP32? Cuminciate quì! L'ESP32 hè una serie di microcontrollers System on a Chip (SoC) di pocu costu è di bassa putenza sviluppati da Espressif chì includenu capacità wireless Wi-Fi è Bluetooth è processore dual-core. Sè vo site familiarizatu cù l'ESP8266, l'ESP32 hè u so successore, carricu di parechje funziunalità novi.LAFVIN ESP32 Basic Starter Kit - Introduzione ESP32Specificazioni ESP32
Se vulete ottene un pocu più tecnicu è specificu, pudete piglià un ochju à e seguenti specificazioni dettagliate di l'ESP32 (fonte: http://esp32.net/) - per più dettagli, verificate a datasheet):

  • Connettività wireless WiFi: 150.0 Mbps data rate cù HT40
  • Bluetooth: BLE (Bluetooth Low Energy) è Bluetooth Classic
  • Processore: Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, running at 160 or 240 MHz
  • Memoria:
  • ROM: 448 KB (per l'avvio è funzioni core)
  • SRAM: 520 KB (per dati è istruzioni)
  • RTC fas SRAM: 8 KB (per u almacenamentu di dati è CPU principale durante u RTC Boot da u modu di sonnu profondu)
  • RTC slow SRAM: 8KB (per l'accessu di co-processore durante u modu di sonnu profondu) eFuse: 1 Kbit (di quale 256 bit sò usati per u sistema (indirizzu MAC è cunfigurazione di chip) è i 768 bit restante sò riservati per l'applicazioni di i clienti, cumprese Crittografia Flash è Chip-ID)

Flash integratu: flash cunnessu internamente via IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 è SD_DATA_1 nantu à ESP32-D2WD è ESP32-PICO-D4.

  • 0 MiB (chips ESP32-D0WDQ6, ESP32-D0WD è ESP32-S0WD)
  • 2 MiB (chip ESP32-D2WD)
  • 4 MiB (modulu SiP ESP32-PICO-D4)

Low Power: assicura chì pudete sempre aduprà cunversione ADC, per example, durante u sonnu prufondu.
Input / Output perifericu:

  • interfaccia periferica cù DMA chì include u toccu capacitivu
  • Convertitore analogico-digitale (ADC)
  • DAC (Convertitore Digitale-Analogicu)
  • I²C (Circuit Inter-Integrated)
  • UART (Ricevitore / Trasmettitore asincronu universale)
  • SPI (Interfaccia periferica seriale)
  • I²S (Sound Interchip Integrated)
  • RMII (Interfaccia Indipendente da Media Ridotta)
  • PWM (Modulazione di larghezza di impulsu)

Sicurezza: acceleratori hardware per AES è SSL / TLS

Cunsigliu di sviluppu ESP32

ESP32 si riferisce à u chip ESP32 nudu. Tuttavia, u terminu "ESP32" hè ancu usatu per riferite à i schede di sviluppu ESP32. L'usu di chips nudi ESP32 ùn hè micca faciule o praticu, soprattuttu quandu l'apprenu, a prova è a prototipazione. A maiò parte di u tempu, vi vulete aduprà una scheda di sviluppu ESP32.
Seremu aduprà a scheda ESP32 DEVKIT V1 cum'è riferimentu. A stampa sottu mostra a scheda ESP32 DEVKIT V1, versione cù pins 30 GPIO.LAFVIN ESP32 Basic Starter Kit - Schede di sviluppu ESP32Specificazioni - ESP32 DEVKIT V1
A tabella seguente mostra un riassuntu di e caratteristiche è e specificazioni di a scheda ESP32 DEVKIT V1 DOIT:

Numero di core 2 (dual core)
Wi-Fi 2.4 GHz finu à 150 Mbits/s
Bluetooth BLE (Bluetooth Low Energy) è Bluetooth legatu
Architettura 32 bits
Frequenza di u clock Finu à 240 MHz
RAM 512 KB
Pins 30 (secondu u mudellu)
periferiche Touch capacitivu, ADC (convertitore analogicu à digitale), DAC (convertitore digitale à analogicu), 12C (Circuit Inter-Integrated), UART (ricevitore / trasmettitore asincronu universale), CAN 2.0 (Controller Area Network), SPI (Interfaccia periferica seriale) , 12S (Inter-IC integratu
Sound), RMII (Reduced Media-Independent Interface), PWM (modulazione di larghezza di impulsu), è più.
Buttuni integrati Pulsanti RESET è BOOT
LED integrati LED blu integratu cunnessu à GPIO2; LED rossu integratu chì mostra chì a scheda hè alimentata
USB à UART
ponte
CP2102

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITVeni cun una interfaccia microUSB chì pudete aduprà per cunnette u bordu à u vostru urdinatore per carica u codice o applicà u putere.
Utilizà u chip CP2102 (USB à UART) per cumunicà cù u vostru urdinatore attraversu un portu COM utilizendu una interfaccia seriale. Un altru chip populari hè u CH340. Verificate quale hè u cunvertitore di chip USB à UART in u vostru bordu perchè avete bisognu di stallà i drivers necessarii per chì u vostru urdinatore pò cumunicà cù a scheda (più infurmazione nantu à questu più tardi in sta guida).
Questa scheda vene ancu cun un buttone RESET (pò esse marcatu EN) per riavvia a scheda è un buttone BOOT per mette a scheda in modalità lampeggiante (disponibile per riceve codice). Nota chì certi tavulini ùn anu micca un buttone BOOT.
Hè ancu cun un LED blu integratu chì hè cunnessu internamente à GPIO 2. Stu LED hè utile per debugging per dà una sorta di output fisicu visuale. Ci hè ancu un LED rossu chì si accende quandu furnisce u putere à u bordu.LAFVIN ESP32 Basic Starter Kit -boardPinout ESP32
I periferichi ESP32 includenu:

  • 18 canali Convertitore analogicu à digitale (ADC).
  • 3 interfacce SPI
  • 3 interfacce UART
  • 2 interfacce I2C
  • 16 canali di output PWM
  • 2 Convertitori da digitale à analogicu (DAC)
  • 2 interfacce I2S
  • 10 GPIO di rilevazione capacitiva

E caratteristiche ADC (convertitore analogicu à digitale) è DAC (convertitore digitale à analogicu) sò attribuite à pin statichi specifichi. Tuttavia, pudete decide chì pins sò UART, I2C, SPI, PWM, etc. - basta à assignà in u codice. Questu hè pussibule per via di a funzione di multiplexing di u chip ESP32.
Ancu s'ellu pudete definisce e proprietà di pins nantu à u software, ci sò pins assignati per difettu cum'è mostra in a figura seguenteLAFVIN ESP32 Basic Starter Kit - ESP32 PinoutInoltre, ci sò pins cù caratteristiche specifiche chì li facenu adattati o micca per un prughjettu particulari. A tavula seguente mostra quali pins sò megliu aduprà cum'è inputs, outputs è quelli chì avete bisognu à esse prudente.
I pins evidenziati in verde sò bè ​​da utilizà. Quelli evidenziati in giallu sò bè ​​​​per utilizà, ma avete bisognu di attentu perchè ponu avè un cumpurtamentu inesperu principarmenti à u boot. I pins evidenziati in rossu ùn sò micca cunsigliatu per utilizà cum'è inputs o outputs.

GP IO Input Output Notes
0 tiratu in su OK emette un signalu PWM à u boot, deve esse BASSU per entre in u modu lampeggiante
1 pin TX OK debug output à u boot
2 OK OK cunnessu à u LED di bordu, deve esse lasciatu flottante o BASSU per entra in u modu lampeggiante
3 OK pin RX HIGH in boot
4 OK OK
5 OK OK emette un signalu PWM à u boot, pin strapping
12 OK OK stivali falla se tiratu altu, strapping pin
13 OK OK
14 OK OK emette un signalu PWM à u boot
15 OK OK emette un signalu PWM à u boot, pin strapping
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK input solu
35 OK input solu
36 OK input solu
39 OK input solu

Cuntinuà a leghje per un analisi più detallatu è approfonditu di l'ESP32 GPIO è e so funzioni.
Ingressu solu pins
I GPIO da 34 à 39 sò GPI - input solu pins. Questi pin ùn anu micca resistori interni di pull-up o pull-down. Ùn ponu micca esse aduprati cum'è outputs, cusì utilizate questi pins solu cum'è inputs:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

Flash SPI integratu nantu à l'ESP-WROOM-32
GPIO 6 à GPIO 11 sò esposti in certi schede di sviluppu ESP32. Tuttavia, sti pins sò cunnessi à u flash SPI integratu nantu à u chip ESP-WROOM-32 è ùn sò micca cunsigliatu per altri usi. Dunque, ùn aduprate micca questi pin in i vostri prughjetti:

  • GPIO 6 (SCK/CLK)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

Touch capacitive GPIOs
L'ESP32 hà 10 sensori capacitivi interni di u toccu. Questi ponu sente variazioni in tuttu ciò chì cuntene una carica elettrica, cum'è a pelle umana. Cusì ponu detectà variazioni induce à toccu i GPIO cù un dettu. Questi pins ponu esse facilmente integrati in pads capacitivi è rimpiazzà i buttoni meccanichi. I pins touch capacitivi ponu ancu esse aduprati per svegliate l'ESP32 da u sonnu prufondu. Quelli sensori di toccu interni sò cunnessi à questi GPIO:

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

Convertitore da analogicu à digitale (ADC)
L'ESP32 hà 18 x 12 bit ADC canali di input (mentre l'ESP8266 hà solu 1x 10 bit ADC). Quessi sò i GPIO chì ponu esse aduprati cum'è ADC è canali rispettivi:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

Nota: I pin ADC2 ùn ponu micca esse usatu quandu Wi-Fi hè utilizatu. Allora, sè vo site cù Wi-Fi è avete prublemi à ottene u valore da un ADC2 GPIO, pudete cunsiderà aduprà un ADC1 GPIO invece. Chì duverebbe risolve u vostru prublema.
I canali di input ADC anu una risoluzione di 12 bit. Questu significa chì pudete uttene lettura analogica chì varieghja da 0 à 4095, in quale 0 currisponde à 0V è 4095 à 3.3V. Pudete ancu stabilisce a risoluzione di i vostri canali nantu à u codice è a gamma ADC.
I pins ESP32 ADC ùn anu micca un cumpurtamentu lineale. Probabilmente ùn sarete micca capaci di distingue trà 0 è 0.1V, o trà 3.2 è 3.3V. Avete bisognu di mantene in mente quandu utilizate i pin ADC. Averete un cumpurtamentu simili à quellu chì mostra in a figura seguente.LAFVIN ESP32 Basic Starter Kit - cumpurtamentuConvertitore digitale à analogicu (DAC)
Ci sò canali DAC 2 x 8 bits nantu à l'ESP32 per cunvertisce segnali digitali in voltage outputs di signale. Eccu i canali DAC:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
Ci hè un supportu RTC GPIO nantu à l'ESP32. I GPIO diretti à u sottosistema RTC di bassa putenza pò esse usatu quandu l'ESP32 hè in u sonnu prufondu. Questi RTC GPIO ponu esse aduprati per svegliate l'ESP32 da u sonnu prufondu quandu u Ultra Low
U coprocessore Power (ULP) hè in esecuzione. I seguenti GPIO ponu esse aduprati cum'è una fonte di sveglia esterna.

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

PWM
U controller ESP32 LED PWM hà 16 canali indipendenti chì ponu esse cunfigurati per generà signali PWM cù diverse proprietà. Tutti i pin chì ponu agisce cum'è output pò esse usatu cum'è pin PWM (GPIOs 34 à 39 ùn ponu micca generà PWM).
Per stabilisce un signalu PWM, avete bisognu di definisce questi parametri in u codice:

  • freccia di u signale;
  • ciclu duty;
  • canale PWM;
  • GPIO induve vulete emette u signale.

I2C
L'ESP32 hà dui canali I2C è qualsiasi pin pò esse stabilitu cum'è SDA o SCL. Quandu si usa l'ESP32 cù l'IDE Arduino, i pin I2C predeterminati sò:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

Se vulete usà altri pins quandu utilizate a biblioteca di filu, basta à chjamà:
Wire.begin (SDA, SCL);
SPI
Per automaticamente, u pin mapping per SPI hè:

SPI MOSI MISO CLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

Interruzzioni
Tutti i GPIO ponu esse cunfigurati cum'è interruzioni.
Pin di cinghia
U chip ESP32 hà i seguenti pin strapping:

  • GPIO 0 (deve esse BASSU per entre in u modu di boot)
  • GPIO 2 (deve esse flottante o LOW durante u boot)
  • GPIO 4
  • GPIO 5 (deve esse ALTA durante u boot)
  • GPIO 12 (deve esse BASSU durante u boot)
  • GPIO 15 (deve esse ALTA durante u boot)

Quessi sò usati per mette l'ESP32 in u modu di bootloader o lampeggiante. Nant'à a maiò parte di i pannelli di sviluppu cù USB / Serial integratu, ùn avete micca bisognu di preoccupassi di u statu di sti pin. U tavulinu mette i pins in u statu ghjustu per lampassi o modalità di boot. Più infurmazione nantu à a Selezzione di u Modu di Boot ESP32 pò esse truvata quì.
In ogni casu, sè vo avete periferichi cunnessi à quelli pin, pudete avè prublemi à pruvà à carica un novu codice, lampendu l'ESP32 cù un novu firmware, o resetting the board. Sì avete qualchì periferica cunnessu à i pins strapping è avete prublemi à carica u codice o lampendu l'ESP32, pò esse perchè quelli periferichi impediscenu à l'ESP32 di entre in u modu ghjustu. Leghjite a documentazione di Selezzione di u Modu Boot per guidà in a direzione ghjusta. Dopu à resetting, lampeggiante, o booting, quelli pins travaglia cum'è previstu.
Pins HIGH à Boot
Certi GPIO cambianu u so statu à HIGH o emettenu signali PWM à u boot o reset.
Questu significa chì, sè vo avete uscite cunnessi à questi GPIO, pudete ottene risultati inespettati quandu l'ESP32 resetta o stivali.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 à GPIO 11 (cunnessu à a memoria flash SPI integrata ESP32 - ùn hè micca cunsigliatu d'utilizà).
  • GPIO 14
  • GPIO 15

Activer (FR)
Enable (EN) hè u pin di attivazione di u regulatore 3.3V. Hè tiratu, cusì cunnette à a terra per disattivà u regulatore 3.3V. Questu significa chì pudete aduprà stu pin cunnessu à un buttone per riavvià u vostru ESP32, per esempiuample.
GPIO current draw
A corrente massima assoluta disegnata per GPIO hè 40mA secondu a sezione "Condizioni Operative Recommended" in a scheda ESP32.
Sensore d'effettu Hall integratu ESP32
L'ESP32 hà ancu un sensoru d'effettu di hall integratu chì rileva cambiamenti in u campu magneticu in u so circondu
ESP32 Arduino IDE
Ci hè un add-on per l'IDE Arduino chì permette di programà l'ESP32 utilizendu l'IDE Arduino è a so lingua di prugrammazione. In questu tutoriale vi mustraremu cumu installà a scheda ESP32 in l'IDE Arduino sia chì site Windows, Mac OS X o Linux.
Prerequisites: Arduino IDE installatu
Prima di principià sta prucedura di stallazione, avete bisognu di avè l'Arduino IDE installatu in u vostru urdinatore. Ci hè duie versioni di l'IDE Arduino chì pudete installà: versione 1 è versione 2.
Pudete scaricà è installà Arduino IDE clicchendu nant'à u ligame seguente: arduino.cc/en/Main/Software
Quale versione Arduino IDE raccomandiamo? À u mumentu, ci sò qualchi plugins per l'ESP32 (cum'è SPIFFS FileSystem Uploader Plugin) chì ùn sò ancu supportati in Arduino 2. Allora, se avete intenzione di utilizà u plugin SPIFFS in u futuru, ricumandemu di installà a versione legacy 1.8.X. Basta à scorri in a pagina di u software Arduino per truvà lu.
Installazione di ESP32 Add-on in Arduino IDE
Per installà a scheda ESP32 in u vostru IDE Arduino, seguite e seguenti istruzioni:

  1. In u vostru IDE Arduino, andate à File> PreferenzeLAFVIN ESP32 Basic Starter Kit - Preferenze
  2. Inserite i seguenti in u "Gestore di u Cunsigliu Addizionale URLs" campu:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Dopu, cliccate nant'à u buttone "OK":LAFVIN ESP32 Basic Starter Kit - buttone "OK".Nota: s'è vo avete digià i schede ESP8266 URL, pudete separà u URLs cù una virgola cusì:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Aprite u Manager di Boards. Andà à Strumenti> Board> Boards Manager...LAFVIN ESP32 Basic Starter Kit - EspressifCerca ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Basic Starter Kit - EspressifEccu. Si deve esse stallatu dopu à qualchi seconde.LAFVIN ESP32 Basic Starter Kit - installatu

Caricate u codice di prova

Cunnette a scheda ESP32 à u vostru urdinatore. Cù u vostru Arduino IDE apertu, seguite questi passi:

  1. Selezziunate u vostru Board in Strumenti> Menu Board (in u mo casu hè u Modulu ESP32 DEV)LAFVIN ESP32 Basic Starter Kit - Tools Board
  2. Selezziunate u Portu (se ùn vede micca u Portu COM in u vostru Arduino IDE, avete bisognu di stallà u CP210x USB à UART Bridge VCP Drivers):LAFVIN ESP32 Basic Starter Kit - UART Bridge
  3. Aprite i seguenti example sottu File > Esamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScanLAFVIN ESP32 Basic Starter Kit - WiFiScan 1
  4. Un novu sketch si apre in u vostru IDE Arduino:LAFVIN ESP32 Basic Starter Kit - Arduino IDE
  5. Premete u buttone Upload in l'IDE Arduino. Aspettate uni pochi di seconde mentre u codice compila è carica à u vostru bordu.LAFVIN ESP32 Basic Starter Kit - scheda
  6. Se tuttu hè andatu cum'è previstu, duvete vede un "Caricamentu fattu". missaghju.LAFVIN ESP32 Basic Starter Kit - Caricamentu finitu
  7. Ouvrez l'Arduino IDE Serial Monitor à une vitesse de baud de 115200 :LAFVIN ESP32 Basic Starter Kit - Monitor
  8. Pulse u buttone Habilita ESP32 à bordu è duvete vede e rete dispunibili vicinu à u vostru ESP32:LAFVIN ESP32 Basic Starter Kit - Abilita u buttone

Risoluzione di prublemi

Se pruvate à carica un novu sketch à u vostru ESP32 è riceve stu missaghju d'errore "Un errore fatale hè accadutu: Fallu à cunnette à ESP32: Timed out... Connecting...". Significa chì u vostru ESP32 ùn hè micca in u modu di lampeggiante / uploading.
Dopu avè u nome di u bordu ghjustu è u COM por sceltu, seguitate sti passi:
Mantene premutu u buttone "BOOT" in a vostra scheda ESP32LAFVIN ESP32 Basic Starter Kit - "BOOT"

  • Premete u buttone "Carica" ​​in l'IDE Arduino per carica u vostru sketch:LAFVIN ESP32 Basic Starter Kit - ICON 6
  • Dopu chì vede u "Connecting...". messagiu in u vostru Arduino IDE, liberate u dito da u buttone "BOOT":LAFVIN ESP32 Basic Starter Kit - "Caricamentu finitu
  • Dopu à quessa, vi duvite vede u missaghju "Fattu uploading".
    Eccu. U vostru ESP32 deve avè u novu sketch in esecuzione. Pulse u buttone "ENABLE" per riavvia l'ESP32 è eseguite u novu sketch uploaded.
    Duverete ancu ripetiri quella sequenza di buttone ogni volta chì vulete carricà un novu sketch.

Prughjettu 1 ESP32 Inputs Outputs

In questa guida di partenza, amparate à leghje l'ingressi digitali cum'è un interruttore di buttone è cuntrullà l'output digitale cum'è un LED utilizendu l'ESP32 cù l'IDE Arduino.
Prerequisites
Programmeremu l'ESP32 cù l'IDE Arduino. Dunque, assicuratevi di avè installatu l'add-on ESP32 prima di procedere:

  • Installazione di ESP32 Add-on in Arduino IDE

ESP32 Control Outputs Digital
Prima, avete bisognu di stabilisce u GPIO chì vulete cuntrullà cum'è OUTPUT. Aduprate a funzione pinMode() cum'è seguente:
pinMode (GPIO, OUTPUT);
Per cuntrullà un output digitale, basta à utilizà a funzione digitalWrite(), chì accetta cum'è argumenti, u GPIO (numeru int) chì vi riferite, è u statu, o HIGH o LOW.
DigitalWrite (GPIO, STATE);
Tutti i GPIO ponu esse utilizati cum'è outputs eccettu GPIO 6 à 11 (cunnessu à u flash SPI integratu) è GPIO 34, 35, 36 è 39 (input solu GPIO);
Sapete più nantu à l'ESP32 GPIOs: ESP32 GPIO Reference Guide
ESP32 Leghjite l'input digitale
Prima, stabilisce u GPIO chì vulete leghje cum'è INPUT, utilizendu a funzione pinMode() cum'è seguente:
pinMode (GPIO, INPUT);
Per leghje un input digitale, cum'è un buttone, utilizate a funzione digitalRead(), chì accetta cum'è argumentu, u GPIO (numeru int) chì vi riferite.
Lettura digitale (GPIO);
Tutti i GPIO ESP32 ponu esse utilizati cum'è input, eccettu i GPIO 6 à 11 (cunnessi à u flash SPI integratu).
Sapete più nantu à l'ESP32 GPIOs: ESP32 GPIO Reference Guide
Prughjettu Example
Per vede cumu utilizà l'input digitale è l'output digitale, custruiremu un prughjettu simplice example cù un pushbutton è un LED. Leghjemu u statu di u buttone è accendemu u LED in cunseguenza cum'è illustratu in a figura seguente.LAFVIN ESP32 Basic Starter Kit - Project Example

Parti necessarie
Eccu una lista di e parti chì avete bisognu di custruisce u circuitu:

  • ESP32 DEVKIT V1
  • LED 5 mm
  • Resistenza 220 Ohm
  • Pulsante
  • Resistenza 10k Ohm
  • Breadboard
  • Fili jumper

Diagramma schematicu
Prima di prucede, avete bisognu di assemblà un circuitu cù un LED è un buttone.
Cunnetteremu u LED à GPIO 5 è u buttone à GPIO 4.LAFVIN ESP32 Basic Starter Kit - Schematic DiagramCodice
Aprite u codice Project_1_ESP32_Inputs_Outputs.ino in arduino IDELAFVIN ESP32 Basic Starter Kit - CodiceLAFVIN ESP32 Basic Starter Kit - Codice 1Cumu Funziona u Codice
In e duie linee seguenti, create variàbili per assignà pin:

LAFVIN ESP32 Basic Starter Kit - Code WorksU buttone hè cunnessu à GPIO 4 è u LED hè cunnessu à GPIO 5. Quandu si usa l'IDE Arduino cù l'ESP32, 4 currisponde à GPIO 4 è 5 currisponde à GPIO 5.
In seguitu, create una variabile per mantene u statu di u buttone. Per automaticamente, hè 0 (micca pressatu).
int buttonState = 0;
In u setup(), inizializzate u buttone cum'è INPUT, è u LED cum'è OUTPUT.
Per quessa, aduprate a funzione pinMode() chì accetta u pin chì vi riferite, è u modu: INPUT o OUTPUT.
pinMode (buttonPin, INPUT);
pinMode (ledPin, OUTPUT);
In u loop () hè induve leghje u statu di u buttone è stabilisce u LED in cunseguenza.
In a linea dopu, leghjite u statu di u buttone è salvate in a variabile buttonState.
Comu avemu vistu prima, utilizate a funzione digitalRead().
ButtonState = DigitalRead (buttonPin);
A seguente dichjarazione si verifica se u statu di u buttone hè HIGH. S'ellu hè, accende u LED cù a funzione digitalWrite () chì accetta cum'è argumentu ledPin, è u statu HIGH.
if (buttonState == HIGH)LAFVIN ESP32 Basic Starter Kit - Code Works 1Se u statu di u buttone ùn hè micca ALTA, fate u LED off. Basta stabilisce LOW cum'è un secondu argumentu in a funzione digitalWrite ().LAFVIN ESP32 Basic Starter Kit - DigitalWriteCaricà u codice
Prima di cliccà u buttone di carica, andate à Strumenti> Board, è selezziunate a scheda: DOIT ESP32 DEVKIT V1 board.
Andà à Tools> Port è selezziunate u portu COM à u quale l'ESP32 hè cunnessu. Allora, appughjà u buttone upload è aspittà per u missaghju "Fattu uploading".LAFVIN ESP32 Basic Starter Kit - ICON 7Nota: Se vede assai punti (cunnessu ...__…__) in a finestra di debugging è u missaghju "Failed to connect to ESP32: Timed out waiting for packet header" significa chì avete bisognu di appughjà u ESP32 à bordu BOOT. buttone dopu à i punti
principià à apparisce.Troubleshooting

Dimustrazione

Dopu à carica u codice, pruvà u vostru circuit. U vostru LED deve accende quandu appughjà u buttone:LAFVIN ESP32 Basic Starter Kit - DimostrazioneÈ spegne quandu u liberate:LAFVIN ESP32 Basic Starter Kit - turn of

Prughjettu 2 ESP32 Inputs Analogici

Stu prughjettu mostra cumu leghje inputs analogichi cù l'ESP32 utilizendu Arduino IDE.
A lettura analogica hè utile per leghje i valori da resistori variabili cum'è potentiometri, o sensori analogichi.
Ingressi analogici (ADC)
A lettura di un valore analogicu cù l'ESP32 significa chì pudete misurà diversi voltage livelli trà 0 V è 3.3 V.
U voltagE misurata hè allora attribuita à un valore trà 0 è 4095, in quale 0 V currisponde à 0, è 3.3 V currisponde à 4095.tage trà 0 V è 3.3 V serà datu u valore currispundenti trà.LAFVIN ESP32 Basic Starter Kit - Ingressi AnalogiciADC hè Non-lineare
Ideale, avete aspittatu un cumpurtamentu lineale quandu utilizate i pins ESP32 ADC.
Tuttavia, ùn succede micca. Ciò chì uttene hè un cumpurtamentu cum'è mostratu in u graficu seguente:LAFVIN ESP32 Basic Starter Kit - Non-lineareStu cumpurtamentu significa chì u vostru ESP32 ùn hè micca capaci di distingue 3.3 V da 3.2 V.
Truverete u listessu valore per i dui voltages: 4095.
U stessu passa per u volu assai bassutage valori: per 0 V è 0.1 V avete da ottene u listessu valore: 0. Avete bisognu di mantene questu in mente quandu utilizate i pins ESP32 ADC.
analogRead() Funzione
A lettura di un input analogicu cù l'ESP32 utilizendu l'IDE Arduino hè simplice quant'è aduprà a funzione analogRead(). Accepta cum'è argumentu, u GPIO chì vulete leghje:
analogRead (GPIO);
Solu 15 sò dispunibuli in u DEVKIT V1board (versione cù 30 GPIO).
Pigliate a vostra scheda ESP32 pinout è localizza i pin ADC. Quessi sò evidenziati cù un bordu rossu in a figura sottu.LAFVIN ESP32 Basic Starter Kit - cunfiniQuesti pin di input analogicu anu una risoluzione di 12 bit. Questu significa chì quandu leghje un input analogicu, u so intervallu pò varià da 0 à 4095.
Nota: I pin ADC2 ùn ponu micca esse usatu quandu Wi-Fi hè utilizatu. Allora, sè vo site cù Wi-Fi è avete prublemi per ottene u valore da un ADC2 GPIO, pudete cunsiderà aduprà un ADC1 GPIO invece, chì duverebbe risolve u vostru prublema.
Per vede cumu tuttu ligami inseme, faremu un ex simpliceample per leghje un valore analogicu da un potentiometru.
Parti necessarie
Per questu example, avete bisognu di e seguenti parti:

  • Scheda ESP32 DEVKIT V1
  • Potenziometru
  • Breadboard
  • Fili jumper

Schematicu
Wire un potenziometru à u vostru ESP32. U pin di u potenziometru mediu deve esse cunnessu à GPIO 4. Pudete utilizà u schema schematicu seguente cum'è riferimentu.LAFVIN ESP32 Basic Starter Kit - SchematicCodice
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDE
Aprite u codice Project_2_ESP32_Inputs_Outputs.ino in arduino IDELAFVIN ESP32 Basic Starter Kit - Codice 2Stu codice leghje solu i valori da u potentiometru è imprime quelli valori in u Monitor Serial.
In u codice, avete principiatu da definisce u GPIO chì u potenziometru hè cunnessu. In questu example, GPIO 4.LAFVIN ESP32 Basic Starter Kit - exampleIn u setup (), inizializza una cumunicazione seriale à una baud rate di 115200.LAFVIN ESP32 Basic Starter Kit - examplu 1In u loop (), utilizate a funzione analogRead () per leghje l'input analogicu da u potPin.LAFVIN ESP32 Basic Starter Kit - examplu 2Infine, stampate i valori letti da u potentiometru in u monitor seriale.LAFVIN ESP32 Basic Starter Kit - examplu 3Caricate u codice furnitu à u vostru ESP32. Assicuratevi di avè u bordu ghjustu è u portu COM sceltu in u menù di Strumenti.
Pruvate l'Example
Dopu avè caricatu u codice è pressu u buttone di resettore ESP32, apre u Monitor Serial à un baud rate di 115200. Rotate u potentiometru è vede i valori cambiassi.U valore massimu chì uttene hè 4095 è u valore minimu hè 0.LAFVIN ESP32 Basic Starter Kit - valore massimu

Avvolgimentu

In questu articulu avete amparatu à leghje inputs analogichi cù l'ESP32 cù l'IDE Arduino. In riassuntu:

  • A scheda ESP32 DEVKIT V1 DOIT (versione cù 30 pins) hà 15 pin ADC chì pudete aduprà per leghje inputs analogichi.
  • Questi pins anu una risoluzione di 12 bit, chì significa chì pudete ottene valori da 0 à 4095.
  • Per leghje un valore in l'IDE Arduino, basta aduprà a funzione analogRead().
  • I pins ESP32 ADC ùn anu micca un cumpurtamentu lineale. Probabilmente ùn sarete micca capaci di distingue trà 0 è 0.1V, o trà 3.2 è 3.3V. Avete bisognu di mantene in mente quandu utilizate i pin ADC.

Prughjettu 3 ESP32 PWM (uscita analogica)

In questu tutoriale vi mustraremu cumu generà signali PWM cù l'ESP32 utilizendu Arduino IDE. Cum'è exampcustruiremu un circuitu simplice chì dims un LED utilizendu u controller LED PWM di l'ESP32.LAFVIN ESP32 Basic Starter Kit - Analog OutputController ESP32 LED PWM
L'ESP32 hà un controller PWM LED cù 16 canali indipendenti chì ponu esse cunfigurati per generà signali PWM cù diverse proprietà.
Eccu i passi chì duvete seguità per dim un LED cù PWM cù l'IDE Arduino:

  1. Prima, avete bisognu di sceglie un canale PWM. Ci sò 16 canali da 0 à 15.
  2. Allora, avete bisognu di stabilisce a frequenza di u signale PWM. Per un LED, una frequenza di 5000 Hz hè bella per utilizà.
  3. Avete ancu bisognu di stabilisce a risoluzione di u ciculu di u segnu: avete risoluzioni da 1 à 16 bits. Adupremu una risoluzione di 8-bit, chì significa chì pudete cuntrullà a luminosità LED utilizendu un valore da 0 à 255.
  4.  Dopu, avete bisognu di specificà à quale GPIO o GPIO appariscerà u signale. Per quessa, avete aduprà a seguente funzione:
    ledcAttachPin (GPIO, canale)
    Sta funzione accetta dui argumenti. U primu hè u GPIO chì pruducerà u signale, è u sicondu hè u canali chì generà u signale.
  5. Infine, per cuntrullà a luminosità LED cù PWM, utilizate a seguente funzione:

ledcWrite (canale, dutycycle)
Questa funzione accetta cum'è argumenti u canali chì genera u signale PWM, è u ciculu duty.
Parti necessarie
Per seguità stu tutoriale avete bisognu di sti parti:

  • Scheda ESP32 DEVKIT V1
  • LED da 5 mm
  • Resistenza 220 Ohm
  •  Breadboard
  • Fili jumper

Schematicu
Wire un LED à u vostru ESP32 cum'è in u schema schematicu seguente. U LED deve esse cunnessu à GPIO 4.LAFVIN ESP32 Basic Starter Kit - SchematicNota: pudete aduprà ogni pin chì vulete, finu à ch'ellu pò agisce cum'è output. Tutti i pins chì ponu agisce cum'è output pò esse usatu cum'è pin PWM. Per più infurmazione nantu à l'ESP32 GPIO, leghjite: ESP32 Pinout Reference: Quali pin GPIO duvete aduprà?
Codice
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDE
Aprite u codice Project_3_ESP32_PWM.ino in arduino IDELAFVIN ESP32 Basic Starter Kit - Codice 3LAFVIN ESP32 Basic Starter Kit - Codice 4Cumincià da definisce u pin à u LED hè attaccatu. In questu casu, u LED hè attaccatu à GPIO 4.LAFVIN ESP32 Basic Starter Kit - Codice 5Allora, stabilisce e proprietà di signale PWM. Definite una frequenza di 5000 Hz, sceglite u canali 0 per generà u segnu, è stabilisce una risoluzione di 8 bits. Pudete sceglie altre proprietà, diverse da queste, per generà diversi signali PWM.LAFVIN ESP32 Basic Starter Kit - Codice 6In u setup (), avete bisognu di cunfigurà LED PWM cù e proprietà chì avete definitu prima utilizendu a funzione ledcSetup () chì accetta cum'è argumenti, ledChannel, a freccia è a risoluzione, cum'è seguita:LAFVIN ESP32 Basic Starter Kit - Codice 8Next, vi tocca à sceglie u GPIO vi Mulateri Di L'ottene u signali da. Per quessa, utilizate a funzione ledcAttachPin() chì accetta cum'è argumenti u GPIO induve vulete ottene u signale, è u canali chì genera u signale. In questu example, avemu da ottene u signale in u ledPin GPIO, chì currisponde à GPIO 4. U canali chì genera u signale hè u ledChannel, chì currisponde à u canali 0.LAFVIN ESP32 Basic Starter Kit - Codice 9In u ciclu, varierete u ciclu di duty trà 0 è 255 per aumentà a luminosità LED.LAFVIN ESP32 Basic Starter Kit - luminositàÈ dopu, trà 255 è 0 per diminuisce a luminosità.LAFVIN ESP32 Basic Starter Kit - luminosità 1Per stabilisce a luminosità di u LED, avete bisognu di utilizà a funzione ledcWrite () chì accetta cum'è argumenti u canali chì genera u signale, è u ciculu duty.LAFVIN ESP32 Basic Starter Kit - luminosità 2Cumu avemu aduprà a risuluzione di 8-bit, u ciculu di duty serà cuntrullatu cù un valore da 0 à 255. Nota chì in a funzione ledcWrite() usemu u canali chì genera u signale, è micca u GPIO.

Pruvate l'Example

Caricate u codice à u vostru ESP32. Assicuratevi di avè u bordu ghjustu è u portu COM sceltu. Fighjate à u vostru circuitu. Duvete avè un LED dimmer chì aumenta è diminuisce a luminosità.LAFVIN ESP32 Basic Starter Kit - Testa l'Example

Prughjettu 4 ESP32 PIR Sensor Motion

Stu prughjettu mostra cumu detectà u muvimentu cù l'ESP32 utilizendu un sensoru di muvimentu PIR. U buzzer sonarà una alarma quandu u muvimentu hè rilevatu, è ferma l'alarma quandu ùn hè rilevatu nisun muvimentu per un tempu predeterminatu (cum'è 4 seconde)
Cumu Funziona u Sensore di Movimentu HC-SR501
.LAFVIN ESP32 Basic Starter Kit - Motion Sensor WorksU principiu di funziunamentu di u sensoru HC-SR501 hè basatu annantu à u cambiamentu di a radiazione infrarossa nantu à l'ughjettu in muvimentu.

  • L'ughjettu emette a via infrared.
  • L'ughjettu si move o tremula

Allora:
Se un oggettu emette u ragiu infrarossu ma ùn si move micca (per esempiu, una persona ferma senza muvimenti), ùn hè micca rilevatu da u sensoru.
Se un ughjettu si move ma ùn emette micca u ragiu infrarossu (per esempiu, robot o veiculu), ùn hè micca rilevatu da u sensoru.
Presentazione di i Timers
In questu exampl'avemu ancu introduttu i timers. Vulemu chì u LED si ferma per un numeru predeterminatu di seconde dopu chì u muvimentu hè rilevatu. Invece di utilizà una funzione delay () chì blucca u vostru còdice è ùn vi permette micca di fà nunda di più per un determinatu numeru di sicondi, duvemu aduprà un timer.LAFVIN ESP32 Basic Starter Kit - Presentazione di i timersA funzione delay ().
Duvete esse familiarizatu cù a funzione delay () perchè hè largamente usata. Sta funzione hè abbastanza sèmplice à aduprà. Accepta un unicu numeru int cum'è argumentu.
Stu numeru rapprisenta u tempu in millisecondi chì u prugramma hà da aspittà finu à passà à a prossima linea di codice.LAFVIN ESP32 Basic Starter Kit - codiceQuandu fate ritardu (1000) u vostru prugramma si ferma nantu à quella linea per 1 secondu.
delay () hè una funzione di bloccu. E funzioni di bloccu impediscenu à un prugramma di fà qualcosa altru finu à chì u compitu particulari hè cumpletu. Sè avete bisognu di parechje attività per esse à u stessu tempu, ùn pudete micca aduprà delay ().
Per a maiò parte di i prughjetti, duvete evità l'usu di ritardi è aduprà timer invece.
A funzione millis().
Utilizendu una funzione chjamata millis() pudete rinvià u numeru di millisecondi chì sò passati da u principiu di u prugramma.LAFVIN ESP32 Basic Starter Kit - u prugramma hà iniziatu primaPerchè sta funzione hè utile? Perchè usendu qualchì matematica, pudete facilmente verificà quantu tempu hè passatu senza bluccà u vostru codice.
Parti necessarie
Per seguità stu tutoriale avete bisognu di e seguenti parti

  • Scheda ESP32 DEVKIT V1
  • Sensore di muvimentu PIR (HC-SR501)
  • Buzzer Attivo
  • Fili jumper
  • Breadboard

SchematicuLAFVIN ESP32 Basic Starter Kit - Schema 1Nota: U travagliu voltage di HC-SR501 hè 5V. Aduprà u Pin Vin à putenza lu.
Codice
Prima di prucede cù stu tutoriale, duvete avè u ESP32 add-on installatu in u vostru Arduino IDE. Segui unu di i seguenti tutoriali per installà l'ESP32 nantu à l'IDE Arduino, se ùn avete micca digià. (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDE
Aprite u codice Project_4_ESP32_PIR_Motion_Sensor.ino in arduino IDE.
Dimustrazione
Caricate u codice à a vostra scheda ESP32. Fate sicuru chì vo avete u bordu dritta è portu COM selected.Upload codice riferimentu passi.
Apertura u Monitor Serial à un baud rate di 115200.LAFVIN ESP32 Basic Starter Kit - Dimostrazione 1Move a manu davanti à u sensor PIR. U buzzer deve accende, è u missaghju hè stampatu in u Monitor Serial dicendu "Motion detected! Buzzer alarm".
Dopu à 4 seconde, u buzzer deve esse spegne.LAFVIN ESP32 Basic Starter Kit - buzzer

Prughjettu 5 ESP32 Switch Web Servitore

In questu prughjettu, creerete un standalone web servitore cù un ESP32 chì cuntrolla i outputs (dui LED) utilizendu l'ambiente di prugrammazione Arduino IDE. U web u servitore hè responsive mobile è pò esse accessu cù qualsiasi dispositivu chì cum'è un navigatore in a reta lucale. Vi mustraremu cumu creà u web servitore è cumu u codice funziona passu per passu.
Prughjettu Finituview
Prima di andà drittu à u prugettu, hè impurtante di spiegà ciò chì u nostru web servitore farà, cusì chì hè più faciule per seguità i passi più tardi.

  • U web servitore vi custruisce cuntrolli dui LED cunnessi à l'ESP32 GPIO 26 è GPIO 27;
  • Pudete accede à l'ESP32 web servitore scrivendu l'indirizzu IP ESP32 in un navigatore in a reta lucale;
  • Cliccà i buttoni nant'à u vostru web servitore pudete cambià istantaneamente u statu di ogni LED.

Parti necessarie
Per stu tutoriale avete bisognu di e seguenti parti:

  • Scheda ESP32 DEVKIT V1
  • 2x 5mm LED
  • 2 x resistenza 200 Ohm
  • Breadboard
  • Fili jumper

Schematicu
Cumincià per custruisce u circuitu. Cunnette dui LED à l'ESP32 cum'è mostra in u schema schematicu seguente - un LED cunnessu à GPIO 26, è l'altru à GPIO 27.
Nota: Avemu aduprà a scheda ESP32 DEVKIT DOIT cù 36 pin. Prima di assemblà u circuitu, assicuratevi di cuntrollà u pinout per a tavola chì stai aduprate.LAFVIN ESP32 Basic Starter Kit - SchematicCodice
Quì furnimu u codice chì crea l'ESP32 web servitore. Aprite u codice Project_5_ESP32_Switch _Web_Server.ino in arduino IDE, ma ùn u caricate ancu. Avete bisognu di fà alcuni cambiamenti per fà u travagliu per voi.
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDE
Configurazione di e vostre credenziali di rete
Avete bisognu di mudificà e seguenti linee cù e vostre credenziali di rete: SSID è password. U codice hè bè cummentatu induve duvete fà i cambiamenti.LAFVIN ESP32 Basic Starter Kit - Credenziali di reteCaricà u codice
Avà, vi ponu carica u codice è è u web u servitore funziona subitu.
Segui i prossimi passi per carica u codice à l'ESP32:

  1. Cunnette a vostra scheda ESP32 in u vostru urdinatore;
  2. In l'Arduino IDE selezziunate a vostra scheda in Strumenti> Board (in u nostru casu usemu a scheda ESP32 DEVKIT DOIT);LAFVIN ESP32 Basic Starter Kit - Caricà u Codice
  3. Selezziunà u portu COM in Tools> Port.LAFVIN ESP32 Basic Starter Kit - Strumenti Port
  4. Pulsà u buttone Upload in l'IDE Arduino è aspettate uni pochi di sicondi mentre u codice compila è carica à a vostra scheda.LAFVIN ESP32 Basic Starter Kit - ICON 7
  5. Aspettate di u missaghju "Fine uploading".LAFVIN ESP32 Basic Starter Kit - Caricamentu finitu 1

Truvà l'indirizzu IP ESP
Dopu avè caricatu u codice, apre u Monitor Serial à un baud rate di 115200.LAFVIN ESP32 Basic Starter Kit - Indirizzu IP ESPPress u buttone ESP32 EN (reset). L'ESP32 si cunnetta à u Wi-Fi, è emette l'indirizzu IP ESP in u Monitor Serial. Copia l'indirizzu IP, perchè avete bisognu à accede à l'ESP32 web servitore.LAFVIN ESP32 Basic Starter Kit - web servitoreAccessu à u Web Servitore
Per accede à u web servitore, apre u vostru navigatore, incollà l'indirizzu IP ESP32, è vi vede a pagina seguente.
Nota: U vostru navigatore è ESP32 deve esse cunnessi à a stessa LAN.LAFVIN ESP32 Basic Starter Kit - Accessu à u Web ServitoreSe fate un ochju à u Monitor Serial, pudete vede ciò chì succede nantu à u fondu. L'ESP riceve una dumanda HTTP da un novu cliente (in questu casu, u vostru navigatore).LAFVIN ESP32 Basic Starter Kit - Richiesta HTTPPudete ancu vede altre informazioni nantu à a dumanda HTTP.
Dimustrazione
Avà pudete pruvà se u vostru web u servitore funziona bè. Cliccate i buttoni per cuntrullà i LED.LAFVIN ESP32 Basic Starter Kit - fondoÀ u listessu tempu, pudete piglià un ochju à u Monitor Serial per vede ciò chì succede in u fondu. Per esample, quandu cliccate u buttone per accende GPIO 26, ESP32 riceve una dumanda nantu à /26/on URL.LAFVIN ESP32 Basic Starter Kit - URLQuandu l'ESP32 riceve sta dumanda, accende u LED attaccatu à GPIO 26 ON è aghjurnà u so statu nantu à u web pagina.LAFVIN ESP32 Basic Starter Kit - web paginaU buttone per GPIO 27 funziona in modu simili. Pruvate chì funziona bè.LAFVIN ESP32 Basic Starter Kit - funziona bè

Cumu Funziona u Codice

In sta rùbbrica, piglià un ochju più vicinu à u codice per vede cumu funziona.
A prima cosa chì duvete fà hè di include a biblioteca WiFi.LAFVIN ESP32 Basic Starter Kit - Biblioteca WiFiComu diciatu prima, avete bisognu di inserisce u vostru ssid è password in e seguenti linee in e virgulette doppie.LAFVIN ESP32 Basic Starter Kit - virgolette doppieAllora, avete stabilitu u vostru web servitore à u portu 80.LAFVIN ESP32 Basic Starter Kit - web servitoreA linea seguente crea una variabile per almacenà l'intestazione di a dumanda HTTP:LAFVIN ESP32 Basic Starter Kit - HTTPrequestIn seguitu, create variabili ausiliarii per almacenà u statu attuale di i vostri outputs. Se vulete aghjunghje più outputs è salvà u so statu, avete bisognu di creà più variàbili.LAFVIN ESP32 Basic Starter Kit - variabiliAvete ancu bisognu di assignà un GPIO à ognunu di i vostri outputs. Quì avemu aduprà GPIO 26 è GPIO 27. Pudete utilizà qualsiasi altri GPIO adattati.LAFVIN ESP32 Basic Starter Kit - altri adattatiistituisci()
Avà, andemu in u setup (). Prima, cuminciamu una cumunicazione seriale à una velocità di baud di 115200 per scopi di debugging.LAFVIN ESP32 Basic Starter Kit - scopiDefinite ancu i vostri GPIO cum'è OUTPUT è li mette à LOW.LAFVIN ESP32 Basic Starter Kit - GPIO cum'è OUTPUTI seguenti linii cumincianu a cunnessione Wi-Fi cù WiFi.begin (ssid, password), aspettate una cunnessione successu è stampate l'indirizzu IP ESP in u Monitor Serial.LAFVIN ESP32 Basic Starter Kit - SerialLAFVIN ESP32 Basic Starter Kit - Seria 1loop ()
In u loop () prugrammu ciò chì succede quandu un novu cliente stabilisce una cunnessione cù u web servitore.
L'ESP32 hè sempre à sente i clienti entranti cù a seguente linea:LAFVIN ESP32 Basic Starter Kit - loopQuandu una dumanda hè ricevutu da un cliente, salveremu i dati entranti. U ciclu while chì seguita serà in esecuzione sempre chì u cliente resta cunnessu. Ùn ricumandemu micca di cambià a seguente parte di u codice, salvu chì ùn sapete esattamente ciò chì fate.LAFVIN ESP32 Basic Starter Kit - esattamenteLAFVIN ESP32 Basic Starter Kit - esattamente 1LAFVIN ESP32 Basic Starter Kit - esattamente 2A prossima sezione di dichjarazioni se è altru cuntrolla quale buttone hè stata premuta in u vostru web pagina, è cuntrolla i outputs in cunseguenza. Cum'è avemu vistu prima, facemu una dumanda nantu à diverse URLs secondu u buttone pressatu.LAFVIN ESP32 Basic Starter Kit - buttone pressatuLAFVIN ESP32 Basic Starter Kit - buttone premutu 1Per esample, se avete appughjà u buttone GPIO 26 ON, l'ESP32 riceve una dumanda nantu à u /26/ON URL (pudemu vede chì quella infurmazione nantu à l'intestazione HTTP nantu à u Monitor Serial). Dunque, pudemu verificà se l'intestazione cuntene l'espressione GET /26/on. Se cuntene, cambiamu a variabile output26state à ON, è l'ESP32 accende u LED.
Questu travaglia in modu simili per l'altri buttoni. Allora, sè vo vulete aghjunghje più outputs, duvete mudificà sta parte di u codice per includeli.
Mostra l'HTML web pagina
A prossima cosa chì duvete fà, hè di creà web pagina. L'ESP32 hà da mandà una risposta à u vostru navigatore cù qualchì codice HTML per custruisce web pagina.
U web pagina hè mandata à u cliente utilizendu stu spressione client.println(). Duvete inserisce ciò chì vulete mandà à u cliente cum'è argumentu.
A prima cosa chì duvemu mandà hè sempre a seguente linea, chì indica chì avemu da mandà HTML.LAFVIN ESP32 Basic Starter Kit - mandà HTMLAllora, a seguente linea face u web pagina responsive in ogni web navigatore.LAFVIN ESP32 Basic Starter Kit - web navigatoreÈ u seguitu hè utilizatu per impedisce e dumande nantu à u favicon. – Ùn avete bisognu di preoccupassi di sta linea.LAFVIN ESP32 Basic Starter Kit - client.println

Styling u Web Pagina

Dopu, avemu qualchì testu CSS per stilà i buttoni è u web apparenza di pagina.
Avemu sceltu u font Helvetica, definisce u cuntenutu per esse affissatu cum'è un bloccu è allinatu à u centru.LAFVIN ESP32 Basic Starter Kit - Styling the Web PaginaStilemu i nostri buttoni cù u culore #4CAF50, senza cunfini, testu in culore biancu, è cù questu padding: 16px 40px. Avemu ancu stabilitu a decorazione di testu à nimu, definisce a dimensione di font, u margine è u cursore à un puntatore.LAFVIN ESP32 Basic Starter Kit - puntatoreDefinimu ancu u stilu per un secondu buttone, cù tutte e pruprietà di u buttone chì avemu definitu prima, ma cù un culore diversu. Questu serà u stilu per u buttone off.LAFVIN ESP32 Basic Starter Kit - client.println 1

Impostazione di Web Pagina Prima Titulu
In a linea dopu pudete stabilisce u primu intestazione di u vostru web pagina. Quì avemu "ESP32 Web Server ", ma pudete cambià stu testu à ciò chì vulete.LAFVIN ESP32 Basic Starter Kit - Web Titulu di paginaVisualizà i Buttons è u Statu Corrispondente
Allora, scrivite un paràgrafu per vede u statu attuale di GPIO 26. Comu pudete vede, usemu a variabile output26State, perchè u statu aghjurnà istantaneamente quandu sta variabile cambia.LAFVIN ESP32 Basic Starter Kit - cambiamenti variabiliDopu, avemu mostratu u buttone on o off, secondu u statu attuale di u GPIO. Se u statu attuale di u GPIO hè off, mostramu u buttone ON, se no, mostramu u buttone OFF.LAFVIN ESP32 Basic Starter Kit - mostra u buttone OFFUtilizemu a stessa prucedura per GPIO 27.
Chjudendu a cunnessione
Infine, quandu a risposta finisci, sguassate a variàbile di l'intestazione, è ferma a cunnessione cù u cliente cù client.stop().LAFVIN ESP32 Basic Starter Kit - Chiusu a cunnessione

Avvolgimentu

In questu tutoriale vi avemu dimustratu cumu custruisce un web servitore cù l'ESP32. Vi avemu mostratu un ex simpliceample chì cuntrolla dui LEDs, ma l'idea hè di rimpiazzà quelli LED cù un relay, o qualsiasi altra pruduzzioni chì vulete cuntrullà.

Prughjettu 6 RGB LED Web Servitore

In questu prughjettu, vi mustraremu cumu cuntrullà remotamente un LED RGB cù una scheda ESP32 utilizendu a web servitore cù un selettore di culore.
Prughjettu Finituview
Prima di principià, vedemu cumu funziona stu prughjettu:LAFVIN ESP32 Basic Starter Kit - Project Overview

  • L'ESP32 web u servitore mostra un selettore di culore.
  • Quandu avete sceltu un culore, u vostru navigatore face una dumanda nantu à a URL chì cuntene i paràmetri R, G è B di u culore sceltu.
  • U vostru ESP32 riceve a dumanda è divide u valore per ogni paràmetru di culore.
  • Allora, manda un signalu PWM cù u valore currispundente à i GPIO chì cuntrullanu u LED RGB.

Cumu funziona i LED RGB?
In un LED RGB di cathode cumuni, tutti i trè LED sparte una cunnessione negativa (catode). Tutti i inclusi in u kit sò RGB di cathode cumuni.LAFVIN ESP32 Basic Starter Kit - I LED RGB funzionanuCumu creà diversi culori?
Cù un LED RGB pudete, sicuru, pruduce luce rossa, verde è blu, è cunfigurà l'intensità di ogni LED, pudete pruduce ancu altri culori.
Per esample, à pruducia puramente luce blu, tu avissi stabilitu u LED blu à u più altu intensità è i LED verde è rossu à u più bassu intensità. Per una luce bianca, avete stabilitu tutti i trè LED à a più alta intensità.
Mischjendu i culori
Per pruduce altri culori, pudete combine i trè culori in intensità differenti. Per aghjustà l'intensità di ogni LED pudete aduprà un signalu PWM.
Perchè i LED sò assai vicinu à l'altri, i nostri ochji vedenu u risultatu di a cumminazione di culori, invece di i trè culori individualmente.
Per avè una idea di cumu cunghjuntà i culori, fate un ochju à u graficu seguente.
Questu hè u graficu di mischju di culore più simplice, ma vi dà una idea di cumu si travaglia è cumu pruduce culori diffirenti.LAFVIN ESP32 Basic Starter Kit - diversi culoriParti necessarie
Per stu prughjettu, avete bisognu di e seguenti parti:

  • Scheda ESP32 DEVKIT V1
  • LED RGB
  • 3 resistenze da 220 ohm
  • Fili jumper
  • Breadboard

SchematicuLAFVIN ESP32 Basic Starter Kit - SchematicCodice
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).

  • Installazione di ESP32 Add-on in Arduino IDE

Dopu avè assemblatu u circuitu, apre u codice
Prughjettu_6_RGB_LED_Web_Server.ino in arduino IDE.
Prima di cullà u codice, ùn vi scurdate di inserisce e vostre credenziali di rete per chì l'ESP pò cunnette à a vostra reta lucale.LAFVIN ESP32 Basic Starter Kit - rete localeCumu funziona u codice
U sketch ESP32 usa a biblioteca WiFi.h.LAFVIN ESP32 Basic Starter Kit - Biblioteca WiFi.hI seguenti linii definiscenu variàbili di stringa per mantene i paràmetri R, G è B da a dumanda.LAFVIN ESP32 Basic Starter Kit - String redStringI seguenti quattru variàbili sò usati per decodificà a dumanda HTTP dopu.LAFVIN ESP32 Basic Starter Kit - Richiesta HTTPCrea trè variàbili per i GPIO chì cuntrullà i paràmetri di a striscia R, G è B. In questu casu, usemu GPIO 13, GPIO 12 è GPIO 14.LAFVIN ESP32 Basic Starter Kit - GPIOs bisognuQuesti GPIO anu bisognu di emette signalazioni PWM, cusì avemu bisognu di cunfigurà e proprietà PWM prima. Pone a frequenza di u signale PWM à 5000 Hz. Allora, assucia un canale PWM per ogni culoreLAFVIN ESP32 Basic Starter Kit - ogni culoreÈ infine, stabilisce a risoluzione di i canali PWM à 8-bitLAFVIN ESP32 Basic Starter Kit - canali PWMIn u setup(), assignate e proprietà PWM à i canali PWMLAFVIN ESP32 Basic Starter Kit - canali PWMAghjunghjite i canali PWM à i GPIO currispundentiLAFVIN ESP32 Basic Starter Kit - GPIO currispondentiA sezione di codice seguente mostra u selettore di culore in u vostru web pagina è face una dumanda basatu nantu à u culore chì avete sceltu.LAFVIN ESP32 Basic Starter Kit - sceltuLAFVIN ESP32 Basic Starter Kit - client.printlnLAFVIN ESP32 Basic Starter Kit - client.println 1Quandu sceglite un culore, riceverete una dumanda cù u seguente formatu.LAFVIN ESP32 Basic Starter Kit - seguenti furmatu

Dunque, avemu bisognu di sparte sta stringa per uttene i parametri R, G è B. I paràmetri sò salvati in variàbili redString, greenString è blueString è ponu avè valori trà 0 è 255.LAFVIN ESP32 Basic Starter Kit - headerLAFVIN ESP32 Basic Starter Kit - header 1Per cuntrullà a striscia cù l'ESP32, utilizate a funzione ledcWrite () per generà signali PWM cù i valori decodificati da u HTTP. dumanda.LAFVIN ESP32 Basic Starter Kit - Richiesta HTTP 1Nota: Sapete più nantu à PWM cù ESP32: Project 3 ESP32 PWM (Analog Output)
Per cuntrullà a striscia cù l'ESP8266, avemu solu aduprà
a funzione analogWrite () per generà signali PWM cù i valori decodificati da a dumanda HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Perchè avemu i valori in una variabile di stringa, avemu bisognu di cunvertisce in numeri interi cù u metudu toInt ().
Dimustrazione
Dopu à inserisce i vostri credentials reta, selezziunà u bordu dritta è u portu COM è cullà u codice à u vostru ESP32.Upload codice passi riferimentu.
Dopu a carica, apre u Monitor Serial à una velocità di baud di 115200 è appughjà u buttone ESP Enable / Reset. Duvete ottene l'indirizzu IP di u bordu.LAFVIN ESP32 Basic Starter Kit - listessu LANAprite u vostru navigatore è inserisci l'indirizzu IP ESP. Avà, aduprate u selettore di culore per sceglie un culore per u LED RGB.
Allora, avete bisognu di appughjà u buttone "Cambià u culore" per u culore per piglià effettu.LAFVIN ESP32 Basic Starter Kit - LED RGBPer disattivà u LED RGB, selezziunate u culore neru.
I culori più forti (à a cima di u selettore di culore), sò quelli chì pruduceranu risultati megliu.LAFVIN ESP32 Basic Starter Kit - risultati megliu

Prughjettu 7 ESP32 Relay Web Servitore

Utilizà un relé cù l'ESP32 hè un modu fantasticu per cuntrullà l'apparecchi domestici AC remotamente. Stu tutorialu spiega cumu cuntrullà un modulu di relay cù l'ESP32.
Fighjeremu cumu funziona un modulu di relay, cumu cunnette u relay à l'ESP32 è custruisce un web servitore per cuntrullà un relay remotamente.
Presentazione di Relays
Un relé hè un interruttore operatu elettricamente è cum'è qualsiasi altru switch, chì pò esse attivatu o disattivatu, lascendu u currente passà o micca. Pò esse cuntrullatu cù u bassu voltages, cum'è u 3.3V furnitu da l'ESP32 GPIO è ci permette di cuntrullà altu voltagsò cum'è 12V, 24V o rete voltage (230V in Europa è 120V in i Stati Uniti).LAFVIN ESP32 Basic Starter Kit - Presentazione di i relèÀ u latu manca, ci sò dui gruppi di trè sockets per cunnette high voltages, è i pins nantu à u latu drittu (bassu voltage) cunnette à i GPIO ESP32.
Mains Voltage CunnessioniLAFVIN ESP32 Basic Starter Kit - Mains Voltage CunnessioniU modulu di relè mostratu in a foto precedente hà dui connettori, ognunu cù trè sockets: cumuni (COM), Normalmente Chiusu (NC) è Normalmente Aperti (NO).

  • COM: cunnette u currente chì vulete cuntrullà (reti voltagè).
  • NC (Normally Closed): a cunfigurazione normalmente chjusa hè aduprata quandu vulete chì u relay sia chjusu per difettu. I NC sò i pins COM sò cunnessi, vale à dì chì u currente scorre, salvu chì ùn mandate un signalu da l'ESP32 à u modulu di relay per apre u circuitu è ​​piantà u flussu di corrente.
  • NO (Normalmente Apertu): a cunfigurazione normalmente aperta funziona à l'inversu: ùn ci hè micca una cunnessione trà i pin NO è COM, cusì u circuitu hè rottu, salvu ùn mandate un signalu da l'ESP32 per chjude u circuitu.

Pins di cuntrolluLAFVIN ESP32 Basic Starter Kit - Pins di cuntrolluU bassu voltagU latu hà un set di quattru pin è un set di trè pin. U primu settore hè custituitu da VCC è GND per accende u modulu, è input 1 (IN1) è input 2 (IN2) per cuntrullà i relè inferiori è superiore, rispettivamente.
Se u vostru modulu di relay hà solu un canale, avete solu un pin IN. Sì avete quattru canali, avete quattru pins IN, è cusì.
U signale chì mandate à i pin IN, determina se u relay hè attivu o micca. U relé hè attivatu quandu l'input scende sottu à circa 2V. Questu significa chì avete i seguenti scenarii:

  • Cunfigurazione Normalmente Chiusa (NC):
  • Segnale ALTA - u currenti scorri
  • LOW signal - currente ùn hè micca flussu
  • Cunfigurazione normalmente aperta (NO):
  • High signal - currente ùn hè micca flussu
  • LOW signal - currente in flussu

Duvete aduprà una cunfigurazione nurmalmente chjusa quandu u currente deve esse scorri a maiò parte di i tempi, è vulete solu piantà in ocasioni.
Aduprate una cunfigurazione normalmente aperta quandu vulete chì u currente scorri occasionalmente (per esample, accende alamp occasionalmente).
Selezzione di l'alimentazioneLAFVIN ESP32 Basic Starter Kit - Selezzione di l'alimentazioneU secondu settore di pins hè custituitu da pin GND, VCC è JD-VCC.
U pin JD-VCC alimenta l'elettromagnete di u relay. Avvisu chì u modulu hà un capu di jumper chì cunnetta i pin VCC è JD-VCC; quellu mostratu quì hè giallu, ma u vostru pò esse un culore diversu.
Cù u jumper cap, i pin VCC è JD-VCC sò cunnessi. Questu significa chì l'elettromagnete di relé hè alimentatu direttamente da u pin di putenza ESP32, cusì u modulu di relé è i circuiti ESP32 ùn sò micca fisicamente isolati l'una di l'altru.
Senza u capu di jumper, avete bisognu di furnisce una fonte di energia indipendente per accende l'elettromagnete di u relay attraversu u pin JD-VCC. Questa cunfigurazione isola fisicamente i relè da l'ESP32 cù l'optoaccoppiatore integratu di u modulu, chì impediscenu danni à l'ESP32 in casu di spike elettrici.
SchematicuLAFVIN ESP32 Basic Starter Kit - SchematicAttenzione: L'usu di altu voltagL'alimentazione elettrica pò causà ferite gravi.
Per quessa, 5mm LEDs sò usati invece di altu supply voltage bulbi in l 'esperimentu. Sè vo ùn sò pràticu cù mains voltagE dumandate à qualchissia chì vi aiuterà. Mentre programate l'ESP o cablate u vostru circuitu assicuratevi chì tuttu hè scollegatu da a rete voltage.LAFVIN ESP32 Basic Starter Kit - rete voltageInstallazione di a Biblioteca per ESP32
Per custruisce questu web servitore, usemu u ESPAsyncWebBiblioteca di u servitore è AsyncTCP Library.
Installazione di ESPAsyncWebBiblioteca di u servitore
Segui i seguenti passi per installà u ESPAsyncWebServitore biblioteca:

  1. Cliccate quì per scaricà l'ESPAsyncWebBiblioteca di u servitore. Duvete avè
    un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è duvete ottene ESPAsyncWebU cartulare di u servitore-maestru
  3. Rinominate u vostru cartulare da ESPAsyncWebServer-master à ESPAsyncWebServitore
  4. Move u ESPAsyncWebU cartulare di u servitore in u vostru cartulare di librerie di installazione Arduino IDE

In alternativa, in u vostru Arduino IDE, pudete andà à Sketch> Include
Library> Add .ZIP library... è selezziunate a biblioteca chì avete appena telecaricatu.
Installazione di a Biblioteca AsyncTCP per ESP32
U ESPAsyncWebServitore biblioteca richiede u AsyncTCP biblioteca à travaglià. Segui
i prossimi passi per installà quella biblioteca:

  1. Cliccate quì per scaricà a libreria AsyncTCP. Tu avissi a hannu un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è tu avissi a arrivare cartulare AsyncTCP-maestru
    1. Rename u vostru cartulare da AsyncTCP-maestru à AsyncTCP
    3. Sposta u cartulare AsyncTCP à u vostru cartulare di biblioteche di stallazione Arduino IDE
    4. Finalmente, apre u vostru IDE Arduino

In alternativa, in u vostru Arduino IDE, pudete andà à Sketch> Include
Library> Add .ZIP library... è selezziunate a biblioteca chì avete appena telecaricatu.
Codice
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDE
Dopu avè installatu e librerie richieste, apre u codice Project_7_ESP32_Relay_Web_Server.ino in arduino IDE.
Prima di cullà u codice, ùn vi scurdate di inserisce e vostre credenziali di rete per chì l'ESP pò cunnette à a vostra reta lucale.LAFVIN ESP32 Basic Starter Kit - rete localeDimustrazione
Dopu avè fattu i cambiamenti necessarii, caricate u codice in u vostru ESP32.Upload i passi di riferimentu di u codice.
Aprite u Monitor Serial à una velocità di baud di 115200 è appughjà u buttone ESP32 EN per uttene u so indirizzu IP. Allora, apre un navigatore in a vostra reta lucale è scrivite l'indirizzu IP ESP32 per accede à l'indirizzu IP. web servitore.
Aprite u Monitor Serial à una velocità di baud di 115200 è appughjà u buttone ESP32 EN per uttene u so indirizzu IP. Allora, apre un navigatore in a vostra reta lucale è scrivite l'indirizzu IP ESP32 per accede à l'indirizzu IP. web servitore.LAFVIN ESP32 Basic Starter Kit - web servitoreNota: U vostru navigatore è ESP32 deve esse cunnessi à a stessa LAN.
Duvete ottene qualcosa cum'è seguitu cù dui buttoni cum'è u numeru di relè chì avete definitu in u vostru codice.LAFVIN ESP32 Basic Starter Kit - smartphoneAvà, pudete aduprà i buttoni per cuntrullà i vostri relè cù u vostru smartphone.LAFVIN ESP32 Basic Starter Kit - smartphone 1

Project_8_Output_State_Synchronization_ Web_Server

Stu Prughjettu mostra cumu cuntrullà l'ESP32 o ESP8266 outputs usendu a web servitore è un buttone fisicu simultaneamente. U statu di output hè aghjurnatu nantu à u web pagina sia cambiata via buttone fisicu o web servitore.
Prughjettu Finituview
Fighjemu un rapidu sguardu à cumu funziona u prughjettu.LAFVIN ESP32 Basic Starter Kit - Project OverviewL'ESP32 o l'ESP8266 ospita a web servitore chì permette di cuntrullà u statu di una output;

  • U statu di output attuale hè visualizatu nantu à u web servitore;
  • L'ESP hè ancu cunnessu à un buttone fisicu chì cuntrola u listessu output;
  • Se cambiate u statu di output usendu u puhsbutton fisicu, u so statu attuale hè ancu aghjurnatu nantu à u web servitore.

In riassuntu, stu prughjettu permette à voi à cuntrullà u listessu output cù a web servitore è un buttone simultaneamente. Ogni volta chì u statu di output cambia, u web u servitore hè aghjurnatu.
Parti necessarie
Eccu una lista di e parti chì avete bisognu di custruisce u circuitu:

  • Scheda ESP32 DEVKIT V1
  • LED 5 mm
  • Resistenza 220 Ohm
  • Pulsante
  • Resistenza 10k Ohm
  • Breadboard
  • Fili jumper

SchematicuLAFVIN ESP32 Basic Starter Kit - Schema 1Installazione di a Biblioteca per ESP32
Per custruisce questu web servitore, usemu u ESPAsyncWebBiblioteca di u servitore è AsyncTCP Library. (Se avete digià fattu stu passu, pudete saltà à u prossimu passu.)
Installazione di ESPAsyncWebBiblioteca di u servitore
Segui i passi successivi per installà ESPAsyncWebBiblioteca di u servitore:

  1. Cliccate quì per scaricà l'ESPAsyncWebBiblioteca di u servitore. Duvete avè
    un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è duvete ottene ESPAsyncWebU cartulare di u servitore-maestru
  3. Rinominate u vostru cartulare da ESPAsyncWebServer-master à ESPAsyncWebServitore
  4. Move u ESPAsyncWebU cartulare di u servitore in u vostru cartulare di librerie di installazione Arduino IDE
    In alternativa, in u vostru Arduino IDE, pudete andà à Sketch> Include
    Library> Add .ZIP library... è selezziunate a biblioteca chì avete appena telecaricatu.

Installazione di a Biblioteca AsyncTCP per ESP32
L'ESPAsyncWebA biblioteca di u servitore richiede a biblioteca AsyncTCP per travaglià. Segui i seguenti passi per installà quella biblioteca:

  1. Cliccate quì per scaricà a libreria AsyncTCP. Tu avissi a hannu un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è tu avissi a arrivare cartulare AsyncTCP-maestru
  3. Rinominate u vostru cartulare da AsyncTCP-master à AsyncTCP
  4. Sposta u cartulare AsyncTCP à u vostru cartulare di biblioteche di installazione Arduino IDE
  5. Infine, riapertura u vostru IDE Arduino
    In alternativa, in u vostru Arduino IDE, pudete andà à Sketch> Include
    Library> Add .ZIP library... è selezziunate a biblioteca chì avete appena telecaricatu.

Codice
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDE
Dopu à stallà e librerie nicissarii, apre u codice
Project_8_Output_State_Synchronization_Web_Server.ino in arduino IDE.
Prima di cullà u codice, ùn vi scurdate di inserisce e vostre credenziali di rete per chì l'ESP pò cunnette à a vostra reta lucale.LAFVIN ESP32 Basic Starter Kit - Codice

Cumu Funziona u Codice

Statu di buttone è Statu di output
A variabile ledState cuntene u statu di output LED. Per difettu, quandu u web u servitore principia, hè BASSU.LAFVIN ESP32 Basic Starter Kit - Code Works

ButtonState è lastButtonState sò usati per detectà s'ellu hè statu pressatu o micca u buttone.LAFVIN ESP32 Basic Starter Kit - hè statu pressatubuttone (web servitore)
Ùn avemu micca inclusu l'HTML per creà u buttone nantu à a variabile index_html.
Hè perchè vulemu esse capace di cambià sicondu u statu LED attuale chì pò ancu esse cambiatu cù u buttone.
Allora, avemu creatu un locu per u buttone %BUTTONPLACEHOLDER% chì serà rimpiazzatu cù testu HTML per creà u buttone dopu nantu à u codice (questu hè fattu in a funzione di processatore ()).LAFVIN ESP32 Basic Starter Kit - hè statu pressatu 1processore ()
A funzione di processatore () rimpiazza ogni placeholder nantu à u testu HTML cù valori attuali. Prima, verifica se i testi HTML cuntenenu
placeholders %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - processoreAllora, chjamate a funzione OutputState () chì torna u statu di output attuale. Salvemu in a variabile outputStateValue.LAFVIN ESP32 Basic Starter Kit - outputStateDopu questu, utilizate stu valore per creà u testu HTML per vede u buttone cù u statu ghjustu:LAFVIN ESP32 Basic Starter Kit - codice 4HTTP GET Richiesta per cambià u Statu di Output (JavaScript)
Quandu pressu u buttone, a funzione toggleCheckbox () hè chjamata. Sta funzione farà una dumanda nant'à differente URLs per accende o spegne u LED.LAFVIN ESP32 Basic Starter Kit - JavaScriptPer accende u LED, face una dumanda nantu à /update?state=1 URL:LAFVIN ESP32 Basic Starter Kit - element.checkedAltrimenti, face una dumanda nantu à /update?state=0 URL.
HTTP GET Richiesta per aghjurnà u Statu (JavaScript)
Per mantene u statu di output aghjurnatu nantu à u web servitore, chjamemu a seguente funzione chì face una nova dumanda nantu à / state URL ogni siconda.LAFVIN ESP32 Basic Starter Kit - Update StatuLAFVIN ESP32 Basic Starter Kit - Update Statu 1Gestisce e dumande
Allora, avemu bisognu di trattà ciò chì succede quandu l'ESP32 o l'ESP8266 riceve richieste nantu à quelli URLs.
Quandu una dumanda hè ricevuta nantu à a radica /URL, mandemu a pagina HTML è ancu u processatore.LAFVIN ESP32 Basic Starter Kit - Maneggiate e richiesteLAFVIN ESP32 Basic Starter Kit - Maneggiare e richieste 1E seguenti linee verificate se avete ricevutu una dumanda nantu à /update?state=1 o /update?state=0 URL è cambia u ledState in cunseguenza.LAFVIN ESP32 Basic Starter Kit - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamQuandu una dumanda hè ricevutu nantu à u / state URL, mandemu u statu di output attuale:LAFVIN ESP32 Basic Starter Kit - statu di outputloop ()
In u loop (), deboncemu u buttone è accendemu o spegnemu u LED secondu u valore di ledState. variabile.LAFVIN ESP32 Basic Starter Kit - Loop 1Dimustrazione
Caricate u codice à u vostru ESP32 board.Upload passi di riferimentu codice.
Allora, apre u Monitor Serial à una baud rate di 115200. Press u buttone EN / RST à bordu per uttene l'indirizzu IP.LAFVIN ESP32 Basic Starter Kit - DimostrazioneAprite un navigatore in a vostra reta lucale, è scrivite l'indirizzu IP ESP. Duvete avè accessu à u web servitore cum'è mostra quì sottu.
Nota: U vostru navigatore è ESP32 deve esse cunnessi à a stessa LAN.LAFVIN ESP32 Basic Starter Kit - navigatorePudete scambià u buttone nantu à u web servitore per accende u LED.LAFVIN ESP32 Basic Starter Kit - web u servore 1Pudete ancu cuntrullà u listessu LED cù u buttone fisicu. U so statu sarà sempre aghjurnatu automaticamente nantu à u web servitore.

Prughjettu 9 ESP32 DHT11 Web Servitore

In questu prughjettu, amparate cumu custruisce un ESP32 asincronu web serveur avec le DHT11 qui affiche la température et l'humidité grâce à l'IDE Arduino.
Prerequisites
U web servitore, custruiremu l'aghjurnamenti di e letture automaticamente senza bisognu di rinfriscà web pagina.
Cù stu prughjettu amparate:

  • Cumu leghje a temperatura è l'umidità da i sensori DHT;
  • Custruisce un asincronu web servitore utilizendu u ESPAsyncWebBiblioteca di u servitore;
  • Aghjurnate automaticamente e letture di i sensori senza bisognu di rinfriscà web pagina.

Asynchronous Web Servitore
Per custruisce u web servitore avemu aduprà u ESPAsyncWebBiblioteca di u servitore chì furnisce un modu faciule per custruisce un asincronu web servitore. Custruì un asincronu web servitore hà parechji advantages cum'è citatu in a pagina di a biblioteca GitHub, cum'è:

  • "Gestisce più di una cunnessione à u stessu tempu";
  • "Quandu mandate a risposta, site immediatamente prontu à trattà altre cunnessione mentre u servitore hè cura di mandà a risposta in u fondu";
  • "Semplice mutore di trasfurmazioni di mudelli per trattà i mudelli";

Parti necessarie
Per compie stu tutoriale avete bisognu di e seguenti parti:

  • scheda di sviluppu ESP32
  • Modulu DHT11
  • Breadboard
  • Fili jumper

SchematicuLAFVIN ESP32 Basic Starter Kit - Schema 2Installazione di Biblioteche
Avete bisognu di stallà un paru di biblioteche per stu prughjettu:

Installazione di a Biblioteca di Sensori DHT
Per leghje da u sensor DHT utilizendu Arduino IDE, avete bisognu di stallà Biblioteca di sensori DHT. Segui i seguenti passi per installà a biblioteca.

  1. Cliccate quì per scaricà a biblioteca DHT Sensor. Tu avissi a hannu un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è duvete ottene u cartulare DHT-sensor-library-master
  3. Rinominate u vostru cartulare da DHT-sensor-library-master à DHT_sensor
  4. Sposta u cartulare DHT_sensor à u vostru cartulare di biblioteche di installazione Arduino IDE
  5. Infine, riapertura u vostru IDE Arduino

Installazione di Adafruit Unified Sensor Driver
Avete ancu bisognu di stallà u Adafruit Unified Sensor Driver biblioteca per travaglià cù u sensor DHT. Segui i seguenti passi per installà a biblioteca.

  1. Cliccate quì per scaricà a biblioteca di Adafruit Unified Sensor. Tu avissi a hannu un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è tu avissi a arrivare cartulare Adafruit_sensor-master
  3. Rinominate u vostru cartulare da Adafruit_sensor-master à Adafruit_sensor
  4. Sposta u cartulare Adafruit_sensor à u vostru cartulare di biblioteche di installazione Arduino IDE
  5. Infine, riapertura u vostru IDE Arduino

Installazione di ESPAsyncWebBiblioteca di u servitore

Segui i seguenti passi per installà u ESPAsyncWebServitore biblioteca:

  1. Cliccate quì per scaricà l'ESPAsyncWebBiblioteca di u servitore. Duvete avè
    un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è duvete
    uttene ESPAsyncWebU cartulare di u servitore-maestru
  3. Rinominate u vostru cartulare da ESPAsyncWebServer-master à ESPAsyncWebServitore
  4. Move u ESPAsyncWebU cartulare di u servitore in u vostru cartulare di librerie di installazione Arduino IDE

Installazione di a Biblioteca Async TCP per ESP32
U ESPAsyncWebServitore biblioteca richiede u AsyncTCP biblioteca à travaglià. Segui i seguenti passi per installà quella biblioteca:

  1. Cliccate quì per scaricà a libreria AsyncTCP. Tu avissi a hannu un cartulare .zip in u vostru cartulare Downloads
  2. Unzip u cartulare .zip è tu avissi a arrivare cartulare AsyncTCP-maestru
  3. Rinominate u vostru cartulare da AsyncTCP-master à AsyncTCP
  4. Sposta u cartulare AsyncTCP à u vostru cartulare di biblioteche di installazione Arduino IDE
  5. Infine, riapertura u vostru IDE Arduino

Codice
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDE
Dopu à stallà e librerie nicissarii, apre u codice
Project_9_ESP32_DHT11_Web_Server.ino in arduino IDE.
Prima di cullà u codice, ùn vi scurdate di inserisce e vostre credenziali di rete per chì l'ESP pò cunnette à a vostra reta lucale.LAFVIN ESP32 Basic Starter Kit - CodiceCumu Funziona u Codice
In i paragrafi seguenti spiegheremu cumu u codice funziona. Continua a leghje s'è vo vulete amparà di più o saltà à a sezione Dimustrazione per vede u risultatu finali.
Importazione di biblioteche
Prima, importate e librerie necessarie. U WiFi, ESPAsyncWebServitore è ESPAsyncTCP sò necessarii per custruisce u web servitore. L'Adafruit_Sensor è e librerie DHT sò necessarii per leghje da i sensori DHT11 o DHT22.LAFVIN ESP32 Basic Starter Kit - Importazione di librerieLAFVIN ESP32 Basic Starter Kit - Cumu Funziona u CodiceDefinizione di variabili
Definite u GPIO chì u pin di dati DHT hè cunnessu. In questu casu, hè cunnessu à GPIO 4.LAFVIN ESP32 Basic Starter Kit - Definizione di variabiliAllora, selezziunate u tipu di sensor DHT chì stai aduprate. In u nostru example, avemu aduprà u DHT22. Sè vo aduprate un altru tipu, basta à annullà u vostru sensoru è cummentà tutti l'altri.LAFVIN ESP32 Basic Starter Kit - Definizione di variabili 1

Instanziate un oggettu DHT cù u tipu è u pin chì avemu definitu prima.LAFVIN ESP32 Basic Starter Kit - Definizione di variabili 2Crea un AsyncWebUghjettu di u servitore nantu à u portu 80.LAFVIN ESP32 Basic Starter Kit - Definizione di variabili 3Leghjite Funzioni di temperatura è umidità
Avemu criatu duie funzioni : una per leghje a temperatura Avemu creatu duie funzioni : una per leghje a temperatura (readDHTTemperature()) è l'altra per leghje l'umidità (readDHTHumidity()).LAFVIN ESP32 Basic Starter Kit - leghje DHTHumiditàLAFVIN ESP32 Basic Starter Kit - lettura di sensoriOttene letture di i sensori hè simplice quant'è l'utilizazione Ottene e letture di i sensori hè simplice quant'è aduprà i metudi readTemperature () è readHumidity () nantu à l'ughjettu dht.LAFVIN ESP32 Basic Starter Kit - ughjettuAvemu ancu una cundizione chì torna dui trattini (–) in casu chì u sensoru ùn riesce à ottene e letture.LAFVIN ESP32 Basic Starter Kit - lettureE letture sò tornate cum'è tippu di stringa. Per cunvertisce un float in una stringa, utilizate a funzione String().LAFVIN ESP32 Basic Starter Kit - StringPer automaticamente, leghjemu a temperatura in gradi Celsius. Per piglià a temperatura in gradi Fahrenheit, cummentate a temperatura in Celsius è sguassate a temperatura in Fahrenheit, perchè avete i seguenti:LAFVIN ESP32 Basic Starter Kit - FahrenheitLAFVIN ESP32 Basic Starter Kit - Fahrenheit 1Caricate u codice
Avà, carica u codice à u vostru ESP32. Fate sicuru chì vo avete u bordu dritta è portu COM selected.Upload codice riferimentu passi.
Dopu a carica, apre u Monitor Serial à una baud rate di 115200. Press u buttone di resettore ESP32. L'indirizzu IP ESP32 deve esse stampatu in u seriale monitor.LAFVIN ESP32 Basic Starter Kit - Caricate u CodiceDimustrazione
Aprite un navigatore è scrivite l'indirizzu IP ESP32. U vostru web u servitore deve visualizà l'ultime letture di u sensoru.
Nota: U vostru navigatore è ESP32 deve esse cunnessi à a stessa LAN.
Avvisate chì e letture di temperatura è umidità sò aghjurnate automaticamente senza bisognu di rinfriscà web pagina.LAFVIN ESP32 Basic Starter Kit - Dimostrazione 1

Project_10_ESP32_OLED_Display

Stu prughjettu mostra cumu utilizà a visualizazione OLED SSD0.96 1306 inch cù ESP32 cù Arduino IDE.
Introducendu 0.96 inch Display OLED
U Display OLED chì avemu aduprà in stu tutoriale hè u mudellu SSD1306: un monocolore, 0.96 inch display cù 128 × 64 pixels cum'è mostra in a figura seguente.LAFVIN ESP32 Basic Starter Kit - Display OLEDA visualizazione OLED ùn hà micca bisognu di retroilluminazione, chì risulta in un cuntrastu assai bellu in ambienti scuri. Inoltre, i so pixel cunsumu energia solu quandu sò accesi, cusì a visualizazione OLED cunsuma menu energia in paragunà à l'altri display.
Perchè a visualizazione OLED usa u protocolu di cumunicazione I2C, u cablaggio hè assai simplice. Pudete aduprà a tavula seguente cum'è riferimentu.

Pin OLED ESP 32
Vin 3.3V
GND GND
SCL GPIO 22
SDA GPIO 21

SchematicuLAFVIN ESP32 Basic Starter Kit - SchematicInstallazione di SSD1306 OLED Library - ESP32
Ci hè parechje biblioteche dispunibuli per cuntrullà a visualizazione OLED cù l'ESP32.
In questu tutoriale useremu duie librerie Adafruit: Adafruit_SSD1306 biblioteca è Adafruit_GFX biblioteca.
Segui i seguenti passi per installà quelli biblioteche.

  1. Aprite u vostru Arduino IDE è andate à Sketch> Include Library> Manage Libraries. U Manager di Biblioteche deve esse apertu.
  2. Type "SSD1306" in a casella di ricerca è installate a biblioteca SSD1306 da Adafruit.LAFVIN ESP32 Basic Starter Kit - OLEDLibrary -
  3. Dopu avè installatu a biblioteca SSD1306 da Adafruit, scrivite "GFX" in a casella di ricerca è installate a biblioteca.LAFVIN ESP32 Basic Starter Kit - biblioteca
  4. Dopu avè installatu e librerie, riavvia u vostru IDE Arduino.

Codice
Dopu avè installatu e librerie richieste, apre u Project_10_ESP32_OLED_Display.ino in arduino IDE. codice
Prugrammaremu l'ESP32 utilizendu Arduino IDE, dunque assicuratevi di avè installatu l'add-on ESP32 prima di prucede: (Se avete digià fattu stu passu, pudete saltà à u passu prossimu).
Installazione di ESP32 Add-on in Arduino IDELAFVIN ESP32 Basic Starter Kit - Codice 1LAFVIN ESP32 Basic Starter Kit - Codice 2LAFVIN ESP32 Basic Starter Kit - Codice 3Cumu Funziona u Codice
Importazione di biblioteche
Prima, avete bisognu di impurtà e librerie necessarie. A libreria Wire per utilizà I2C è e librerie Adafruit per scrive à a visualizazione: Adafruit_GFX è Adafruit_SSD1306.LAFVIN ESP32 Basic Starter Kit - Code Works 1LAFVIN ESP32 Basic Starter Kit - Code Works 2Inizializza a visualizazione OLED
Allora, definisce a vostra larghezza è altezza OLED. In questu example, avemu aduprà un display OLED 128 × 64. Sè vo aduprate altre dimensioni, pudete cambià in e variabili SCREEN_WIDTH è SCREEN_HEIGHT.LAFVIN ESP32 Basic Starter Kit - Display OLEDAllora, inizializza un oggettu di visualizazione cù a larghezza è l'altezza definite prima cù u protocolu di cumunicazione I2C (&Wire).LAFVIN ESP32 Basic Starter Kit - protocolu di cumunicazioneU paràmetru (-1) significa chì u vostru display OLED ùn hà micca un pin RESET. Se u vostru display OLED hà un pin RESET, deve esse cunnessu à un GPIO. In questu casu, duvete passà u numeru GPIO cum'è paràmetru.
In u setup (), inizializza u Monitor Serial à un baud raute di 115200 per scopi di debugging.LAFVIN ESP32 Basic Starter Kit - scopiInizializza a visualizazione OLED cù u metudu begin() cum'è seguente:LAFVIN ESP32 Basic Starter Kit - display.beginLAFVIN ESP32 Basic Starter Kit - Serial.printlnStu snippet stampa ancu un missaghju nantu à u Monitor Serial, in casu chì ùn pudemu micca cunnette à a visualizazione.

LAFVIN ESP32 Basic Starter Kit - Serial.println 1In casu chì aduprate una visualizazione OLED diversa, pudete avè bisognu di cambià l'indirizzu OLED. In u nostru casu, l'indirizzu hè 0x3C.LAFVIN ESP32 Basic Starter Kit - indirizzuDopu avè inizializatu a visualizazione, aghjunghje un ritardu di dui secondi, perchè l'OLED hà abbastanza tempu per inizializza prima di scrive u testu:LAFVIN ESP32 Basic Starter Kit - ritarduClear Display, stabilisce a dimensione di font, culore è scrive u testu
Dopu avè inizializatu a visualizazione, sguassate u buffer di visualizazione cù u metudu clearDisplay():LAFVIN ESP32 Basic Starter Kit - display

Prima di scrive u testu, avete bisognu di stabilisce a dimensione di u testu, u culore è induve u testu serà visualizatu in l'OLED.
Stabbilisce a dimensione di font usendu u metudu setTextSize ():LAFVIN ESP32 Basic Starter Kit - display 1Pone u culore di font cù u metudu setTextColor() :
WHITE stabilisce un font biancu è un fondo neru.
Definite a pusizione induve u testu principia cù u metudu setCursor(x,y). In questu casu, avemu stabilitu u testu per cumincià à e coordenate (0,0) - à l'angulu superiore manca.LAFVIN ESP32 Basic Starter Kit - setTextColor 1Infine, pudete mandà u testu à a visualizazione cù u metudu println() , cum'è seguitaLAFVIN ESP32 Basic Starter Kit - codice 5Allora, avete bisognu di chjamà u metudu display () per vede veramente u testu nantu à u screnu.LAFVIN ESP32 Basic Starter Kit - display

A libreria Adafruit OLED furnisce metudi utili per scorrere facilmente u testu.

  • startscrollright (0x00, 0x0F): scorri u testu da manca à diritta
  • startscrollleft(0x00, 0x0F): scorri u testu da diritta à manca
  • startscrolldiagright (0x00, 0x07): scorri u testu da l'angulu in fondu à a manca à l'angulu superiore destra startscrolldiagleft (0x00, 0x07): scorri u testu da l'angulu in fondu à a manca à l'angulu superiore manca

Caricate u codice
Avà, Caricà u codice à u vostru ESP32.Upload passi riferimentu codice.
Dopu à carica u codice, l'OLED mostrarà u testu di scorrimentu.LAFVIN ESP32 Basic Starter Kit - testu di scorrimentuLogo LAFVIN

Documenti / Risorse

LAFVIN ESP32 Basic Starter Kit [pdfManuale d'istruzzioni
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *