logo LAFVINStarter Bażiku ESP32
Kit

Lista tal-Ippakkjar

LAFVIN ESP32 Bażiku Starter 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.LAFVIN ESP32 Basic Starter Kit - Introduzzjoni ESP32Speċ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.LAFVIN ESP32 Basic Starter Kit - Bordijiet ta' Żvilupp ESP32Speċ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

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITJiġ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.LAFVIN ESP32 Basic Starter Kit -boardESP32 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 ġejjaLAFVIN ESP32 Basic Starter Kit - ESP32 PinoutBarra 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.LAFVIN ESP32 Basic Starter Kit - imġiebaKonvertitur 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:

  1. Fl-IDE Arduino tiegħek, mur File> PreferenziLAFVIN ESP32 Basic Starter Kit - Preferenzi
  2. 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":LAFVIN ESP32 Basic Starter Kit - 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...LAFVIN ESP32 Basic Starter Kit - EspressifFittex għal ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Basic Starter Kit - EspressifDak hu. Għandu jiġi installat wara ftit sekondi.LAFVIN ESP32 Basic Starter Kit - installat

Ittella Kodiċi tat-Test

Ipplaggja l-bord ESP32 mal-kompjuter tiegħek. Bl-IDE Arduino tiegħek miftuħ, segwi dawn il-passi:

  1. Agħżel il-Bord tiegħek f'Għodda > menu Bord (fil-każ tiegħi huwa l-Modulu DEV ESP32)LAFVIN ESP32 Basic Starter Kit - Bord tal-Għodda
  2. 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):LAFVIN ESP32 Bażiku Starter Kit - UART Bridge
  3. Iftaħ l-eż li ġejample taħt File > Eżamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Bażiku Starter Kit - WiFiScanLAFVIN ESP32 Bażiku Starter Kit - WiFiScan 1
  4. Jiftaħ skeċċ ġdid fl-IDE ta' Arduino tiegħek:LAFVIN ESP32 Bażiku Starter Kit - Arduino IDE
  5. Agħfas il-buttuna Upload fl-IDE Arduino. Stenna ftit sekondi waqt li l-kodiċi jikkompila u jtella' fuq il-bord tiegħek.LAFVIN ESP32 Basic Starter Kit - bord
  6. Jekk kollox imur kif mistenni, għandek tara "Tlugħ itella'." messaġġ.LAFVIN ESP32 Basic Starter Kit - Ttella' lest
  7. Iftaħ l-Arduino IDE Serial Monitor b'baud rate ta' 115200:LAFVIN ESP32 Bażiku Starter Kit - Monitor
  8. Agħfas il-buttuna Enable ESP32 abbord u għandek tara n-netwerks disponibbli ħdejn l-ESP32 tiegħek:LAFVIN ESP32 Basic Starter Kit - Ippermetta buttuna

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ħekLAFVIN ESP32 Bażiku Starter Kit - “BOOT”

  • Agħfas il-buttuna "Upload" fl-IDE ta' Arduino biex ittella' l-iskeċċ tiegħek:LAFVIN ESP32 Basic Starter Kit - ICON 6
  • Wara li tara l-"Konnessjoni...." messaġġ fl-IDE ta' Arduino tiegħek, itlaq is-saba 'mill-buttuna "BOOT":LAFVIN ESP32 Basic Starter Kit - “Magħmul ittella’
  • 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.LAFVIN ESP32 Basic Starter Kit - Proġett Eżample

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.LAFVIN ESP32 Bażiku Starter Kit - Dijagramma SkematikaKodiċi
Iftaħ il-kodiċi Project_1_ESP32_Inputs_Outputs.ino f'arduino IDELAFVIN ESP32 Basic Starter Kit - KodiċiLAFVIN ESP32 Basic Starter Kit - Kodiċi 1Kif Jaħdem il-Kodiċi
Fiż-żewġ linji li ġejjin, inti toħloq varjabbli biex tassenja labar:

LAFVIN ESP32 Basic Starter Kit - Xogħlijiet tal-KodiċiIl-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)LAFVIN ESP32 Bażiku Starter Kit - Kodiċi Xogħlijiet 1Jekk l-istat tal-buttuna ma jkunx GĦOLJA, issettja l-LED mitfi. Issettja biss LOW bħala t-tieni argument fil-funzjoni digitalWrite().LAFVIN ESP32 Basic Starter Kit - digitalWriteTlugħ 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".LAFVIN ESP32 Basic Starter Kit - ICON 7Nota: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:LAFVIN ESP32 Basic Starter Kit - DimostrazzjoniU itfi meta tirrilaxxha:LAFVIN ESP32 Basic Starter Kit - dawra

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.LAFVIN ESP32 Bażiku Starter Kit - Inputs AnalogADC 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:LAFVIN ESP32 Bażiku Starter Kit - Mhux lineariDin 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.LAFVIN ESP32 Basic Starter Kit - fruntieraDawn 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.LAFVIN ESP32 Bażiku Starter Kit - SkematikuKodiċ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 IDELAFVIN ESP32 Basic Starter Kit - Kodiċi 2Dan 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.LAFVIN ESP32 Basic Starter Kit - exampleFis-setup(), inizjalizza komunikazzjoni serjali b'rata ta 'baud ta' 115200.LAFVIN ESP32 Basic Starter Kit - example 1Fil-loop(), uża l-funzjoni analogRead() biex taqra l-input analogu mill-potPin.LAFVIN ESP32 Basic Starter Kit - example 2Fl-aħħarnett, ipprintja l-valuri moqrija mill-potenzjometru fil-monitor tas-serje.LAFVIN ESP32 Basic Starter Kit - example 3Ittella' 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.LAFVIN ESP32 Basic Starter Kit -valur massimu

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.LAFVIN ESP32 Bażiku Starter Kit - AnalogOutputKontrollur 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:

  1. L-ewwel, għandek bżonn tagħżel kanal PWM. Hemm 16-il kanal minn 0 sa 15.
  2. Imbagħad, għandek bżonn tissettja l-frekwenza tas-sinjal PWM. Għal LED, frekwenza ta '5000 Hz hija tajba biex tużah.
  3. 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.
  4.  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.
  5. 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.LAFVIN ESP32 Bażiku Starter Kit - SkematikuNota: 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 IDELAFVIN ESP32 Basic Starter Kit - Kodiċi 3LAFVIN ESP32 Basic Starter Kit - Kodiċi 4Tibda billi tiddefinixxi l-pin li l-LED huwa mwaħħal miegħu. F'dan il-każ l-LED huwa mwaħħal ma 'GPIO 4.LAFVIN ESP32 Basic Starter Kit - Kodiċi 5Imbagħ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.LAFVIN ESP32 Basic Starter Kit - Kodiċi 6Fis-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:LAFVIN ESP32 Basic Starter Kit - Kodiċi 8Sussegwentement, 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.LAFVIN ESP32 Basic Starter Kit - Kodiċi 9Fil-linja, int ser tvarja ċ-ċiklu tad-dazju bejn 0 u 255 biex iżżid il-luminożità tal-LED.LAFVIN ESP32 Basic Starter Kit - luminożitàU mbagħad, bejn 255 u 0 biex tnaqqas il-luminożità.LAFVIN ESP32 Basic Starter Kit - luminożità 1Biex 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.LAFVIN ESP32 Basic Starter Kit - luminożità 2Peress 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à.LAFVIN ESP32 Basic Starter Kit - Ittestjar tal-Example

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
.LAFVIN ESP32 Basic Starter Kit - Xogħlijiet tas-Sensor tal-MovimentIl-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.LAFVIN ESP32 Basic Starter Kit - Introduzzjoni tat-TajmersIl-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.LAFVIN ESP32 Basic Starter Kit - kodiċiMeta 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.LAFVIN ESP32 Basic Starter Kit - il-programm beda l-ewwelGħ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

SkematikaLAFVIN ESP32 Bażiku Starter Kit - Skematika 1Nota: 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.LAFVIN ESP32 Basic Starter Kit - Dimostrazzjoni 1Mexxi 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.LAFVIN ESP32 Basic Starter Kit - buzzer

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.LAFVIN ESP32 Bażiku Starter Kit - SkematikuKodiċ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.LAFVIN ESP32 Basic Starter Kit - Kredenzjali tan-NetwerkTlugħ 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:

  1. Ipplaggja l-bord ESP32 tiegħek fil-kompjuter tiegħek;
  2. 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);LAFVIN ESP32 Basic Starter Kit - Tlugħ tal-Kodiċi
  3. Agħżel il-port COM f'Għodda > Port.LAFVIN ESP32 Bażiku Starter Kit - Għodda Port
  4. 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.LAFVIN ESP32 Basic Starter Kit - ICON 7
  5. Stenna l-messaġġ “Let uploading”.LAFVIN ESP32 Basic Starter Kit - Lest ittella' 1

Sib l-indirizz IP ESP
Wara li ttella 'l-kodiċi, iftaħ is-Serial Monitor b'rata baud ta' 115200.LAFVIN ESP32 Basic Starter Kit - Indirizz IP ESPAgħ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.LAFVIN ESP32 Bażiku Starter Kit - web serverAċċ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.LAFVIN ESP32 Basic Starter Kit - Aċċess għall- Web ServerJekk 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).LAFVIN ESP32 Basic Starter Kit - talba HTTPTista '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.LAFVIN ESP32 Basic Starter Kit - sfondFl-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.LAFVIN ESP32 Bażiku Starter Kit - URLMeta 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.LAFVIN ESP32 Bażiku Starter Kit - web paġnaIl-buttuna għal GPIO 27 taħdem b'mod simili. Ittestja li qed jaħdem sew.LAFVIN ESP32 Basic Starter Kit - 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.LAFVIN ESP32 Basic Starter Kit - Librerija WiFiKif issemma qabel, għandek bżonn daħħal is-ssid u l-password tiegħek fil-linji li ġejjin ġewwa l-kwotazzjonijiet doppji.LAFVIN ESP32 Basic Starter Kit - kwotazzjonijiet doppjiImbagħad, inti tistabbilixxi tiegħek web server għall-port 80.LAFVIN ESP32 Bażiku Starter Kit - web serverIl-linja li ġejja toħloq varjabbli biex taħżen l-intestatura tat-talba HTTP:LAFVIN ESP32 Bażiku Starter Kit - HTTPrequestSussegwentement, 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.LAFVIN ESP32 Basic Starter Kit - varjabbliGħ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.LAFVIN ESP32 Basic Starter Kit - ieħor adattatsetup()
Issa, ejja nidħlu fis-setup(). L-ewwel, nibdew komunikazzjoni serjali b'rata baud ta '115200 għal skopijiet ta' debugging.LAFVIN ESP32 Basic Starter Kit - skopijietInti tiddefinixxi wkoll il-GPIOs tiegħek bħala OUTPUTs u ssettjahom għal LOW.LAFVIN ESP32 Basic Starter Kit - GPIOs bħala OUTPUTIl-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.LAFVIN ESP32 Bażiku Starter Kit - SerjaliLAFVIN ESP32 Bażiku Starter Kit - Serje 1loop()
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:LAFVIN ESP32 Basic Starter Kit - loopMeta 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.LAFVIN ESP32 Basic Starter Kit - eżattamentLAFVIN ESP32 Basic Starter Kit - eżattament 1LAFVIN ESP32 Basic Starter Kit - eżattament 2It-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.LAFVIN ESP32 Basic Starter Kit - buttuna ippressataLAFVIN ESP32 Basic Starter Kit - buttuna ippressata 1Per 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.LAFVIN ESP32 Basic Starter Kit - jibgħat HTMLImbagħad, il-linja li ġejja tagħmel il- web paġna li tirreaġixxi fi kwalunkwe web browser.LAFVIN ESP32 Bażiku Starter Kit - web browserU dan li ġej jintuża biex jipprevjeni talbiet fuq il-favicon. – M'għandekx għalfejn tinkwieta dwar din il-linja.LAFVIN ESP32 Basic Starter Kit - client.println

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.LAFVIN ESP32 Basic Starter Kit - Styling il Web PaġnaAħ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.LAFVIN ESP32 Basic Starter Kit - pointerAħ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.LAFVIN ESP32 Basic Starter Kit - client.println 1

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.LAFVIN ESP32 Bażiku Starter Kit - Web Intestatura tal-paġnaWiri 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.LAFVIN ESP32 Basic Starter Kit - bidliet varjabbliImbagħ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.LAFVIN ESP32 Basic Starter Kit - uri l-buttuna OFFAħ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().LAFVIN ESP32 Basic Starter Kit - Għeluq tal-Konnessjoni

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:LAFVIN ESP32 Basic Starter Kit - Project Overview

  • 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.LAFVIN ESP32 Basic Starter Kit - RGB LEDs jaħdmuKif 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.LAFVIN ESP32 Basic Starter Kit - kuluri differentiPartijiet 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

SkematikaLAFVIN ESP32 Bażiku Starter Kit - SkematikuKodiċ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.LAFVIN ESP32 Basic Starter Kit - netwerk lokaliKif jaħdem il-kodiċi
L-iskeċċ ESP32 juża l-librerija WiFi.h.LAFVIN ESP32 Basic Starter Kit - Librerija WiFi.hIl-linji li ġejjin jiddefinixxu varjabbli tas-sekwenza biex iżommu l-parametri R, G, u B mit-talba.LAFVIN ESP32 Basic Starter Kit - String redStringL-erba 'varjabbli li jmiss jintużaw biex jiddekowdja t-talba HTTP aktar tard.LAFVIN ESP32 Basic Starter Kit - talba HTTPOħ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.LAFVIN ESP32 Basic Starter Kit - GPIOs jeħtieġuDawn 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 kulurLAFVIN ESP32 Basic Starter Kit - kull kulurU finalment, issettja r-riżoluzzjoni tal-kanali PWM għal 8-bitLAFVIN ESP32 Basic Starter Kit - kanali PWMFis-setup(), jassenja l-proprjetajiet PWM lill-kanali PWMLAFVIN ESP32 Basic Starter Kit - kanali PWMWaħħal il-kanali PWM mal-GPIOs korrispondentiLAFVIN ESP32 Basic Starter Kit - GPIOs korrispondentiIs-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.LAFVIN ESP32 Basic Starter Kit - magħżulLAFVIN ESP32 Basic Starter Kit - client.printlnLAFVIN ESP32 Basic Starter Kit - client.println 1Meta tagħżel kulur, tirċievi talba bil-format li ġej.LAFVIN ESP32 Basic Starter Kit - 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.LAFVIN ESP32 Basic Starter Kit - daqqa ta' rasLAFVIN ESP32 Basic Starter Kit - header 1Biex tikkontrolla l-istrixxa bl-ESP32, uża l-funzjoni ledcWrite() biex tiġġenera sinjali PWM bil-valuri dekodifikati mill-HTTP talba.LAFVIN ESP32 Basic Starter Kit - Talba HTTP 1Nota: 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.LAFVIN ESP32 Basic Starter Kit - l-istess LANIftaħ 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ħħ.LAFVIN ESP32 Bażiku Starter Kit - RGB LEDBiex 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.LAFVIN ESP32 Basic Starter Kit - 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).LAFVIN ESP32 Basic Starter Kit - Introduzzjoni ta' RelaysFuq 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 KonnessjonijietLAFVIN ESP32 Bażiku Starter Kit - 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-KontrollLAFVIN ESP32 Bażiku Starter Kit - Labar 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ġijaLAFVIN ESP32 Basic Starter Kit - 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.
SkematikaLAFVIN ESP32 Bażiku Starter Kit - SkematikuTwissija: 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.LAFVIN ESP32 Basic Starter Kit - mains voltageInstallazzjoni 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:

  1. Ikklikkja hawn biex tniżżel l-ESPAsyncWebLibrerija tas-server. Għandu jkollok
    folder .zip fil-folder ta' Downloads tiegħek
  2. Unzip il-folder .zip u għandek tikseb ESPAsyncWebServer-master folder
  3. Semmi mill-ġdid il-folder tiegħek minn ESPAsyncWebServer-master għal ESPAsyncWebServer
  4. 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:

  1. Ikklikkja hawn biex tniżżel il-librerija AsyncTCP. Għandu jkollok folder .zip fil-folder Downloads tiegħek
  2. 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.LAFVIN ESP32 Basic Starter Kit - netwerk lokaliDimostrazzjoni
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.LAFVIN ESP32 Bażiku Starter Kit - web serverNota: 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.LAFVIN ESP32 Basic Starter Kit - smartphoneIssa, tista 'tuża l-buttuni biex tikkontrolla r-relays tiegħek billi tuża l-ismartphone tiegħek.LAFVIN ESP32 Basic Starter Kit - smartphone 1

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.LAFVIN ESP32 Basic Starter Kit - Project OverviewL-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

SkematikaLAFVIN ESP32 Bażiku Starter Kit - Skematika 1Installazzjoni 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:

  1. Ikklikkja hawn biex tniżżel l-ESPAsyncWebLibrerija tas-server. Għandu jkollok
    folder .zip fil-folder ta' Downloads tiegħek
  2. Unzip il-folder .zip u għandek tikseb ESPAsyncWebServer-master folder
  3. Semmi mill-ġdid il-folder tiegħek minn ESPAsyncWebServer-master għal ESPAsyncWebServer
  4. 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:

  1. Ikklikkja hawn biex tniżżel il-librerija AsyncTCP. Għandu jkollok folder .zip fil-folder Downloads tiegħek
  2. Unzip il-folder .zip u għandek tikseb AsyncTCP-master folder
  3. Semmi mill-ġdid il-folder tiegħek minn AsyncTCP-master għal AsyncTCP
  4. Mexxi l-fowlder AsyncTCP fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
  5. 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.LAFVIN ESP32 Basic Starter Kit - Kodiċi

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.LAFVIN ESP32 Basic Starter Kit - Xogħlijiet tal-Kodiċi

Il-buttonState u l-lastButtonState jintużaw biex jiskopru jekk il-buttuna ġietx ippressata jew le.LAFVIN ESP32 Basic Starter Kit - ġie ppressatButtuna (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()).LAFVIN ESP32 Basic Starter Kit - ġie ppressat 1proċ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%.LAFVIN ESP32 Basic Starter Kit - proċessurImbagħad, sejjaħ il-funzjoni tal-outputState() li tirritorna l-istat tal-output kurrenti. Aħna nissejvjah fil-varjabbli outputStateValue.LAFVIN ESP32 Basic Starter Kit - outputStateWara dan, uża dak il-valur biex toħloq it-test HTML biex turi l-buttuna bl-istat it-tajjeb:LAFVIN ESP32 Basic Starter Kit - kodiċi 4HTTP 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.LAFVIN ESP32 Bażiku Starter Kit - JavaScriptBiex tixgħel l-LED, tagħmel talba fuq /update?state=1 URL:LAFVIN ESP32 Basic Starter Kit - element.checkedInkella, 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.LAFVIN ESP32 Basic Starter Kit - Aġġorna l-IstatLAFVIN ESP32 Basic Starter Kit - Aġġorna l-Istat 1Immaniġġ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.LAFVIN ESP32 Basic Starter Kit - Immaniġġja t-TalbietLAFVIN ESP32 Bażiku Starter Kit - Immaniġġja Talbiet 1Il-linji li ġejjin jiċċekkjaw jekk irċevejtx talba fuq /update?state=1 jew /update?state=0 URL u jibdel il-ledState kif xieraq.LAFVIN ESP32 Bażiku Starter Kit - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamMeta talba tasal fuq /stat URL, aħna nibagħtu l-istat tal-output kurrenti:LAFVIN ESP32 Basic Starter Kit - stat tal-ħruġloop()
Fil-linja (), aħna nneħħu l-buttuna u nixgħel jew titfi l-LED skont il-valur tal-ledState varjabbli.LAFVIN ESP32 Basic Starter Kit - loop 1Dimostrazzjoni
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.LAFVIN ESP32 Basic Starter Kit - DimostrazzjoniIftaħ 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.LAFVIN ESP32 Basic Starter Kit - browserTista' taqleb il-buttuna fuq il- web server biex jixgħel l-LED.LAFVIN ESP32 Bażiku Starter Kit - web 1 serverTista '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

SkematikaLAFVIN ESP32 Bażiku Starter Kit - Skematika 2Installazzjoni ta' Libreriji
Ikollok bżonn tinstalla ftit libreriji għal dan il-proġett:

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.

  1. Ikklikkja hawn biex tniżżel il-librerija tas-Sensor DHT. Għandu jkollok folder .zip fil-folder Downloads tiegħek
  2. Unzip il-folder .zip u għandek tikseb folder DHT-sensor-librerija-master
  3. Semmi mill-ġdid il-folder tiegħek minn DHT-sensor-library-master għal DHT_sensor
  4. Mexxi l-folder DHT_sensor fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
  5. 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.

  1. Ikklikkja hawn biex tniżżel il-librerija Adafruit Unified Sensor. Għandu jkollok folder .zip fil-folder Downloads tiegħek
  2. Unzip il-folder .zip u għandek tikseb folder Adafruit_sensor-master
  3. Semmi mill-ġdid il-folder tiegħek minn Adafruit_sensor-master għal Adafruit_sensor
  4. Mexxi l-folder Adafruit_sensor fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
  5. 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:

  1. Ikklikkja hawn biex tniżżel l-ESPAsyncWebLibrerija tas-server. Għandu jkollok
    folder .zip fil-folder ta' Downloads tiegħek
  2. Unzip il-folder .zip u għandek
    tikseb ESPAsyncWebServer-master folder
  3. Semmi mill-ġdid il-folder tiegħek minn ESPAsyncWebServer-master għal ESPAsyncWebServer
  4. 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:

  1. Ikklikkja hawn biex tniżżel il-librerija AsyncTCP. Għandu jkollok folder .zip fil-folder Downloads tiegħek
  2. Unzip il-folder .zip u għandek tikseb AsyncTCP-master folder
  3. Semmi mill-ġdid il-folder tiegħek minn AsyncTCP-master għal AsyncTCP
  4. Mexxi l-fowlder AsyncTCP fil-folder tal-libreriji tal-installazzjoni ta 'Arduino IDE tiegħek
  5. 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.LAFVIN ESP32 Basic Starter Kit - KodiċiKif 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.LAFVIN ESP32 Basic Starter Kit - L-importazzjoni tal-librerijiLAFVIN ESP32 Basic Starter Kit - Kif Jaħdem il-KodiċiDefinizzjoni ta' varjabbli
Iddefinixxi l-GPIO li l-pin tad-data DHT huwa konness miegħu. F'dan il-każ, huwa konness ma 'GPIO 4.LAFVIN ESP32 Basic Starter Kit - Definizzjoni ta' varjabbliImbagħ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.LAFVIN ESP32 Basic Starter Kit - Definizzjoni ta' varjabbli 1

Instanzja oġġett DHT bit-tip u l-pin li ddefinijna qabel.LAFVIN ESP32 Basic Starter Kit - Definizzjoni ta' varjabbli 2Oħloq AsyncWebOġġett tas-server fuq il-port 80.LAFVIN ESP32 Basic Starter Kit - Definizzjoni ta' varjabbli 3Aqra 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()).LAFVIN ESP32 Basic Starter Kit - aqraDHTHumidityLAFVIN ESP32 Basic Starter Kit - qari tas-sensorjuIl-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.LAFVIN ESP32 Basic Starter Kit - oġġettGħandna wkoll kundizzjoni li tirritorna żewġ sing (–) f'każ li s-sensor jonqos milli jikseb il-qari.LAFVIN ESP32 Basic Starter Kit - qariIl-qari jintbagħat lura bħala tip ta' string. Biex tikkonverti float għal string, uża l-funzjoni String().LAFVIN ESP32 Bażiku Starter Kit - StringB'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:LAFVIN ESP32 Bażiku Starter Kit - FahrenheitLAFVIN ESP32 Basic Starter Kit - Fahrenheit 1Tella 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.LAFVIN ESP32 Basic Starter Kit - Tella l-KodiċiDimostrazzjoni
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.LAFVIN ESP32 Basic Starter Kit - Dimostrazzjoni 1

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.LAFVIN ESP32 Bażiku Starter Kit - OLEDDisplayIl-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

SkematikaLAFVIN ESP32 Bażiku Starter Kit - SkematikuInstallazzjoni 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.

  1. Iftaħ l-IDE Arduino tiegħek u mur Sketch> Inkludi Librerija> Immaniġġja Libreriji. Il-Maniġer tal-Librerija għandu jiftaħ.
  2. Ittajpja "SSD1306" fil-kaxxa tat-tfittxija u installa l-librerija SSD1306 minn Adafruit.LAFVIN ESP32 Bażiku Starter Kit - OLEDLibrary–
  3. Wara li tinstalla l-librerija SSD1306 minn Adafruit, ittajpja "GFX" fil-kaxxa tat-tfittxija u installa l-librerija.LAFVIN ESP32 Basic Starter Kit - librerija
  4. 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 IDELAFVIN ESP32 Basic Starter Kit - Kodiċi 1LAFVIN ESP32 Basic Starter Kit - Kodiċi 2LAFVIN ESP32 Basic Starter Kit - Kodiċi 3Kif 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.LAFVIN ESP32 Bażiku Starter Kit - Kodiċi Xogħlijiet 1LAFVIN ESP32 Bażiku Starter Kit - Kodiċi Xogħlijiet 2Inizjalizza 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.LAFVIN ESP32 Basic Starter Kit - display OLEDImbagħad, initialize oġġett tal-wiri bil-wisa 'u l-għoli definiti qabel bil-protokoll ta' komunikazzjoni I2C (&Wire).LAFVIN ESP32 Basic Starter Kit - protokoll ta' komunikazzjoniIl-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.LAFVIN ESP32 Basic Starter Kit - skopijietInizjalizza l-wiri OLED bil-metodu begin() kif ġej:LAFVIN ESP32 Basic Starter Kit - display.beginLAFVIN ESP32 Basic Starter Kit - Serial.printlnDan is-snippet jistampa wkoll messaġġ fuq is-Serial Monitor, f'każ li ma nkunux kapaċi nikkonnettjaw mal-wiri.

LAFVIN ESP32 Basic Starter Kit - Serial.println 1Fil-każ li qed tuża display OLED differenti, jista 'jkollok bżonn tibdel l-indirizz OLED. Fil-każ tagħna, l-indirizz huwa 0x3C.LAFVIN ESP32 Basic Starter Kit - indirizzWara l-inizjalizzazzjoni tal-wiri, żid żewġ sekondi dewmien, sabiex l-OLED ikollu biżżejjed ħin biex jinizjalizza qabel ma tikteb it-test:LAFVIN ESP32 Basic Starter Kit - dewmienWirja ċ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():LAFVIN ESP32 Basic Starter Kit - wiri

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():LAFVIN ESP32 Basic Starter Kit - display 1Issettja 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.LAFVIN ESP32 Basic Starter Kit - setTextColor 1Fl-aħħarnett, tista 'tibgħat it-test lill-wiri billi tuża l-metodu println(), kif ġejLAFVIN ESP32 Basic Starter Kit - kodiċi 5Imbagħad, għandek bżonn issejjaħ il-metodu display() biex fil-fatt turi t-test fuq l-iskrin.LAFVIN ESP32 Basic Starter Kit - wiri

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.LAFVIN ESP32 Basic Starter Kit - test ta' scrollinglogo LAFVIN

Dokumenti / Riżorsi

LAFVIN ESP32 Bażiku Starter Kit [pdfManwal tal-Istruzzjonijiet
ESP32 Bażiku Starter Kit, ESP32, Bażiku Starter Kit, Starter Kit

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *