Starter Bażiku ESP32
Kit
Lista tal-Ippakkjar
ESP32 Introduzzjoni
Ġdid għal ESP32? Ibda hawn! L-ESP32 hija serje ta' mikrokontrolluri bi prezz baxx u b'enerġija baxxa tas-Sistema fuq Ċippa (SoC) żviluppati minn Espressif li jinkludu kapaċitajiet bla fili Wi-Fi u Bluetooth u proċessur dual-core. Jekk int familjari mal-ESP8266, l-ESP32 huwa s-suċċessur tiegħu, mgħobbi b'ħafna karatteristiċi ġodda.Speċifikazzjonijiet ESP32
Jekk trid tikseb daqsxejn aktar tekniku u speċifiku, tista' tagħti ħarsa lejn l-ispeċifikazzjonijiet dettaljati li ġejjin tal-ESP32 (sors: http://esp32.net/)—għal aktar dettalji, iċċekkja d-datasheet):
- Konnettività bla fili WiFi: rata tad-dejta ta '150.0 Mbps b'HT40
- Bluetooth: BLE (Bluetooth Low Energy) u Bluetooth Classic
- Proċessur: Tensilica Xtensa Dual-Core 32-bit LX6 mikroproċessur, li jaħdem f'160 jew 240 MHz
- Memorja:
- ROM: 448 KB (għall-ibbutjar u l-funzjonijiet ewlenin)
- SRAM: 520 KB (għad-dejta u l-istruzzjonijiet)
- RTC fas SRAM: 8 KB (għall-ħażna tad-dejta u CPU prinċipali waqt RTC Boot mill-modalità deep-sleep)
- SRAM bil-mod RTC: 8KB (għall-aċċess tal-ko-proċessur waqt il-modalità deep-sleep) eFuse: 1 Kbit (li minnhom 256 bits huma użati għas-sistema (indirizz MAC u konfigurazzjoni taċ-ċippa) u l-bqija 768 bits huma riżervati għall-applikazzjonijiet tal-klijenti, inklużi Flash-Encryption u Chip-ID)
Flash inkorporat: flash konness internament permezz ta 'IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 u SD_DATA_1 fuq ESP32-D2WD u ESP32-PICO-D4.
- 0 MiB (Ċipep ESP32-D0WDQ6, ESP32-D0WD, u ESP32-S0WD)
- 2 MiB (ċippa ESP32-D2WD)
- 4 MiB (modulu ESP32-PICO-D4 SiP)
Enerġija Baxxa: jiżgura li xorta tista 'tuża konverżjonijiet ADC, per eżempjuample, waqt irqad fil-fond.
Input/Output Periferali:
- interface periferali b'DMA li jinkludi touch capacitive
- ADCs (Konvertitur minn Analog għal Diġitali)
- DACs (Konvertitur Diġitali għal Analogu)
- I²C (Ċirkwit Inter-Integrat)
- UART (Riċevitur/Trażmettitur Asinkronu Universali)
- SPI (Interface Periferali Serjali)
- I²S (Ħoss Interċippa Integrat)
- RMII (Interface Indipendenti mill-Midja Mnaqqsa)
- PWM (Modulazzjoni Wisa' tal-Impuls)
Sigurtà: aċċeleraturi tal-ħardwer għal AES u SSL/TLS
Bordijiet ta' Żvilupp ESP32
ESP32 jirreferi għaċ-ċippa ESP32 vojta. Madankollu, it-terminu "ESP32" jintuża wkoll biex jirreferi għal bordijiet ta 'żvilupp ESP32. L-użu taċ-ċipep vojta ESP32 mhuwiex faċli jew prattiku, speċjalment meta titgħallem, tittestja, u tagħmel prototipi. Ħafna mill-ħin, tkun trid tuża bord ta 'żvilupp ESP32.
Aħna ser nużaw il-bord ESP32 DEVKIT V1 bħala referenza. L-istampa hawn taħt turi l-bord ESP32 DEVKIT V1, verżjoni bi 30 pin GPIO.Speċifikazzjonijiet - ESP32 DEVKIT V1
It-tabella li ġejja turi sommarju tal-karatteristiċi u l-ispeċifikazzjonijiet tal-bord ESP32 DEVKIT V1 DOIT:
Numru ta' qlub | 2 (qalba doppja) |
Wi-Fi | 2.4 GHz sa 150 Mbits/s |
Bluetooth | BLE (Bluetooth Low Energy) u Bluetooth legacy |
Arkitettura | 32 bits |
Frekwenza tal-arloġġ | Sa 240 MHz |
RAM | 512 KB |
Labar | 30 (skond il-mudell) |
Periferali | Touch capacitive, ADC (konvertitur analogu għal diġitali), DAC (konvertitur diġitali għal analogu), 12C (Inter-Integrated Circuit), UART (riċevitur/trasmettitur asinkronu universali), CAN 2.0 (Kontroller Area Netwokr), SPI (Interface Periferali Serjali), 12S (Inter-IC Integrat) Ħoss), RMII (Interface Indipendenti mill-Midja Mnaqqsa), PWM (modulazzjoni tal-wisa 'tal-polz), u aktar. |
Buttuni integrati | Buttuni RESET u BOOT |
LEDs inkorporati | LED blu inkorporat konness ma 'GPIO2; LED aħmar integrat li juri li l-bord qed jitħaddem |
USB għal UART pont |
CP2102 |
Jiġi b'interface microUSB li tista 'tuża biex tikkonnettja l-bord mal-kompjuter tiegħek biex ittella' kodiċi jew tapplika l-qawwa.
Juża ċ-ċippa CP2102 (USB għal UART) biex tikkomunika mal-kompjuter tiegħek permezz ta 'port COM billi tuża interface serjali. Ċippa popolari oħra hija l-CH340. Iċċekkja x'inhu l-konvertitur taċ-ċippa USB għal UART fuq il-bord tiegħek għax ikollok bżonn tinstalla s-sewwieqa meħtieġa sabiex il-kompjuter tiegħek ikun jista' jikkomunika mal-bord (aktar informazzjoni dwar dan aktar tard f'din il-gwida).
Dan il-bord jiġi wkoll b'buttuna RESET (tista' tkun ittikkettata EN) biex terġa 'tibda l-bord u buttuna BOOT biex tpoġġi l-bord fil-mod li jteptep (disponibbli biex tirċievi kodiċi). Innota li xi bordijiet jista 'ma jkollhomx buttuna BOOT.
Jiġi wkoll b'LED blu integrat li huwa internament konness ma 'GPIO 2. Dan l-LED huwa utli għad-debugging biex jagħti xi tip ta' output fiżiku viżiv. Hemm ukoll LED aħmar li jixgħel meta tipprovdi l-enerġija lill-bord.ESP32 Pinout
Il-periferali ESP32 jinkludu:
- 18-il kanal ta' Konvertitur minn Analog għal Diġitali (ADC).
- 3 interfaces SPI
- 3 interfaces UART
- 2 interfaces I2C
- 16 kanali tal-ħruġ PWM
- 2 Konvertituri Diġitali għal Analogu (DAC)
- 2 interfaces I2S
- 10 GPIOs ta' sensing kapaċità
Il-karatteristiċi ADC (konvertitur analogu għal diġitali) u DAC (konvertitur diġitali għal analogu) huma assenjati għal pinnijiet statiċi speċifiċi. Madankollu, tista 'tiddeċiedi liema pinnijiet huma UART, I2C, SPI, PWM, eċċ - għandek bżonn biss tassenjahom fil-kodiċi. Dan huwa possibbli minħabba l-karatteristika ta 'multiplexing taċ-ċippa ESP32.
Għalkemm tista 'tiddefinixxi l-proprjetajiet tal-brilli fuq is-softwer, hemm labar assenjati awtomatikament kif muri fil-figura li ġejjaBarra minn hekk, hemm labar b'karatteristiċi speċifiċi li jagħmluhom adattati jew le għal proġett partikolari. It-tabella li ġejja turi liema pinnijiet huma l-aħjar biex tużaw bħala inputs, outputs u liema minnhom trid tkun kawt.
Il-brilli enfasizzati bl-aħdar huma OK biex jintużaw. Dawk enfasizzati bl-isfar huma tajbin biex jintużaw, iżda trid tagħti attenzjoni għax jista 'jkollhom imġieba mhux mistennija prinċipalment fil-but. Il-brilli enfasizzati bl-aħmar mhumiex rakkomandati biex jintużaw bħala inputs jew outputs.
GP IO | Input | Output | Noti |
0 | miġbud 'il fuq | OK | joħroġ sinjal PWM fil-but, għandu jkun BAXX biex jidħol fil-mod li jteptep |
1 | pin TX | OK | debug output fil boot |
2 | OK | OK | konness ma 'l-LED abbord, għandu jitħalla f'wiċċ l-ilma jew BAXX biex jidħol fil-mod li jteptep |
3 | OK | pin RX | GĦOLJA fil-but |
4 | OK | OK | |
5 | OK | OK | outputs sinjal PWM fil-but, strapping pin |
12 | OK | OK | boot jonqos jekk jinġibed għoli, strapping pin |
13 | OK | OK | |
14 | OK | OK | joħroġ sinjal PWM fil-but |
15 | OK | OK | outputs sinjal PWM fil-but, strapping pin |
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 biss | |
35 | OK | input biss | |
36 | OK | input biss | |
39 | OK | input biss |
Kompli aqra għal aktar dettall u analiżi fil-fond tal-GPIOs ESP32 u l-funzjonijiet tiegħu.
Daħħal pins biss
GPIOs 34 sa 39 huma GPIs - input biss pinnijiet. Dawn il-brilli m'għandhomx resistors interni pull-up jew pull-down. Ma jistgħux jintużaw bħala outputs, għalhekk uża dawn il-brilli biss bħala inputs:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
SPI flash integrat fuq l-ESP-WROOM-32
GPIO 6 sa GPIO 11 huma esposti f'xi bordijiet ta 'żvilupp ESP32. Madankollu, dawn il-brilli huma konnessi mal-flash SPI integrat fuq iċ-ċippa ESP-WROOM-32 u mhumiex rakkomandati għal użi oħra. Allura, tużax dawn il-brilli fil-proġetti tiegħek:
- GPIO 6 (SCK/CLK)
- GPIO 7 (SDO/SD0)
- GPIO 8 (SDI/SD1)
- GPIO 9 (SHD/SD2)
- GPIO 10 (SWP/SD3)
- GPIO 11 (CSC/CMD)
GPIOs touch capacitive
L-ESP32 għandu 10 sensors tat-touch capacitive interni. Dawn jistgħu jħossu varjazzjonijiet f'xi ħaġa li żżomm ċarġ elettriku, bħall-ġilda tal-bniedem. Allura jistgħu jiskopru varjazzjonijiet indotti meta jmissu l-GPIOs b'subgħajh. Dawn il-brilli jistgħu jiġu integrati faċilment f'pads abilità u jissostitwixxu buttuni mekkaniċi. Il-pinnijiet tat-touch capacitive jistgħu jintużaw ukoll biex tqum l-ESP32 minn irqad fil-fond. Dawk is-sensuri tal-mess interni huma konnessi ma' dawn il-GPIOs:
- 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)
Konvertitur Analogu għal Diġitali (ADC)
L-ESP32 għandu kanali ta 'input ADC 18 x 12 bits (filwaqt li l-ESP8266 għandu biss 1x 10 bits ADC). Dawn huma l-GPIOs li jistgħu jintużaw bħala ADC u kanali 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: Il-pinnijiet ADC2 ma jistgħux jintużaw meta tintuża l-Wi-Fi. Għalhekk, jekk qed tuża Wi-Fi u qed ikollok problemi biex tikseb il-valur minn ADC2 GPIO, tista 'tikkunsidra li tuża ADC1 GPIO minflok. Dak għandu jsolvi l-problema tiegħek.
Il-kanali ta 'input ADC għandhom riżoluzzjoni ta' 12-il bit. Dan ifisser li tista 'tikseb qari analogu li jvarja minn 0 sa 4095, li fih 0 jikkorrispondi għal 0V u 4095 għal 3.3V. Tista 'wkoll tissettja r-riżoluzzjoni tal-kanali tiegħek fuq il-kodiċi u l-firxa ADC.
Il-brilli ESP32 ADC m'għandhomx imġieba lineari. Probabbilment mhux se tkun kapaċi tiddistingwi bejn 0 u 0.1V, jew bejn 3.2 u 3.3V. Għandek iżżomm dan f'moħħok meta tuża l-labar ADC. Int ser ikollok imġieba simili għal dik murija fil-figura li ġejja.Konvertitur Diġitali għal Analogu (DAC)
Hemm 2 x 8 bits DAC kanali fuq l-ESP32 biex jikkonvertu sinjali diġitali f'analog voltage outputs tas-sinjali. Dawn huma l-kanali tad-DAC:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
RTC GPIOs
Hemm appoġġ RTC GPIO fuq l-ESP32. Il-GPIOs diretti lejn is-subsistema RTC ta 'enerġija baxxa jistgħu jintużaw meta l-ESP32 ikun fi rqad fil-fond. Dawn l-RTC GPIOs jistgħu jintużaw biex iqajmu l-ESP32 minn irqad fil-fond meta l-Ultra Low
Il-koproċessur tal-enerġija (ULP) qed jaħdem. Il-GPIOs li ġejjin jistgħu jintużaw bħala sors ta 'wake up estern.
- 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
Il-kontrollur ESP32 LED PWM għandu 16-il kanal indipendenti li jistgħu jiġu kkonfigurati biex jiġġeneraw sinjali PWM bi proprjetajiet differenti. Il-brilli kollha li jistgħu jaġixxu bħala outputs jistgħu jintużaw bħala pinnijiet PWM (GPIOs 34 sa 39 ma jistgħux jiġġeneraw PWM).
Biex tissettja sinjal PWM, trid tiddefinixxi dawn il-parametri fil-kodiċi:
- Frekwenza tas-sinjal;
- Duty cycle;
- Kanal PWM;
- GPIO fejn trid toħroġ is-sinjal.
I2C
L-ESP32 għandu żewġ kanali I2C u kwalunkwe pin jista 'jiġi ssettjat bħala SDA jew SCL. Meta tuża l-ESP32 mal-IDE Arduino, il-pinnijiet I2C default huma:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Jekk trid tuża pinnijiet oħra meta tuża l-librerija tal-wajers, trid biss iċempel:
Wire.begin(SDA, SCL);
SPI
B'mod awtomatiku, l-immappjar tal-pin għal SPI huwa:
SPI | MOSI | MISO | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Tinterrompi
Il-GPIOs kollha jistgħu jiġu kkonfigurati bħala interruzzjonijiet.
Pinnijiet tal-istrapping
Iċ-ċippa ESP32 għandha l-brilli li ġejjin:
- GPIO 0 (għandu jkun BAXX biex tidħol fil-modalità tal-ibbutjar)
- GPIO 2 (għandu jkun f'wiċċ l-ilma jew BAXX waqt l-ibbutjar)
- GPIO 4
- GPIO 5 (għandha tkun GĦOLJA waqt il-boot)
- GPIO 12 (għandu jkun BAXX waqt il-boot)
- GPIO 15 (għandha tkun GĦOLJA waqt il-boot)
Dawn jintużaw biex ipoġġu l-ESP32 fil-modalità bootloader jew li jteptep. Fuq il-biċċa l-kbira tal-bordijiet tal-iżvilupp b'USB/Serial integrat, m'għandekx għalfejn tinkwieta dwar l-istat ta 'dawn il-labar. Il-bord ipoġġi l-brilli fl-istat it-tajjeb għal mod li jteptep jew boot. Aktar informazzjoni dwar l-Għażla tal-Modalità tal-Ibbutjar tal-ESP32 tista 'tinstab hawn.
Madankollu, jekk għandek periferali konnessi ma 'dawk il-brilli, jista' jkollok problemi biex tipprova ttella' kodiċi ġdid, itteptep l-ESP32 b'firmware ġdid, jew tirreset il-bord. Jekk għandek xi periferali konnessi mal-brilli taċ-ċingi u qed ikollok problemi biex ittella' l-kodiċi jew itteptep l-ESP32, jista 'jkun minħabba li dawk il-periferali qed jipprevjenu lill-ESP32 milli jidħol fil-mod it-tajjeb. Aqra d-dokumentazzjoni tal-Għażla tal-Modalità tal-Ibbutjar biex tiggwidak fid-direzzjoni t-tajba. Wara li jiġu ssettjati mill-ġdid, iteptep, jew ibbutjar, dawk il-brilli jaħdmu kif mistenni.
Labar GĦOLJA fil-Boot
Xi GPIOs jibdlu l-istat tagħhom għal GĦOLJA jew joħorġu sinjali PWM fil-but jew reset.
Dan ifisser li jekk għandek outputs konnessi ma 'dawn il-GPIOs tista' tikseb riżultati mhux mistennija meta l-ESP32 jerġa 'jiġi reset jew boots.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 sa GPIO 11 (konness mal-memorja flash SPI integrata ESP32 - mhux rakkomandat li tuża).
- GPIO 14
- GPIO 15
Attiva (EN)
Enable (EN) huwa l-enable pin tar-regolatur 3.3V. Huwa miġbud 'il fuq, għalhekk qabbad ma' l-art biex tiddiżattiva r-regolatur ta '3.3V. Dan ifisser li tista' tuża dan il-pin konness ma' buttuna biex terġa' tibda l-ESP32 tiegħek, pereżempjuample.
GPIO miġbud kurrenti
Il-kurrent massimu assolut miġbud għal kull GPIO huwa 40mA skont it-taqsima "Kundizzjonijiet Operattivi Rakkomandati" fid-datasheet tal-ESP32.
Sensor tas-sensor ta' l-effett ta' l-ESP32
L-ESP32 għandu wkoll sensor tal-effett tas-sala mibni li jiskopri bidliet fil-kamp manjetiku fl-inħawi tiegħu
ESP32 Arduino IDE
Hemm add-on għall-Arduino IDE li jippermettilek li tipprogramma l-ESP32 billi tuża l-Arduino IDE u l-lingwa ta 'programmar tagħha. F'dan it-tutorja aħna ser nuruk kif tinstalla l-bord ESP32 f'Arduino IDE kemm jekk qed tuża Windows, Mac OS X jew Linux.
Prerekwiżiti: Arduino IDE Installat
Qabel ma tibda din il-proċedura ta 'installazzjoni, jeħtieġ li jkollok Arduino IDE installat fuq il-kompjuter tiegħek. Hemm żewġ verżjonijiet tal-IDE Arduino li tista 'tinstalla: verżjoni 1 u verżjoni 2.
Tista' tniżżel u tinstalla Arduino IDE billi tikklikkja fuq il-link li ġej: arduino.cc/en/Main/Software
Liema verżjoni Arduino IDE nirrakkomandaw? Fil-mument, hemm xi wħud plugins għall-ESP32 (bħall-SPIFFS Filesistema Uploader Plugin) li għadhom mhumiex appoġġjati fuq Arduino 2. Għalhekk, jekk għandek il-ħsieb li tuża l-plugin SPIFFS fil-futur, nirrakkomandaw li tinstalla l-verżjoni legacy 1.8.X. Għandek bżonn biss li tiskrollja 'l isfel fuq il-paġna tas-softwer Arduino biex issibha.
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Biex tinstalla l-bord ESP32 fl-IDE Arduino tiegħek, segwi dawn l-istruzzjonijiet li jmiss:
- Fl-IDE Arduino tiegħek, mur File> Preferenzi
- Daħħal dan li ġej fil-“Maniġer tal-Bord Addizzjonali URLs” qasam:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Imbagħad, ikklikkja l-buttuna "OK":Nota: jekk diġà għandek il-bordijiet ESP8266 URL, tista' tissepara l- URLs b'virgola kif ġej:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Iftaħ il-Maniġer tal-Bordijiet. Mur Għodda > Bord > Maniġer tal-Bordijiet...Fittex għal ESP32 and press install button for the “ESP32 by Espressif Systems“:
Dak hu. Għandu jiġi installat wara ftit sekondi.
Ittella Kodiċi tat-Test
Ipplaggja l-bord ESP32 mal-kompjuter tiegħek. Bl-IDE Arduino tiegħek miftuħ, segwi dawn il-passi:
- Agħżel il-Bord tiegħek f'Għodda > menu Bord (fil-każ tiegħi huwa l-Modulu DEV ESP32)
- Agħżel il-Port (jekk ma tarax il-Port COM fl-IDE ta' Arduino tiegħek, għandek bżonn tinstalla s-Sewwieqa tal-VCP CP210x USB għal UART Bridge):
- Iftaħ l-eż li ġejample taħt File > Eżamples > WiFi
(ESP32) > WiFiScan - Jiftaħ skeċċ ġdid fl-IDE ta' Arduino tiegħek:
- Agħfas il-buttuna Upload fl-IDE Arduino. Stenna ftit sekondi waqt li l-kodiċi jikkompila u jtella' fuq il-bord tiegħek.
- Jekk kollox imur kif mistenni, għandek tara "Tlugħ itella'." messaġġ.
- Iftaħ l-Arduino IDE Serial Monitor b'baud rate ta' 115200:
- Agħfas il-buttuna Enable ESP32 abbord u għandek tara n-netwerks disponibbli ħdejn l-ESP32 tiegħek:
Issolvi l-problemi
Jekk tipprova ttella’ skeċċ ġdid fuq l-ESP32 tiegħek u tirċievi dan il-messaġġ ta’ żball “Ġara żball fatali: Naqas milli tqabbad ma’ ESP32: Żmien skada… Konnessjoni…”. Dan ifisser li l-ESP32 tiegħek mhux fil-mod li jteptep/uploading.
Wara li jintgħażlu l-isem tal-bord it-tajjeb u l-COM por, segwi dawn il-passi:
Żomm il-buttuna "BOOT" fil-bord ESP32 tiegħek
- Agħfas il-buttuna "Upload" fl-IDE ta' Arduino biex ittella' l-iskeċċ tiegħek:
- Wara li tara l-"Konnessjoni...." messaġġ fl-IDE ta' Arduino tiegħek, itlaq is-saba 'mill-buttuna "BOOT":
- Wara dan, għandek tara l-messaġġ "Magħmul uploading".
Dak hu. L-ESP32 tiegħek għandu jkollu l-iskeċċ il-ġdid għaddej. Agħfas il-buttuna "ENABLE" biex terġa 'tibda l-ESP32 u tħaddem l-iskeċċ il-ġdid imtella'.
Int ser ikollok ukoll tirrepeti dik is-sekwenza tal-buttuni kull darba li trid ittella' skeċċ ġdid.
Proġett 1 ESP32 Inputs Outputs
F'din il-gwida tal-bidu int ser titgħallem kif taqra inputs diġitali bħal swiċċ tal-buttuna u tikkontrolla l-outputs diġitali bħal LED billi tuża l-ESP32 b'Arduino IDE.
Prerekwiżiti
Aħna ser nipprogrammaw l-ESP32 bl-użu ta 'Arduino IDE. Allura, kun żgur li għandek is-add-on tal-bordijiet ESP32 installat qabel ma tipproċedi:
- Installazzjoni ta' ESP32 Add-on f'Arduino IDE
ESP32 Kontroll Outputs Diġitali
L-ewwel, għandek bżonn issettja l-GPIO li trid tikkontrolla bħala OUTPUT. Uża l-funzjoni pinMode() kif ġej:
pinMode(GPIO, OUTPUT);
Biex tikkontrolla output diġitali għandek bżonn biss li tuża l-funzjoni digitalWrite(), li taċċetta bħala argumenti, il-GPIO (numru int) li qed tirreferi għalih, u l-istat, jew GĦOLJA jew BAXXA.
digitalWrite(GPIO, STATE);
Il-GPIOs kollha jistgħu jintużaw bħala outputs ħlief GPIOs 6 sa 11 (konnessi mal-flash SPI integrat) u GPIOs 34, 35, 36 u 39 (input biss GPIOs);
Tgħallem aktar dwar l-ESP32 GPIOs: ESP32 GPIO Reference Guide
ESP32 Aqra Inputs Diġitali
L-ewwel, issettja l-GPIO li trid taqra bħala INPUT, billi tuża l-funzjoni pinMode() kif ġej:
pinMode(GPIO, INPUT);
Biex taqra input diġitali, bħal buttuna, tuża l-funzjoni digitalRead(), li taċċetta bħala argument, il-GPIO (numru int) li qed tirreferi għalih.
DigitalRead(GPIO);
L-ESP32 GPIOs kollha jistgħu jintużaw bħala inputs, ħlief GPIOs 6 sa 11 (konnessi mal-flash SPI integrat).
Tgħallem aktar dwar l-ESP32 GPIOs: ESP32 GPIO Reference Guide
Proġett Eżample
Biex nuruk kif tuża inputs diġitali u outputs diġitali, aħna ser nibnu proġett sempliċi example bi buttuna u LED. Aħna ser naqraw l-istat tal-buttuna u nixgħel l-LED kif xieraq kif muri fil-figura li ġejja.
Partijiet Meħtieġa
Hawnhekk hawn lista tal-partijiet li għandek bżonn biex tibni ċ-ċirkwit:
- ESP32 DEVKIT V1
- 5 mm LED
- 220 Ohm resister
- Buttuna
- 10k Ohm resistor
- Breadboard
- Jumper wires
Dijagramma Skematika
Qabel ma tipproċedi, għandek bżonn tiġbor ċirkwit b'LED u buttuna.
Aħna ser tikkonnettja l-LED ma 'GPIO 5 u l-buttuna ma' GPIO 4.Kodiċi
Iftaħ il-kodiċi Project_1_ESP32_Inputs_Outputs.ino f'arduino IDEKif Jaħdem il-Kodiċi
Fiż-żewġ linji li ġejjin, inti toħloq varjabbli biex tassenja labar:
Il-buttuna hija konnessa ma 'GPIO 4 u l-LED huwa konness ma' GPIO 5. Meta tuża l-IDE Arduino mal-ESP32, 4 jikkorrispondi għal GPIO 4 u 5 jikkorrispondi għal GPIO 5.
Sussegwentement, inti toħloq varjabbli biex iżżomm l-istat tal-buttuna. B'mod awtomatiku, huwa 0 (mhux ippressat).
int buttonState = 0;
Fis-setup(), inti initialize l-buttuna bħala INPUT, u l-LED bħala OUTPUT.
Għal dan, tuża l-funzjoni pinMode() li taċċetta l-pin li qed tirreferi għalih, u l-mod: INPUT jew OUTPUT.
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Fil-linja () huwa fejn taqra l-istat tal-buttuna u ssettja l-LED kif xieraq.
Fil-linja li jmiss, taqra l-istat tal-buttuna u ssejvjah fil-varjabbli buttonState.
Kif rajna qabel, tuża l-funzjoni digitalRead().
buttonState = digitalRead (buttonPin);
Id-dikjarazzjoni if li ġejja, tiċċekkja jekk l-istat tal-buttuna huwiex GĦOLJA. Jekk ikun, jixgħel l-LED bl-użu tal-funzjoni digitalWrite() li taċċetta bħala argument il-ledPin, u l-istat GĦOLJA.
jekk (buttonState == GĦOLJA)Jekk l-istat tal-buttuna ma jkunx GĦOLJA, issettja l-LED mitfi. Issettja biss LOW bħala t-tieni argument fil-funzjoni digitalWrite().
Tlugħ tal-Kodiċi
Qabel ma tikklikkja l-buttuna tat-tlugħ, mur Għodda > Bord, u agħżel il-bord :DOIT ESP32 DEVKIT V1 bord.
Mur Għodod > Port u agħżel il-port COM li l-ESP32 huwa konness miegħu. Imbagħad, agħfas il-buttuna tat-tlugħ u stenna l-messaġġ "Magħmul ittella".Nota:Jekk tara ħafna tikek (konnessjoni…__…__) fuq it-tieqa tad-debugging u l-messaġġ “Failed to connect to ESP32: Timed out waiting for packet header”, dan ifisser li għandek bżonn tagħfas il-buttuna ESP32 abbord BOOT wara t-tikek
tibda tidher.Issolvi l-problemi
Dimostrazzjoni
Wara li ttella' l-kodiċi, ittestja ċ-ċirkwit tiegħek. L-LED tiegħek għandu jixgħel meta tagħfas il-buttuna:U itfi meta tirrilaxxha:
Proġett 2 ESP32 Analog Inputs
Dan il-proġett juri kif taqra inputs analogi bl-ESP32 bl-użu ta 'Arduino IDE.
Qari analogu huwa utli biex taqra valuri minn resistors varjabbli bħal potenzjometri, jew sensuri analogi.
Inputs Analoġiċi (ADC)
Il-qari ta 'valur analogu bl-ESP32 ifisser li tista' tkejjel vol li jvarjatage livelli bejn 0 V u 3.3 V.
Il-voltagIl-kejl imbagħad jiġi assenjat għal valur bejn 0 u 4095, li fih 0 V jikkorrispondi għal 0, u 3.3 V jikkorrispondi għal 4095. Kwalunkwe voltage bejn 0 V u 3.3 V se jingħata l-valur korrispondenti bejniethom.ADC huwa mhux lineari
Idealment, tistenna imġieba lineari meta tuża l-brilli ESP32 ADC.
Madankollu, dan ma jseħħx. Dak li se tikseb hija mġieba kif muri fit-tabella li ġejja:Din l-imġieba tfisser li l-ESP32 tiegħek mhux kapaċi jiddistingwi 3.3 V minn 3.2 V.
Int ser tirċievi l-istess valur għaż-żewġ voltages: 4095.
L-istess jiġri għal vol baxx ħafnatagValuri e: għal 0 V u 0.1 V ikollok l-istess valur: 0. Għandek iżżomm dan f'moħħok meta tuża l-pinnijiet ESP32 ADC.
analogRead() Funzjoni
Il-qari ta 'input analogu bl-ESP32 bl-użu ta' Arduino IDE huwa sempliċi daqs l-użu tal-funzjoni analogRead(). Jaċċetta bħala argument, il-GPIO li trid taqra:
analogRead(GPIO);
15 biss huma disponibbli fid-DEVKIT V1board (verżjoni bi 30 GPIOs).
Aqbad il-pinout tal-bord ESP32 tiegħek u sib il-labar tal-ADC. Dawn huma enfasizzati b'bord aħmar fil-figura hawn taħt.Dawn il-pinnijiet ta 'input analogu għandhom riżoluzzjoni ta' 12-il bit. Dan ifisser li meta taqra input analogu, il-firxa tagħha tista 'tvarja minn 0 sa 4095.
Nota: Il-pinnijiet ADC2 ma jistgħux jintużaw meta tintuża l-Wi-Fi. Għalhekk, jekk qed tuża Wi-Fi u qed ikollok problemi biex tikseb il-valur minn ADC2 GPIO, tista 'tikkunsidra li tuża ADC1 GPIO minflok, dan għandu jsolvi l-problema tiegħek.
Biex tara kif kollox jorbot flimkien, aħna ser nagħmlu ex sempliċiample biex taqra valur analog minn potenzjometru.
Partijiet Meħtieġa
Għal dan example, għandek bżonn il-partijiet li ġejjin:
- Bord ESP32 DEVKIT V1
- Potenzjometru
- Breadboard
- Jumper wires
Skematika
Wire potenzjometru mal-ESP32 tiegħek. Il-pin tan-nofs tal-potenzjometru għandu jkun imqabbad ma 'GPIO 4. Tista' tuża d-dijagramma skematika li ġejja bħala referenza.Kodiċi
Aħna ser nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Iftaħ il-kodiċi Project_2_ESP32_Inputs_Outputs.ino f'arduino IDEDan il-kodiċi sempliċement jaqra l-valuri mill-potenzjometru u jistampa dawk il-valuri fis-Serial Monitor.
Fil-kodiċi, tibda billi tiddefinixxi l-GPIO li l-potenzjometru huwa konness miegħu. F'dan example, GPIO 4.Fis-setup(), inizjalizza komunikazzjoni serjali b'rata ta 'baud ta' 115200.
Fil-loop(), uża l-funzjoni analogRead() biex taqra l-input analogu mill-potPin.
Fl-aħħarnett, ipprintja l-valuri moqrija mill-potenzjometru fil-monitor tas-serje.
Ittella' l-kodiċi pprovdut lill-ESP32 tiegħek. Kun żgur li għandek il-bord it-tajjeb u l-port COM magħżula fil-menu Għodda.
Ittestjar tal-Eżample
Wara li ttella 'l-kodiċi u tagħfas il-buttuna ta' reset ESP32, iftaħ is-Serial Monitor b'rata ta 'baud ta' 115200. Dawwar il-potenzjometru u ara l-valuri jinbidlu.Il-valur massimu li jkollok huwa 4095 u l-valur minimu huwa 0.
Tgeżwir Up
F'dan l-artikolu tgħallimt kif taqra inputs analogi billi tuża l-ESP32 bl-IDE Arduino. Fil-qosor:
- Il-bord ESP32 DEVKIT V1 DOIT (verżjoni bi 30 pin) għandu 15-il pin ADC li tista 'tuża biex taqra inputs analogi.
- Dawn il-brilli għandhom riżoluzzjoni ta '12-il bit, li jfisser li tista' tikseb valuri minn 0 sa 4095.
- Biex taqra valur fl-IDE Arduino, sempliċement tuża l-funzjoni analogRead().
- Il-brilli ESP32 ADC m'għandhomx imġieba lineari. Probabbilment mhux se tkun kapaċi tiddistingwi bejn 0 u 0.1V, jew bejn 3.2 u 3.3V. Għandek iżżomm dan f'moħħok meta tuża l-labar ADC.
Proġett 3 ESP32 PWM (Output Analoġiku)
F'dan it-tutorja aħna ser nuruk kif tiġġenera sinjali PWM bl-ESP32 billi tuża Arduino IDE. Bħala example aħna ser nibnu ċirkwit sempliċi li jbaxxi l-LED bl-użu tal-kontrollur LED PWM tal-ESP32.Kontrollur PWM LED ESP32
L-ESP32 għandu kontrollur LED PWM b'16-il kanal indipendenti li jistgħu jiġu kkonfigurati biex jiġġeneraw sinjali PWM bi proprjetajiet differenti.
Hawn huma l-passi li jkollok issegwi biex iddgħajjef LED b'PWM billi tuża l-IDE Arduino:
- L-ewwel, għandek bżonn tagħżel kanal PWM. Hemm 16-il kanal minn 0 sa 15.
- Imbagħad, għandek bżonn tissettja l-frekwenza tas-sinjal PWM. Għal LED, frekwenza ta '5000 Hz hija tajba biex tużah.
- Għandek bżonn ukoll li tissettja r-riżoluzzjoni taċ-ċiklu tad-dazju tas-sinjal: għandek riżoluzzjonijiet minn 1 sa 16-il bit. Aħna ser nużaw riżoluzzjoni ta '8-bit, li jfisser li tista' tikkontrolla l-luminożità tal-LED billi tuża valur minn 0 sa 255.
- Sussegwentement, trid tispeċifika fuq liema GPIO jew GPIOs se jidher is-sinjal. Għal dan int ser tuża l-funzjoni li ġejja:
ledcAttachPin(GPIO, kanal)
Din il-funzjoni taċċetta żewġ argumenti. L-ewwel huwa l-GPIO li joħroġ is-sinjal, u t-tieni huwa l-kanal li se jiġġenera s-sinjal. - Fl-aħħarnett, biex tikkontrolla l-luminożità tal-LED billi tuża PWM, tuża l-funzjoni li ġejja:
ledcWrite(kanal, dutycycle)
Din il-funzjoni taċċetta bħala argumenti l-kanal li qed jiġġenera s-sinjal PWM, u d-duty cycle.
Partijiet Meħtieġa
Biex issegwi dan it-tutorja għandek bżonn dawn il-partijiet:
- Bord ESP32 DEVKIT V1
- 5mm LED
- 220 Ohm resister
- Breadboard
- Jumper wires
Skematika
Wajer LED mal-ESP32 tiegħek kif fid-dijagramma skematika li ġejja. L-LED għandu jkun imqabbad ma 'GPIO 4.Nota: tista 'tuża kwalunkwe pin li trid, sakemm tista' taġixxi bħala output. Il-brilli kollha li jistgħu jaġixxu bħala outputs jistgħu jintużaw bħala pinnijiet PWM. Għal aktar informazzjoni dwar l-ESP32 GPIOs, aqra: ESP32 Pinout Reference: Liema pins GPIO għandek tuża?
Kodiċi
Aħna ser nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Iftaħ il-kodiċi Project_3_ESP32_PWM.ino f'arduino IDETibda billi tiddefinixxi l-pin li l-LED huwa mwaħħal miegħu. F'dan il-każ l-LED huwa mwaħħal ma 'GPIO 4.
Imbagħad, issettja l-proprjetajiet tas-sinjal PWM. Inti tiddefinixxi frekwenza ta '5000 Hz, tagħżel kanal 0 biex tiġġenera s-sinjal, u tissettja riżoluzzjoni ta' 8 bits. Tista 'tagħżel proprjetajiet oħra, differenti minn dawn, biex tiġġenera sinjali PWM differenti.
Fis-setup(), għandek bżonn tikkonfigura l-LED PWM bil-proprjetajiet li ddefinijt qabel billi tuża l-funzjoni ledcSetup() li taċċetta bħala argumenti, il-ledChannel, il-frekwenza, u r-riżoluzzjoni, kif ġej:
Sussegwentement, għandek bżonn tagħżel il-GPIO li jkollok is-sinjal minnu. Għal dak uża l-funzjoni ledcAttachPin() li taċċetta bħala argumenti l-GPIO fejn trid tikseb is-sinjal, u l-kanal li qed jiġġenera s-sinjal. F'dan example, aħna ser tikseb is-sinjal fil-ledPin GPIO, li jikkorrispondi għal GPIO 4. Il-kanal li jiġġenera s-sinjal huwa l-ledChannel, li jikkorrispondi għall-kanal 0.
Fil-linja, int ser tvarja ċ-ċiklu tad-dazju bejn 0 u 255 biex iżżid il-luminożità tal-LED.
U mbagħad, bejn 255 u 0 biex tnaqqas il-luminożità.
Biex tissettja l-luminożità tal-LED, għandek bżonn biss li tuża l-funzjoni ledcWrite() li taċċetta bħala argumenti l-kanal li qed jiġġenera s-sinjal, u ċ-ċiklu tad-dazju.
Peress li qed nużaw riżoluzzjoni ta '8-bit, iċ-ċiklu tad-dazju se jiġi kkontrollat bl-użu ta' valur minn 0 sa 255. Innota li fil-funzjoni ledcWrite() nużaw il-kanal li qed jiġġenera s-sinjal, u mhux il-GPIO.
Ittestjar tal-Eżample
Tella l-kodiċi fl-ESP32 tiegħek. Kun żgur li għandek il-bord it-tajjeb u l-port COM magħżula. Ħares lejn iċ-ċirkwit tiegħek. Għandu jkollok LED dimmer li jżid u jnaqqas il-luminożità.
Proġett 4 Sensor tal-Moviment ESP32 PIR
Dan il-proġett juri kif tiskopri moviment bl-ESP32 bl-użu ta 'sensorju tal-moviment PIR. Il-buzzer se jħoss allarm meta jinstab mozzjoni, u jwaqqaf l-allarm meta ma tinstab l-ebda mozzjoni għal żmien issettjat minn qabel (bħal 4 sekondi)
Kif Jaħdem is-Sensor tal-Moviment HC-SR501
.Il-prinċipju tax-xogħol tas-sensor HC-SR501 huwa bbażat fuq il-bidla tar-radjazzjoni infra-aħmar fuq l-oġġett li jiċċaqlaq. Biex jiġi skopert mis-sensor HC-SR501, l-oġġett għandu jissodisfa żewġ rekwiżiti:
- L-oġġett qed jarmi l-mod infra-aħmar.
- L-oġġett qed jiċċaqlaq jew jitħawwad
Allura:
Jekk oġġett ikun qed jarmi r-raġġ infra-aħmar iżda MA jiċċaqlaqx (eż., persuna toqgħod wieqfa mingħajr ma tiċċaqlaq), ma jiġix skopert mis-sensor.
Jekk oġġett ikun qed jiċċaqlaq iżda MA jarmix ir-raġġ infra-aħmar (eż. robot jew vettura), MHUX skopert mis-sensor.
Introduzzjoni Timers
F'dan example aħna ser nintroduċu wkoll tajmers. Irridu li l-LED jibqa’ mixgħul għal numru predeterminat ta’ sekondi wara li tiġi skoperta mozzjoni. Minflok ma tuża funzjoni ta 'dewmien () li timblokka l-kodiċi tiegħek u ma tippermettix li tagħmel xi ħaġa oħra għal numru determinat ta' sekondi, għandna nużaw tajmer.Il-funzjoni delay().
Għandek tkun familjari mal-funzjoni delay() peress li tintuża ħafna. Din il-funzjoni hija pjuttost faċli biex tużah. Jaċċetta numru int wieħed bħala argument.
Dan in-numru jirrappreżenta l-ħin f'millisekondi li l-programm irid jistenna sakemm jgħaddi għal-linja li jmiss tal-kodiċi.Meta tagħmel dewmien (1000) il-programm tiegħek jieqaf fuq dik il-linja għal sekonda.
dewmien () hija funzjoni ta 'imblukkar. Il-funzjonijiet tal-imblukkar jipprevjenu programm milli jagħmel xi ħaġa oħra sakemm jitlesta dak il-kompitu partikolari. Jekk għandek bżonn kompiti multipli li jseħħu fl-istess ħin, ma tistax tuża dewmien ().
Għall-biċċa l-kbira tal-proġetti għandek tevita li tuża dewmien u tuża tajmers minflok.
Il-funzjoni millis().
Bl-użu ta 'funzjoni msejħa millis() tista' tirritorna n-numru ta 'millisekondi li jkunu għaddew mill-ewwel beda l-programm.Għaliex din il-funzjoni hija utli? Minħabba li billi tuża xi matematika, tista 'faċilment tivverifika kemm għadda ħin mingħajr ma timblokka l-kodiċi tiegħek.
Partijiet Meħtieġa
Biex issegwi dan it-tutorja għandek bżonn il-partijiet li ġejjin
- Bord ESP32 DEVKIT V1
- Senser tal-moviment PIR (HC-SR501)
- Buzzer Attiv
- Jumper wires
- Breadboard
SkematikaNota: Il-volum tax-xogħoltage ta 'HC-SR501 huwa 5V. Uża l-pin Vin biex tħaddem.
Kodiċi
Qabel ma tipproċedi b'dan it-tutorja għandu jkollok l-ESP32 add-on installat fl-IDE Arduino tiegħek. Segwi wieħed mill-tutorials li ġejjin biex tinstalla l-ESP32 fuq l-IDE Arduino, jekk ma tkunx diġà. (Jekk diġà għamilt dan il-pass, tista 'taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Iftaħ il-kodiċi Project_4_ESP32_PIR_Motion_Sensor.ino f'arduino IDE.
Dimostrazzjoni
Tella l-kodiċi fuq il-bord ESP32 tiegħek. Kun żgur li għandek il-bord it-tajjeb u l-port COM magħżula. Ittella 'passi ta' referenza tal-kodiċi.
Iftaħ is-Serial Monitor b'rata ta 'baud ta' 115200.Mexxi idejk quddiem is-sensorju PIR. Il-buzzer għandu jinxtegħel, u l-messaġġ jiġi stampat fis-Serial Monitor li jgħid "Mozzjoni misjuba! Allarm tal-buzzer".
Wara 4 sekondi l-buzzer għandu jintefa.
Proġett 5 Swiċċ ESP32 Web Server
F'dan il-proġett inti ser toħloq standalone web server b'ESP32 li jikkontrolla l-outputs (żewġ LEDs) bl-użu tal-ambjent ta 'programmazzjoni Arduino IDE. Il- web is-server jirrispondi għall-mowbajl u jista' jiġi aċċessat bi kwalunkwe apparat li bħala browser fuq in-netwerk lokali. Aħna ser nuruk kif toħloq il- web server u kif jaħdem il-kodiċi pass pass.
Proġett Matulview
Qabel ma tmur dritt għall-proġett, huwa importanti li tiddeskrivi dak tagħna web server se jagħmel, sabiex ikun aktar faċli li ssegwi l-passi aktar tard.
- Il- web server inti ser tibni kontrolli żewġ LEDs konnessi mal-ESP32 GPIO 26 u GPIO 27;
- Tista' taċċessa l-ESP32 web server billi ttajpja l-indirizz IP ESP32 fuq browser fin-netwerk lokali;
- Billi tikklikkja l-buttuni fuq tiegħek web server tista 'tbiddel istantanjament l-istat ta' kull LED.
Partijiet Meħtieġa
Għal dan it-tutorja ser ikollok bżonn il-partijiet li ġejjin:
- Bord ESP32 DEVKIT V1
- 2x 5mm LED
- 2x 200 Ohm resistor
- Breadboard
- Jumper wires
Skematika
Ibda billi tibni ċ-ċirkwit. Qabbad żewġ LEDs mal-ESP32 kif muri fid-dijagramma skematika li ġejja - LED wieħed konness ma 'GPIO 26, u l-ieħor ma' GPIO 27.
Nota: Qed nużaw il-bord ESP32 DEVKIT DOIT b'36 pin. Qabel ma tgħaqqad iċ-ċirkwit, kun żgur li tiċċekkja l-pinout għall-bord li qed tuża.Kodiċi
Hawnhekk nipprovdu l-kodiċi li joħloq l-ESP32 web server. Iftaħ il-kodiċi Project_5_ESP32_Switch _Web_Server.ino f'arduino IDE, iżda ttellahx għadu. Trid tagħmel xi bidliet biex tagħmilha taħdem għalik.
Aħna ser nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
L-issettjar tal-Kredenzjali tan-Netwerk Tiegħek
Għandek bżonn timmodifika l-linji li ġejjin bil-kredenzjali tan-netwerk tiegħek: SSID u password. Il-kodiċi huwa kkummentat tajjeb dwar fejn għandek tagħmel il-bidliet.Tlugħ tal-Kodiċi
Issa, tista 'ttella' l-kodiċi u u l- web server se jaħdem minnufih.
Segwi l-passi li jmiss biex ittella’ l-kodiċi fl-ESP32:
- Ipplaggja l-bord ESP32 tiegħek fil-kompjuter tiegħek;
- Fl-IDE Arduino agħżel il-bord tiegħek f'Għodda > Bord (fil-każ tagħna qed nużaw il-bord ESP32 DEVKIT DOIT);
- Agħżel il-port COM f'Għodda > Port.
- Agħfas il-buttuna Upload fl-IDE ta 'Arduino u stenna ftit sekondi waqt li l-kodiċi jikkompila u jtella' fuq il-bord tiegħek.
- Stenna l-messaġġ “Let uploading”.
Sib l-indirizz IP ESP
Wara li ttella 'l-kodiċi, iftaħ is-Serial Monitor b'rata baud ta' 115200.Agħfas il-buttuna ESP32 EN (reset). L-ESP32 jgħaqqad mal-Wi-Fi, u joħroġ l-indirizz IP tal-ESP fuq is-Serial Monitor. Ikkopja dak l-indirizz IP, għax għandek bżonnu biex taċċessa l-ESP32 web server.
Aċċess għall- Web Server
Biex taċċessa l- web server, iftaħ il-browser tiegħek, waħħal l-indirizz IP ESP32, u tara l-paġna li ġejja.
Nota: Il-browser tiegħek u l-ESP32 għandhom ikunu konnessi mal-istess LAN.Jekk tagħti ħarsa lejn is-Serial Monitor, tista' tara x'qed jiġri fl-isfond. L-ESP jirċievi talba HTTP minn klijent ġdid (f'dan il-każ, il-browser tiegħek).
Tista 'tara wkoll informazzjoni oħra dwar it-talba HTTP.
Dimostrazzjoni
Issa inti tista 'test jekk tiegħek web server qed jaħdem sew. Ikklikkja l-buttuni biex tikkontrolla l-LEDs.Fl-istess ħin, tista' tagħti ħarsa lejn is-Serial Monitor biex tara x'inhu għaddej fl-isfond. Per example, meta tikklikkja l-buttuna biex tixgħel GPIO 26, ESP32 jirċievi talba fuq il-/26/on URL.
Meta l-ESP32 jirċievi dik it-talba, jixgħel l-LED imwaħħal ma’ GPIO 26 u jaġġorna l-istat tiegħu fuq il- web paġna.
Il-buttuna għal GPIO 27 taħdem b'mod simili. Ittestja li qed jaħdem sew.
Kif Jaħdem il-Kodiċi
F'din it-taqsima se tagħti ħarsa aktar mill-qrib lejn il-kodiċi biex tara kif taħdem.
L-ewwel ħaġa li trid tagħmel hu li tinkludi l-librerija tal-WiFi.Kif issemma qabel, għandek bżonn daħħal is-ssid u l-password tiegħek fil-linji li ġejjin ġewwa l-kwotazzjonijiet doppji.
Imbagħad, inti tistabbilixxi tiegħek web server għall-port 80.
Il-linja li ġejja toħloq varjabbli biex taħżen l-intestatura tat-talba HTTP:
Sussegwentement, inti toħloq varjabbli awżiljarji biex taħżen l-istat attwali tal-outputs tiegħek. Jekk trid iżżid aktar outputs u ssalva l-istat tagħha, trid toħloq aktar varjabbli.
Għandek bżonn ukoll tassenja GPIO għal kull wieħed mill-outputs tiegħek. Hawnhekk qed nużaw GPIO 26 u GPIO 27. Tista 'tuża kwalunkwe GPIO adattat ieħor.
setup()
Issa, ejja nidħlu fis-setup(). L-ewwel, nibdew komunikazzjoni serjali b'rata baud ta '115200 għal skopijiet ta' debugging.Inti tiddefinixxi wkoll il-GPIOs tiegħek bħala OUTPUTs u ssettjahom għal LOW.
Il-linji li ġejjin jibdew il-konnessjoni Wi-Fi b'WiFi.begin(ssid, password), stenna għal konnessjoni b'suċċess u tipprintja l-indirizz IP tal-ESP fis-Serial Monitor.
loop()
Fil-loop() nipprogrammaw x'jiġri meta klijent ġdid jistabbilixxi konnessjoni mal- web server.
L-ESP32 dejjem jisma' għall-klijenti deħlin bil-linja li ġejja:Meta tiġi riċevuta talba mingħand klijent, aħna nissejvjaw id-dejta li dieħla. Il-linja while li ġej se tkun qed taħdem sakemm il-klijent jibqa' konness. Aħna ma nirrakkomandawx li tibdel il-parti li ġejja tal-kodiċi sakemm ma tkunx taf eżattament x'qed tagħmel.
It-taqsima li jmiss tad-dikjarazzjonijiet if u else tiċċekkja liema buttuna ġiet ippressata fil tiegħek web paġna, u jikkontrolla l-outputs kif xieraq. Kif rajna qabel, nagħmlu talba fuq differenti URLs skond il-buttuna ippressat.
Per example, jekk tagħfas il-buttuna GPIO 26 ON, l-ESP32 jirċievi talba fuq il-/26/ON URL (nistgħu naraw li dik l-informazzjoni fuq l-header HTTP fuq is-Serial Monitor). Allura, nistgħu niċċekkjaw jekk l-header fihx l-espressjoni GET /26/on. Jekk ikun fih, nibdlu l-varjabbli output26state għal ON, u l-ESP32 jixgħel l-LED.
Dan jaħdem bl-istess mod għall-buttuni l-oħra. Allura, jekk trid iżżid aktar outputs, għandek timmodifika din il-parti tal-kodiċi biex tinkludihom.
Wiri l-HTML web paġna
Il-ħaġa li jmiss li trid tagħmel, hija li toħloq il- web paġna. L-ESP32 se jibgħat tweġiba lill-browser tiegħek b'xi kodiċi HTML biex jibni l- web paġna.
Il- web paġna tintbagħat lill-klijent billi tuża dan li jesprimi client.println(). Għandek daħħal dak li trid tibgħat lill-klijent bħala argument.
L-ewwel ħaġa li għandna nibagħtu hija dejjem il-linja li ġejja, li tindika li qed nibagħtu HTML.Imbagħad, il-linja li ġejja tagħmel il- web paġna li tirreaġixxi fi kwalunkwe web browser.
U dan li ġej jintuża biex jipprevjeni talbiet fuq il-favicon. – M'għandekx għalfejn tinkwieta dwar din il-linja.
Styling il Web Paġna
Sussegwentement, għandna xi test CSS għall-istil tal-buttuni u l- web dehra tal-paġna.
Aħna nagħżlu l-font Helvetica, niddefinixxu l-kontenut li għandu jintwera bħala blokka u allinjat fiċ-ċentru.Aħna nistiljaw il-buttuni tagħna bil-kulur #4CAF50, mingħajr bordura, test b'kulur abjad, u b'dan l-ikkuttunar: 16px 40px. Aħna nissettjaw ukoll id-dekorazzjoni tat-test għal xejn, niddefinixxu d-daqs tat-tipa, il-marġni, u l-cursor għal pointer.
Aħna niddefinixxu wkoll l-istil għat-tieni buttuna, bil-proprjetajiet kollha tal-buttuna li ddefinijna qabel, iżda b'kulur differenti. Dan se jkun l-istil għall-buttuna mitfija.
L-issettjar tal- Web L-Ewwel Intestatura tal-Paġna
Fil-linja li jmiss tista’ tissettja l-ewwel intestatura ta’ tiegħek web paġna. Hawnhekk għandna “ESP32 Web Server”, imma tista’ tibdel dan it-test għal dak li tixtieq.Wiri tal-buttuni u l-Istat Korrispondenti
Imbagħad, tikteb paragrafu biex turi l-istat attwali tal-GPIO 26. Kif tistgħu taraw nużaw il-varjabbli output26State, sabiex l-istat jaġġorna istantanjament meta din il-varjabbli tinbidel.Imbagħad, aħna nuru l-buttuna mixgħul jew mitfija, skont l-istat attwali tal-GPIO. Jekk l-istat attwali tal-GPIO huwa mitfi, nuru l-buttuna ON, jekk le, aħna nuru l-buttuna OFF.
Aħna nużaw l-istess proċedura għal GPIO 27.
L-għeluq tal-Konnessjoni
Fl-aħħarnett, meta tispiċċa r-rispons, aħna naddfu l-varjabbli header, u nwaqqfu l-konnessjoni mal-klijent ma 'client.stop().
Tgeżwir Up
F'dan it-tutorja konna wrejnek kif tibni a web server bl-ESP32. Aħna wrejnek ex sempliċiample li tikkontrolla żewġ LEDs, iżda l-idea hija li tissostitwixxi dawk l-LEDs b'relay, jew kwalunkwe output ieħor li trid tikkontrolla.
Proġett 6 RGB LED Web Server
F'dan il-proġett aħna ser nuruk kif tikkontrolla mill-bogħod LED RGB b'bord ESP32 billi tuża a web server b'picker tal-kulur.
Proġett Matulview
Qabel ma nibdew, ejja naraw kif jaħdem dan il-proġett:
- L-ESP32 web server juri picker tal-kulur.
- Meta għażilt kulur, il-browser tiegħek jagħmel talba fuq a URL li fih il-parametri R, G, u B tal-kulur magħżul.
- L-ESP32 tiegħek jirċievi t-talba u jaqsam il-valur għal kull parametru tal-kulur.
- Imbagħad, tibgħat sinjal PWM bil-valur korrispondenti lill-GPIOs li qed jikkontrollaw l-LED RGB.
Kif jaħdmu l-LEDs RGB?
F'LED RGB ta 'katodu komuni, it-tliet LEDs jaqsmu konnessjoni negattiva (katodu). Kollha inklużi fil-kit huma RGB ta' katodu komuni.Kif toħloq kuluri differenti?
B'LED RGB tista', ovvjament, tipproduċi dawl aħmar, aħdar u blu, u billi tikkonfigura l-intensità ta 'kull LED, tista' tipproduċi kuluri oħra wkoll.
Per example, biex tipproduċi dawl purament blu, inti'd issettja l-LED blu għall-ogħla intensità u l-LEDs aħdar u aħmar għall-inqas intensità. Għal dawl abjad, inti'd issettja t-tliet LEDs għall-ogħla intensità.
Taħlit ta 'kuluri
Biex tipproduċi kuluri oħra, tista 'tgħaqqad it-tliet kuluri f'intensitajiet differenti. Biex taġġusta l-intensità ta 'kull LED tista' tuża sinjal PWM.
Minħabba li l-LEDs huma qrib ħafna ta 'xulxin, għajnejna jaraw ir-riżultat tal-kombinazzjoni ta' kuluri, aktar milli t-tliet kuluri individwalment.
Biex ikollok idea dwar kif tgħaqqad il-kuluri, agħti ħarsa lejn it-tabella li ġejja.
Din hija l-aktar tabella sempliċi tat-taħlit tal-kuluri, iżda tagħtik idea kif taħdem u kif tipproduċi kuluri differenti.Partijiet Meħtieġa
Għal dan il-proġett għandek bżonn il-partijiet li ġejjin:
- Bord ESP32 DEVKIT V1
- LED RGB
- 3x 220 ohm resistors
- Jumper wires
- Breadboard
SkematikaKodiċi
Aħna ser nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
- Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Wara l-assemblaġġ taċ-ċirkwit, Iftaħ il-kodiċi
Proġett_6_RGB_LED_Web_Server.ino fl-IDE arduino.
Qabel ittella 'l-kodiċi, tinsiex daħħal il-kredenzjali tan-netwerk tiegħek sabiex l-ESP ikun jista' jgħaqqad man-netwerk lokali tiegħek.Kif jaħdem il-kodiċi
L-iskeċċ ESP32 juża l-librerija WiFi.h.Il-linji li ġejjin jiddefinixxu varjabbli tas-sekwenza biex iżommu l-parametri R, G, u B mit-talba.
L-erba 'varjabbli li jmiss jintużaw biex jiddekowdja t-talba HTTP aktar tard.
Oħloq tliet varjabbli għall-GPIOs li se jikkontrollaw il-parametri tal-istrixxa R, G, u B. F'dan il-każ qed nużaw GPIO 13, GPIO 12, u GPIO 14.
Dawn il-GPIOs jeħtieġ li joħorġu sinjali PWM, għalhekk għandna bżonn nikkonfiguraw il-proprjetajiet PWM l-ewwel. Issettja l-frekwenza tas-sinjal PWM għal 5000 Hz. Imbagħad, assoċja kanal PWM għal kull kulur
U finalment, issettja r-riżoluzzjoni tal-kanali PWM għal 8-bit
Fis-setup(), jassenja l-proprjetajiet PWM lill-kanali PWM
Waħħal il-kanali PWM mal-GPIOs korrispondenti
Is-sezzjoni tal-kodiċi li ġejja turi l-picker tal-kulur fil tiegħek web paġna u tagħmel talba bbażata fuq il-kulur li għamilt.
Meta tagħżel kulur, tirċievi talba bil-format li ġej.
Allura, għandna bżonn naqsmu din is-sekwenza biex niksbu l-parametri R, G, u B. Il-parametri huma ssejvjati fil-varjabbli redString, greenString, u blueString u jista' jkollhom valuri bejn 0 u 255.Biex tikkontrolla l-istrixxa bl-ESP32, uża l-funzjoni ledcWrite() biex tiġġenera sinjali PWM bil-valuri dekodifikati mill-HTTP talba.
Nota: Tgħallem aktar dwar PWM b'ESP32: Proġett 3 ESP32 PWM (Output Analoġiku)
Biex tikkontrolla l-istrixxa bl-ESP8266, għandna bżonn biss nużaw
il-funzjoni analogWrite() biex tiġġenera sinjali PWM bil-valuri dekodifikati mit-talba HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Minħabba li nġibu l-valuri f'varjabbli ta 'sekwenza, irridu naqilbuhom għal numri interi billi tuża l-metodu toInt().
Dimostrazzjoni
Wara li ddaħħal il-kredenzjali tan-netwerk tiegħek, agħżel il-bord it-tajjeb u l-port COM u ittella 'l-kodiċi fil-passi ta' referenza tal-kodiċi ESP32 tiegħek.
Wara li ttella’, iftaħ is-Serial Monitor b’baud rate ta’ 115200 u agħfas il-buttuna ESP Enable/Reset. Għandek tikseb l-indirizz IP tal-bord.Iftaħ il-browser tiegħek u daħħal l-indirizz IP tal-ESP. Issa, uża l-picker tal-kulur biex tagħżel kulur għall-LED RGB.
Imbagħad, trid tagħfas il-buttuna "Ibdel il-Kulur" biex il-kulur jidħol fis-seħħ.Biex itfi l-LED RGB, agħżel il-kulur iswed.
L-aktar kuluri b'saħħithom (fil-quċċata tal-picker tal-kulur), huma dawk li jipproduċu riżultati aħjar.
Proġett 7 ESP32 Relay Web Server
L-użu ta' relay mal-ESP32 huwa mod tajjeb ħafna biex tikkontrolla l-apparat domestiku AC mill-bogħod. Dan it-tutorja jispjega kif tikkontrolla modulu relay bl-ESP32.
Nagħtu ħarsa lejn kif jaħdem modulu tar-relay, kif tikkonnettja r-relay mal-ESP32 u nibnu web server biex jikkontrolla relay mill-bogħod.
Introduzzjoni Relays
Relay huwa swiċċ li jaħdem bl-elettriku u bħal kull swiċċ ieħor, li jista 'jinxtegħel jew jintfew, ħalli l-kurrent jgħaddi jew le. Jista 'jiġi kkontrollat b'volum baxxtages, bħat-3.3V ipprovdut mill-ESP32 GPIOs u jippermettilna nikkontrollaw il-volum għolitages bħal 12V, 24V jew mains voltage (230V fl-Ewropa u 120V fl-Istati Uniti).Fuq in-naħa tax-xellug, hemm żewġ settijiet ta 'tliet sokits biex jgħaqqdu vol għolitages, u l-brilli fuq in-naħa tal-lemin (volum baxxtage) qabbad mal-GPIOs ESP32.
Mains Voltage KonnessjonijietIl-modulu tar-relay muri fir-ritratt ta 'qabel għandu żewġ konnetturi, kull wieħed bi tliet sokits: komuni (COM), Normalment Magħluq (NC), u Normalment Miftuħ (NO).
- COM: qabbad il-kurrent li trid tikkontrolla (mejns voltagu).
- NC (Normally Closed): il-konfigurazzjoni normalment magħluqa tintuża meta trid li r-relay jingħalaq b'mod awtomatiku. L-NC huma pins COM huma konnessi, li jfisser li l-kurrent qed jiċċirkola sakemm ma tibgħatx sinjal mill-ESP32 lill-modulu tar-relay biex tiftaħ iċ-ċirkwit u twaqqaf il-fluss tal-kurrent.
- LE (Normally Open): il-konfigurazzjoni normalment miftuħa taħdem bil-maqlub: m'hemm l-ebda konnessjoni bejn il-pinnijiet NO u COM, għalhekk iċ-ċirkwit jinkiser sakemm ma tibgħatx sinjal mill-ESP32 biex tagħlaq iċ-ċirkwit.
Pinnijiet tal-KontrollIl-volum baxxtagIn-naħa e għandha sett ta 'erba' labar u sett ta 'tliet labar. L-ewwel sett jikkonsisti f'VCC u GND biex iħaddem il-modulu, u l-input 1 (IN1) u l-input 2 (IN2) biex jikkontrollaw ir-relays ta 'qiegħ u ta' fuq, rispettivament.
Jekk il-modulu tar-relay tiegħek għandu kanal wieħed biss, ikollok pin IN wieħed biss. Jekk għandek erba 'kanali, ikollok erba' IN pins, eċċ.
Is-sinjal li tibgħat lill-brilli IN, jiddetermina jekk ir-relay huwiex attiv jew le. Ir-relay jinxtegħel meta l-input jinżel taħt madwar 2V. Dan ifisser li jkollok ix-xenarji li ġejjin:
- Konfigurazzjoni Normalment Magħluqa (NC):
- Sinjal GĦOLJA – il-kurrent qed jiċċirkola
- Sinjal LOW - il-kurrent mhux qed jiċċirkola
- Konfigurazzjoni Normalment Miftuħa (LE):
- Sinjal GĦOLI - il-kurrent mhux qed jiċċirkola
- Sinjal LOW – kurrenti fil-fluss
Għandek tuża konfigurazzjoni normalment magħluqa meta l-kurrent għandu jkun qed jiċċirkola ħafna drabi, u trid twaqqafha okkażjonalment biss.
Uża konfigurazzjoni normalment miftuħa meta trid li l-kurrent jiċċirkola okkażjonalment (eżample, ixgħel alamp kultant).
Għażla tal-Provvista tal-EnerġijaIt-tieni sett ta 'brilli jikkonsisti minn pinnijiet GND, VCC, u JD-VCC.
Il-pin JD-VCC iħaddem l-elettrokalamita tar-relay. Innota li l-modulu għandu jumper cap li jgħaqqad il-labar VCC u JD-VCC; dak muri hawn huwa isfar, iżda tiegħek jista 'jkun ta' kulur differenti.
Bl-għatu tal-jumper mixgħul, il-brilli VCC u JD-VCC huma konnessi. Dan ifisser li l-elettrokalamita tar-relay hija mħaddma direttament mill-pin tal-qawwa ESP32, għalhekk il-modulu tar-relay u ċ-ċirkwiti ESP32 mhumiex fiżikament iżolati minn xulxin.
Mingħajr l-għatu tal-jumper, għandek bżonn tipprovdi sors ta 'enerġija indipendenti biex tħaddem l-elettrokalamita tar-relay permezz tal-pin JD-VCC. Dik il-konfigurazzjoni tiżola fiżikament ir-relays mill-ESP32 bl-optocoupler integrat tal-modulu, li jipprevjeni ħsara lill-ESP32 f'każ ta 'spikes elettriċi.
SkematikaTwissija: Użu ta 'volum għolitagIl-provvisti tal-enerġija jistgħu jikkawżaw korriment serju.
Għalhekk, LEDs 5mm huma użati minflok provvista għolja voltage bozoz fl-esperiment. Jekk m'intix familjari mal-mejns voltagStaqsi lil xi ħadd li għandu jgħinek. Waqt l-ipprogrammar tal-ESP jew il-wiring taċ-ċirkwit tiegħek kun żgur li kollox huwa skonnettjat mill-mejn voltage.Installazzjoni tal-Librerija għall-ESP32
Biex tibni dan web server, nużaw l-ESPAsyncWebLibrerija tas-server u Librerija AsyncTCP.
Installazzjoni tal-ESPAsyncWebLibrerija tas-server
Segwi l-passi li jmiss biex tinstalla l- ESPAsyncWebServer librerija:
- Ikklikkja hawn biex tniżżel l-ESPAsyncWebLibrerija tas-server. Għandu jkollok
folder .zip fil-folder ta' Downloads tiegħek - Unzip il-folder .zip u għandek tikseb ESPAsyncWebServer-master folder
- Semmi mill-ġdid il-folder tiegħek minn ESPAsyncWebServer-master għal ESPAsyncWebServer
- Mexxi l-ESPAsyncWebFowlder tas-server għall-folder tal-libreriji tal-installazzjoni tal-Arduino IDE tiegħek
Alternattivament, fl-IDE Arduino tiegħek, tista 'tmur Sketch> Inkludi
Librerija > Żid librerija .ZIP... u agħżel il-librerija li għadek kif niżżilt.
Installazzjoni tal-Librerija AsyncTCP għal ESP32
Il- ESPAsyncWebServer librerija teħtieġ il- AsyncTCP librerija biex taħdem. Segwi
il-passi li jmiss biex tinstalla dik il-librerija:
- Ikklikkja hawn biex tniżżel il-librerija AsyncTCP. Għandu jkollok folder .zip fil-folder Downloads tiegħek
- Unzip il-folder .zip u għandek tikseb AsyncTCP-master folder
1. Semmi mill-ġdid il-folder tiegħek minn AsyncTCP-master għal AsyncTCP
3. Mexxi l-fowlder AsyncTCP fil-folder tal-libreriji ta 'installazzjoni ta' Arduino IDE tiegħek
4. Fl-aħħarnett, iftaħ mill-ġdid l-IDE Arduino tiegħek
Alternattivament, fl-IDE Arduino tiegħek, tista 'tmur Sketch> Inkludi
Librerija > Żid librerija .ZIP... u agħżel il-librerija li għadek kif niżżilt.
Kodiċi
Aħna ser nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Wara li tinstalla l-libreriji meħtieġa, Iftaħ il-kodiċi Project_7_ESP32_Relay_Web_Server.ino fl-IDE arduino.
Qabel ittella 'l-kodiċi, tinsiex daħħal il-kredenzjali tan-netwerk tiegħek sabiex l-ESP ikun jista' jgħaqqad man-netwerk lokali tiegħek.Dimostrazzjoni
Wara li tagħmel il-bidliet meħtieġa, ittella 'l-kodiċi fil-passi ta' referenza tal-kodiċi tal-ESP32 tiegħek.
Iftaħ is-Serial Monitor b'rata baud ta' 115200 u agħfas il-buttuna ESP32 EN biex tikseb l-indirizz IP tiegħu. Imbagħad, iftaħ browser fin-netwerk lokali tiegħek u ikteb l-indirizz IP ESP32 biex tikseb aċċess għall- web server.
Iftaħ is-Serial Monitor b'rata baud ta' 115200 u agħfas il-buttuna ESP32 EN biex tikseb l-indirizz IP tiegħu. Imbagħad, iftaħ browser fin-netwerk lokali tiegħek u ikteb l-indirizz IP ESP32 biex tikseb aċċess għall- web server.Nota: Il-browser tiegħek u l-ESP32 għandhom ikunu konnessi mal-istess LAN.
Għandek tikseb xi ħaġa kif ġej b'żewġ buttuni bħala n-numru ta 'rilejs li ddefinijt fil-kodiċi tiegħek.Issa, tista 'tuża l-buttuni biex tikkontrolla r-relays tiegħek billi tuża l-ismartphone tiegħek.
Project_8_Output_State_Synchronization_ Web_Server
Dan il-Proġett juri kif tikkontrolla l-outputs ESP32 jew ESP8266 billi tuża a web server u buttuna fiżika fl-istess ħin. L-istat tal-output huwa aġġornat fuq il- web paġna kemm jekk tinbidel permezz ta’ buttuna fiżika jew web server.
Proġett Matulview
Ejja nagħtu ħarsa malajr lejn kif jaħdem il-proġett.L-ESP32 jew l-ESP8266 jospita a web server li jippermettilek tikkontrolla l-istat ta 'output;
- L-istat tal-ħruġ kurrenti huwa muri fuq il- web server;
- L-ESP huwa wkoll imqabbad ma 'buttuna fiżika li tikkontrolla l-istess output;
- Jekk tibdel l-istat tal-ħruġ billi tuża l-puhsbutton fiżiku, l-istat attwali tiegħu jiġi aġġornat ukoll fuq il- web server.
Fil-qosor, dan il-proġett jippermettilek tikkontrolla l-istess output billi tuża a web server u buttuna fl-istess ħin. Kull meta l-istat tal-output jinbidel, il- web server huwa aġġornat.
Partijiet Meħtieġa
Hawnhekk hawn lista tal-partijiet li għandek bżonn biex tibni ċ-ċirkwit:
- Bord ESP32 DEVKIT V1
- 5 mm LED
- 220Ohm resistor
- Buttuna
- 10k Ohm resistor
- Breadboard
- Jumper wires
SkematikaInstallazzjoni tal-Librerija għall-ESP32
Biex tibni dan web server, nużaw l-ESPAsyncWebLibrerija tas-server u Librerija AsyncTCP.(Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni tal-ESPAsyncWebLibrerija tas-server
Segwi l-passi li jmiss biex tinstalla l-ESPAsyncWebLibrerija tas-server:
- Ikklikkja hawn biex tniżżel l-ESPAsyncWebLibrerija tas-server. Għandu jkollok
folder .zip fil-folder ta' Downloads tiegħek - Unzip il-folder .zip u għandek tikseb ESPAsyncWebServer-master folder
- Semmi mill-ġdid il-folder tiegħek minn ESPAsyncWebServer-master għal ESPAsyncWebServer
- Mexxi l-ESPAsyncWebFowlder tas-server għall-folder tal-libreriji tal-installazzjoni tal-Arduino IDE tiegħek
Alternattivament, fl-IDE Arduino tiegħek, tista 'tmur Sketch> Inkludi
Librerija > Żid librerija .ZIP... u agħżel il-librerija li għadek kif niżżilt.
Installazzjoni tal-Librerija AsyncTCP għal ESP32
L-ESPAsyncWebIl-librerija tas-server teħtieġ li taħdem il-librerija AsyncTCP. Segwi l-passi li jmiss biex tinstalla dik il-librerija:
- Ikklikkja hawn biex tniżżel il-librerija AsyncTCP. Għandu jkollok folder .zip fil-folder Downloads tiegħek
- Unzip il-folder .zip u għandek tikseb AsyncTCP-master folder
- Semmi mill-ġdid il-folder tiegħek minn AsyncTCP-master għal AsyncTCP
- Mexxi l-fowlder AsyncTCP fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
- Fl-aħħarnett, iftaħ mill-ġdid l-IDE Arduino tiegħek
Alternattivament, fl-IDE Arduino tiegħek, tista 'tmur Sketch> Inkludi
Librerija > Żid librerija .ZIP... u agħżel il-librerija li għadek kif niżżilt.
Kodiċi
Aħna ser nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Wara l-installazzjoni tal-libreriji meħtieġa, Iftaħ il-kodiċi
Project_8_Output_State_Synchronization_Web_Server.ino fl-IDE arduino.
Qabel ittella 'l-kodiċi, tinsiex daħħal il-kredenzjali tan-netwerk tiegħek sabiex l-ESP ikun jista' jgħaqqad man-netwerk lokali tiegħek.
Kif Jaħdem il-Kodiċi
Stat tal-buttuna u Stat tal-Output
Il-varjabbli ledState iżomm l-istat tal-output LED. Għall-inadempjenza, meta l- web server jibda, huwa BAXX.
Il-buttonState u l-lastButtonState jintużaw biex jiskopru jekk il-buttuna ġietx ippressata jew le.Buttuna (web server)
Aħna ma inkludewx l-HTML biex noħolqu l-buttuna fuq il-varjabbli index_html.
Dan għaliex irridu nkunu nistgħu nibdluh skont l-istat attwali tal-LED li jista 'jinbidel ukoll bil-buttuna.
Allura, ħloqna placeholder għall-buttuna %BUTTONPLACEHOLDER% li se tiġi sostitwita b'test HTML biex tinħoloq il-buttuna aktar tard fuq il-kodiċi (dan isir fil-funzjoni tal-proċessur()).proċessur()
Il-funzjoni tal-proċessur() tissostitwixxi kwalunkwe placeholders fuq it-test HTML b'valuri attwali. L-ewwel, jiċċekkja jekk it-testi HTML fihomx xi
placeholders %BUTTONPLACEHOLDER%.Imbagħad, sejjaħ il-funzjoni tal-outputState() li tirritorna l-istat tal-output kurrenti. Aħna nissejvjah fil-varjabbli outputStateValue.
Wara dan, uża dak il-valur biex toħloq it-test HTML biex turi l-buttuna bl-istat it-tajjeb:
HTTP GET Talba biex tibdel l-Istat tal-Output (JavaScript)
Meta tagħfas il-buttuna, tissejjaħ il-funzjoni toggleCheckbox(). Din il-funzjoni se tagħmel talba fuq differenti URLs biex jixgħel jew jitfi l-LED.Biex tixgħel l-LED, tagħmel talba fuq /update?state=1 URL:
Inkella, tagħmel talba fuq /update?state=0 URL.
HTTP GET Talba biex Aġġorna l-Istat (JavaScript)
Biex iżżomm l-istat tal-output aġġornat fuq il- web server, insejħu l-funzjoni li ġejja li tagħmel talba ġdida fuq il-/state URL kull sekonda.Immaniġġja Talbiet
Imbagħad, irridu nittrattaw dak li jiġri meta l-ESP32 jew l-ESP8266 jirċievi talbiet fuq dawk URLs.
Meta talba tasal fuq l-għerq /URL, aħna nibagħtu l-paġna HTML kif ukoll il-proċessur.Il-linji li ġejjin jiċċekkjaw jekk irċevejtx talba fuq /update?state=1 jew /update?state=0 URL u jibdel il-ledState kif xieraq.
Meta talba tasal fuq /stat URL, aħna nibagħtu l-istat tal-output kurrenti:
loop()
Fil-linja (), aħna nneħħu l-buttuna u nixgħel jew titfi l-LED skont il-valur tal-ledState varjabbli.Dimostrazzjoni
Ittella' l-kodiċi fuq il-bord ESP32 tiegħek. Ittella' l-passi ta' referenza tal-kodiċi.
Imbagħad, iftaħ is-Serial Monitor b'rata baud ta '115200. Agħfas il-buttuna EN/RST abbord biex tikseb l-indirizz IP.Iftaħ browser fuq in-netwerk lokali tiegħek, u ittajpja l-indirizz IP ESP. Għandu jkollok aċċess għall- web server kif muri hawn taħt.
Nota: Il-browser tiegħek u l-ESP32 għandhom ikunu konnessi mal-istess LAN.Tista' taqleb il-buttuna fuq il- web server biex jixgħel l-LED.
Tista 'wkoll tikkontrolla l-istess LED bil-buttuna fiżika. L-istat tiegħu dejjem se jiġi aġġornat awtomatikament fuq il- web server.
Proġett 9 ESP32 DHT11 Web Server
F'dan il-proġett, int ser titgħallem kif tibni ESP32 asinkronu web server bid-DHT11 li juri t-temperatura u l-umdità bl-użu ta 'Arduino IDE.
Prerekwiżiti
Il- web server aħna ser nibnu aġġornamenti l-qari awtomatikament mingħajr il-ħtieġa li jġedded il- web paġna.
B'dan il-proġett int titgħallem:
- Kif taqra t-temperatura u l-umdità minn sensuri DHT;
- Ibni asinkronu web server li juża l- ESPAsyncWebLibrerija tas-server;
- Aġġorna l-qari tas-sensorju awtomatikament mingħajr il-ħtieġa li jġedded il- web paġna.
Asinkronu Web Server
Biex tibni l- web server aħna ser nużaw il- ESPAsyncWebLibrerija tas-server li jipprovdi mod faċli biex tinbena asinkronu web server. Bini asinkroniku web server għandu diversi advantaghuma kif imsemmi fil-paġna GitHub tal-librerija, bħal:
- "Immaniġġja aktar minn konnessjoni waħda fl-istess ħin";
- "Meta tibgħat ir-rispons, tkun immedjatament lest biex timmaniġġja konnessjonijiet oħra waqt li s-server ikun qed jieħu ħsieb li jibgħat ir-rispons fl-isfond";
- "Magna sempliċi għall-ipproċessar tal-mudelli biex timmaniġġja l-mudelli";
Partijiet Meħtieġa
Biex tlesti dan it-tutorja għandek bżonn il-partijiet li ġejjin:
- Bord ta 'żvilupp ESP32
- Modulu DHT11
- Breadboard
- Jumper wires
SkematikaInstallazzjoni ta' Libreriji
Ikollok bżonn tinstalla ftit libreriji għal dan il-proġett:
- Il- DHT u l- Sensor Unifikat Adafruit Libreriji tas-sewwieqa biex jinqraw mis-sensor DHT.
- ESPAsyncWebServer u Async TCP libreriji biex jibnu l-asynchronous web server.
Segwi l-istruzzjonijiet li jmiss biex tinstalla dawk il-libreriji:
Installazzjoni tal-Librerija tas-Sensor DHT
Biex taqra mis-sensor DHT bl-użu ta 'Arduino IDE, għandek bżonn tinstalla l- Librerija tas-sensuri DHT. Segwi l-passi li jmiss biex tinstalla l-librerija.
- Ikklikkja hawn biex tniżżel il-librerija tas-Sensor DHT. Għandu jkollok folder .zip fil-folder Downloads tiegħek
- Unzip il-folder .zip u għandek tikseb folder DHT-sensor-librerija-master
- Semmi mill-ġdid il-folder tiegħek minn DHT-sensor-library-master għal DHT_sensor
- Mexxi l-folder DHT_sensor fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
- Fl-aħħarnett, iftaħ mill-ġdid l-IDE Arduino tiegħek
Installazzjoni tal-Adafruit Unified Sensor Driver
Għandek bżonn ukoll li tinstalla l- Adafruit Unified Sensor Driver librerija biex taħdem mas-sensorju DHT. Segwi l-passi li jmiss biex tinstalla l-librerija.
- Ikklikkja hawn biex tniżżel il-librerija Adafruit Unified Sensor. Għandu jkollok folder .zip fil-folder Downloads tiegħek
- Unzip il-folder .zip u għandek tikseb folder Adafruit_sensor-master
- Semmi mill-ġdid il-folder tiegħek minn Adafruit_sensor-master għal Adafruit_sensor
- Mexxi l-folder Adafruit_sensor fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
- Fl-aħħarnett, iftaħ mill-ġdid l-IDE Arduino tiegħek
Installazzjoni tal-ESPAsyncWebLibrerija tas-server
Segwi l-passi li jmiss biex tinstalla l- ESPAsyncWebServer librerija:
- Ikklikkja hawn biex tniżżel l-ESPAsyncWebLibrerija tas-server. Għandu jkollok
folder .zip fil-folder ta' Downloads tiegħek - Unzip il-folder .zip u għandek
tikseb ESPAsyncWebServer-master folder - Semmi mill-ġdid il-folder tiegħek minn ESPAsyncWebServer-master għal ESPAsyncWebServer
- Mexxi l-ESPAsyncWebFowlder tas-server għall-folder tal-libreriji tal-installazzjoni tal-Arduino IDE tiegħek
Installazzjoni tal-Librerija Async TCP għal ESP32
Il- ESPAsyncWebServer librerija teħtieġ il- AsyncTCP librerija biex taħdem. Segwi l-passi li jmiss biex tinstalla dik il-librerija:
- Ikklikkja hawn biex tniżżel il-librerija AsyncTCP. Għandu jkollok folder .zip fil-folder Downloads tiegħek
- Unzip il-folder .zip u għandek tikseb AsyncTCP-master folder
- Semmi mill-ġdid il-folder tiegħek minn AsyncTCP-master għal AsyncTCP
- Mexxi l-fowlder AsyncTCP fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
- Fl-aħħarnett, iftaħ mill-ġdid l-IDE Arduino tiegħek
Kodiċi
Aħna ser nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDE
Wara l-installazzjoni tal-libreriji meħtieġa, Iftaħ il-kodiċi
Proġett_9_ESP32_DHT11_Web_Server.ino fl-IDE arduino.
Qabel ittella 'l-kodiċi, tinsiex daħħal il-kredenzjali tan-netwerk tiegħek sabiex l-ESP ikun jista' jgħaqqad man-netwerk lokali tiegħek.Kif Jaħdem il-Kodiċi
Fil-paragrafi li ġejjin aħna ser nispjegaw kif jaħdem il-kodiċi. Kompli aqra jekk trid titgħallem aktar jew aqbeż fit-taqsima tad-Dimostrazzjoni biex tara r-riżultat finali.
L-importazzjoni ta' libreriji
L-ewwel, jimporta l-libreriji meħtieġa. Il-WiFi, ESPAsyncWebServer u l-ESPAsyncTCP huma meħtieġa biex tinbena l- web server. L-Adafruit_Sensor u l-libreriji DHT huma meħtieġa biex jinqraw mis-sensuri DHT11 jew DHT22.Definizzjoni ta' varjabbli
Iddefinixxi l-GPIO li l-pin tad-data DHT huwa konness miegħu. F'dan il-każ, huwa konness ma 'GPIO 4.Imbagħad, agħżel it-tip tas-sensor DHT li qed tuża. Fl-ex tagħnaample, aħna qed tuża l-DHT22. Jekk qed tuża tip ieħor, għandek bżonn biss li tneħħi l-kumment tas-senser tiegħek u tikkummenta l-oħrajn kollha.
Instanzja oġġett DHT bit-tip u l-pin li ddefinijna qabel.Oħloq AsyncWebOġġett tas-server fuq il-port 80.
Aqra l-Funzjonijiet tat-Temperatura u l-Umdità
Ħloqna żewġ funzjonijiet: waħda biex taqra t-temperatura Ħloqna żewġ funzjonijiet: waħda biex taqra t-temperatura (readDHTTemperature()) u l-oħra biex taqra l-umdità (readDHTHumidity()).Il-ksib tal-qari tas-sensorju huwa sempliċi daqs l-użu Il-kisba tal-qari tas-sensuri huwa sempliċi daqs l-użu tal-metodi readTemperature() u readHumidity() fuq l-oġġett dht.
Għandna wkoll kundizzjoni li tirritorna żewġ sing (–) f'każ li s-sensor jonqos milli jikseb il-qari.
Il-qari jintbagħat lura bħala tip ta' string. Biex tikkonverti float għal string, uża l-funzjoni String().
B'mod awtomatiku, qed naqraw it-temperatura fi gradi Celsius. Biex tikseb it-temperatura fi gradi Fahrenheit, ikkummenta t-temperatura f'Celsius u neħħi l-kumment tat-temperatura fi Fahrenheit, sabiex ikollok dan li ġej:
Tella l-Kodiċi
Issa, ittella l-kodiċi fl-ESP32 tiegħek. Kun żgur li għandek il-bord it-tajjeb u l-port COM magħżula. Ittella 'passi ta' referenza tal-kodiċi.
Wara li ttella', iftaħ is-Serial Monitor b'rata baud ta' 115200. Agħfas il-buttuna reset ESP32. L-indirizz IP ESP32 għandu jiġi stampat fis-serje tissorvelja.Dimostrazzjoni
Iftaħ browser u ittajpja l-indirizz IP ESP32. Tiegħek web server għandu juri l-aħħar qari tas-sensuri.
Nota: Il-browser tiegħek u l-ESP32 għandhom ikunu konnessi mal-istess LAN.
Innota li l-qari tat-temperatura u l-umdità huma aġġornati awtomatikament mingħajr il-ħtieġa li jġedded il- web paġna.
Project_10_ESP32_OLED_Display
Dan il-proġett juri kif tuża l-wiri OLED ta '0.96 pulzier SSD1306 b'ESP32 bl-użu ta' Arduino IDE.
Jintroduċu 0.96 pulzier OLED Display
Il- Display OLED li aħna ser nużaw f'dan it-tutorja huwa l-mudell SSD1306: display monocolor, 0.96 pulzier b'128 × 64 pixels kif muri fil-figura li ġejja.Il-wiri OLED ma jeħtieġx backlight, li jirriżulta f'kuntrast sabiħ ħafna f'ambjenti mudlama. Barra minn hekk, il-pixels tiegħu jikkonsmaw l-enerġija biss meta jkunu mixgħula, għalhekk il-wiri OLED jikkonsma inqas enerġija meta mqabbel ma 'wiri oħra.
Minħabba li l-wiri OLED juża protokoll ta 'komunikazzjoni I2C, il-wajers huma sempliċi ħafna. Tista' tuża t-tabella li ġejja bħala referenza.
Pin OLED | ESP32 |
Vin | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
SkematikaInstallazzjoni tal-Librerija OLED SSD1306 - ESP32
Hemm diversi libreriji disponibbli biex jikkontrollaw il-wiri OLED bl-ESP32.
F'dan it-tutorja aħna ser nużaw żewġ libreriji Adafruit: Librerija Adafruit_SSD1306 u Librerija Adafruit_GFX.
Segwi l-passi li jmiss biex tinstalla dawk il-libreriji.
- Iftaħ l-IDE Arduino tiegħek u mur Sketch> Inkludi Librerija> Immaniġġja Libreriji. Il-Maniġer tal-Librerija għandu jiftaħ.
- Ittajpja "SSD1306" fil-kaxxa tat-tfittxija u installa l-librerija SSD1306 minn Adafruit.
- Wara li tinstalla l-librerija SSD1306 minn Adafruit, ittajpja "GFX" fil-kaxxa tat-tfittxija u installa l-librerija.
- Wara li tinstalla l-libreriji, ibda mill-ġdid l-IDE Arduino tiegħek.
Kodiċi
Wara li tinstalla l-libreriji meħtieġa, Iftaħ il-Project_10_ESP32_OLED_Display.ino f'arduino IDE. kodiċi
Aħna nipprogrammaw l-ESP32 bl-użu ta' Arduino IDE, għalhekk kun żgur li jkollok l-ESP32 add-on installat qabel ma tipproċedi: (Jekk diġà għamilt dan il-pass, tista' taqbeż għall-pass li jmiss.)
Installazzjoni ta' ESP32 Add-on f'Arduino IDEKif Jaħdem il-Kodiċi
L-importazzjoni ta' libreriji
L-ewwel, għandek bżonn timporta l-libreriji meħtieġa. Il-librerija tal-Wajer biex tuża I2C u l-libreriji Adafruit biex tikteb fuq il-wiri: Adafruit_GFX u Adafruit_SSD1306.Inizjalizza l-wiri OLED
Imbagħad, tiddefinixxi l-wisa 'u l-għoli tal-OLED tiegħek. F'dan example, aħna qed tuża display OLED 128 × 64. Jekk qed tuża daqsijiet oħra, tista' tbiddel dan fil-varjabbli SCREEN_WIDTH, u SCREEN_HEIGHT.Imbagħad, initialize oġġett tal-wiri bil-wisa 'u l-għoli definiti qabel bil-protokoll ta' komunikazzjoni I2C (&Wire).
Il-parametru (-1) ifisser li l-wiri OLED tiegħek m'għandux pin RESET. Jekk il-wiri OLED tiegħek ikollu pin RESET, għandu jkun imqabbad ma' GPIO. F'dak il-każ, għandek tgħaddi n-numru GPIO bħala parametru.
Fis-setup(), inizjalizza s-Serial Monitor b'baud raute ta' 115200 għal skopijiet ta' debugging.Inizjalizza l-wiri OLED bil-metodu begin() kif ġej:
Dan is-snippet jistampa wkoll messaġġ fuq is-Serial Monitor, f'każ li ma nkunux kapaċi nikkonnettjaw mal-wiri.
Fil-każ li qed tuża display OLED differenti, jista 'jkollok bżonn tibdel l-indirizz OLED. Fil-każ tagħna, l-indirizz huwa 0x3C.
Wara l-inizjalizzazzjoni tal-wiri, żid żewġ sekondi dewmien, sabiex l-OLED ikollu biżżejjed ħin biex jinizjalizza qabel ma tikteb it-test:
Wirja ċara, issettja d-daqs tat-tipa, kulur u ikteb it-test
Wara l-inizjalizzazzjoni tal-wiri, neħħi l-buffer tal-wiri bil-metodu clearDisplay():
Qabel ma tikteb test, għandek bżonn tissettja d-daqs tat-test, il-kulur u fejn it-test se jintwera fl-OLED.
Issettja d-daqs tat-tipa billi tuża l-metodu setTextSize():Issettja l-kulur tat-tipa bil-metodu setTextColor():
L-ABJAD jistabbilixxi font abjad u sfond iswed.
Iddefinixxi l-pożizzjoni fejn jibda t-test billi tuża l-metodu setCursor(x,y). F'dan il-każ, qed nissettjaw it-test biex jibda mill-koordinati (0,0) - fir-rokna tax-xellug ta 'fuq.Fl-aħħarnett, tista 'tibgħat it-test lill-wiri billi tuża l-metodu println(), kif ġej
Imbagħad, għandek bżonn issejjaħ il-metodu display() biex fil-fatt turi t-test fuq l-iskrin.
Il-librerija Adafruit OLED tipprovdi metodi utli biex tiskrollja faċilment it-test.
- startscrollright(0x00, 0x0F): iscroll it-test mix-xellug għal-lemin
- startscrollleft(0x00, 0x0F): iscroll it-test mil-lemin għax-xellug
- startscrolldiagright(0x00, 0x07): iscroll it-test mill-kantuniera t'isfel tax-xellug sal-rokna ta 'fuq tal-lemin startscrolldiagleft(0x00, 0x07): iscroll it-test mill-kantuniera t'isfel tal-lemin sal-rokna ta' fuq tax-xellug
Tella l-Kodiċi
Issa, ittella 'l-kodiċi fil-passi ta' referenza tal-kodiċi tal-ESP32.Upload tiegħek.
Wara li ttella 'l-kodiċi, l-OLED se juri test ta' scrolling.
Dokumenti / Riżorsi
![]() |
LAFVIN ESP32 Bażiku Starter Kit [pdfManwal tal-Istruzzjonijiet ESP32 Bażiku Starter Kit, ESP32, Bażiku Starter Kit, Starter Kit |