ESP32 Basic Starter
Kit
Packing List
ESP32 Nhanganyaya
Nyowani kuESP32? Tanga pano! Iyo ESP32 inoteedzana yeinodhura-yakaderera uye yakaderera-simba Sisitimu paChip (SoC) mamicrocontrollers akagadzirwa neEspressif ayo anosanganisira Wi-Fi uye Bluetooth isina waya masimba uye maviri-core processor. Kana iwe uchijairana neESP8266, iyo ESP32 ndiyo inotsiva, yakatakurwa nezvakawanda zvezvinhu zvitsva.ESP32 Zvinotsanangurwa
Kana iwe uchida kuwana zvishoma zvehunyanzvi uye zvakanangana, unogona kutarisa kune anotevera akadzama zvirevo zveESP32 (mabviro: http://esp32.net/) - kuti uwane mamwe mashoko, tarisa dheta):
- Wireless yekubatanidza WiFi: 150.0 Mbps data reti neHT40
- Bluetooth: BLE (Bluetooth Low Energy) uye Bluetooth Classic
- processor: Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, inoshanda pa160 kana 240 MHz
- Memory:
- ROM: 448 KB (yekutanga uye yakakosha mabasa)
- SRAM: 520 KB (yedata nemirayiridzo)
- RTC fas SRAM: 8 KB (yekuchengetedza data uye CPU huru panguva yeRTC Boot kubva pakadzika-kurara mode)
- RTC inononoka SRAM: 8KB (ye-co-processor yekuwana panguva yekurara-yakadzika mode) eFuse: 1 Kbit (iyo 256 bits inoshandiswa kune system (MAC kero uye chip configuration) uye asara 768 bits akachengeterwa kushandiswa kwevatengi, kusanganisira Flash-Encryption uye Chip-ID)
Flash yakadzimirirwa: flash yakabatana mukati kuburikidza neIO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 uye SD_DATA_1 paESP32-D2WD uye ESP32-PICO-D4.
- 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, uye ESP32-S0WD machipi)
- 2 MiB (ESP32-D2WD chip)
- 4 MiB (ESP32-PICO-D4 SiP module)
Yakaderera Simba: inovimbisa kuti iwe uchiri kukwanisa kushandisa ADC shanduko, kune exampuye, panguva yehope huru.
Peripheral Input/Output:
- peripheral interface neDMA inosanganisira capacitive touch
- ADCs (Analog-to-Digital Converter)
- DACs (Digital-to-Analog Converter)
- I²C (Inter-Integrated Circuit)
- UART (Universal Asynchronous Receiver/Transmitter)
- SPI (Serial Peripheral Interface)
- I²S (Integrated Interchip Sound)
- RMII (Yakaderedzwa Media-Yakazvimirira Interface)
- PWM (Pulse-Width Modulation)
Chengetedzo: Hardware accelerator yeAES uye SSL/TLS
ESP32 Mabhodhi Ekuvandudza
ESP32 inoreva iyo isina ESP32 chip. Nekudaro, izwi rekuti "ESP32" rinoshandiswawo kureva ESP32 mabhodhi ekuvandudza. Kushandisa ESP32 bare chips hakusi nyore kana kushanda, kunyanya kana uchidzidza, kuyedza, uye prototyping. Kazhinji yenguva, iwe unozoda kushandisa ESP32 yekuvandudza bhodhi.
Tichange tichishandisa ESP32 DEVKIT V1 board sereferensi.Mufananidzo uripazasi unoratidza ESP32 DEVKIT V1 board, version ine 30 GPIO pins.Zvinotsanangurwa - ESP32 DEVKIT V1
Iyi tafura inotevera inoratidza pfupiso yeESP32 DEVKIT V1 DOIT bhodhi maficha uye zvakatemwa:
Nhamba yemacores | 2 (dual core) |
Wi-Fi | 2.4 GHz kusvika ku150 Mbits/s |
Bluetooth | BLE (Bluetooth Low Energy) uye nhaka Bluetooth |
Architecture | 32 zvishoma |
Clock frequency | Kusvika ku240 MHz |
RAM | 512 KB |
Pini | 30 (zvichienderana nemuenzaniso) |
Peripherals | Capacitive touch, ADC (analog kune inoshandura dhijitari), DAC (digital to analog converter), 12C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface), 12SInterface Inzwi), RMII (Yakaderedzwa Media-Yakazvimirira Interface), PWM (pulse width modulation), nezvimwe. |
Mabhatani akavakirwa-mukati | RESET uye BOOT mabhatani |
Yakavakwa-mukati ma LEDs | yakavakirwa-mukati yebhuruu LED yakabatana neGPIO2; yakavakirwa-mukati tsvuku LED inoratidza bhodhi iri kufambiswa |
USB kuUART zambuko |
CP2102 |
Iyo inouya neiyo microUSB interface yaunogona kushandisa kubatanidza bhodhi pakombuta yako kurodha kodhi kana kushandisa simba.
Inoshandisa iyo CP2102 chip (USB kuUART) kutaurirana nekombuta yako kuburikidza neCOM port uchishandisa serial interface. Imwe chip yakakurumbira ndeye CH340. Tarisa kuti chii chinonzi USB kuUART chip converter pabhodhi rako nekuti iwe uchafanirwa kuisa madhiraivha anodiwa kuitira kuti komputa yako igone kutaurirana nebhodhi (rumwe ruzivo nezve izvi gare gare mune ino gwaro).
Iri bhodhi rinouyawo neRESET bhatani (rinogona kunyorwa EN) kuti utangezve bhodhi uye BOOT bhatani kuisa bhodhi mu flashing mode (inowanikwa kugamuchira kodhi). Ziva kuti mamwe mabhodhi anogona kunge asina bhatani reBOOT.
Inouyawo ne-built-in blue LED iyo inobatanidzwa mukati kuGPIO 2. Iyi LED inobatsira pakugadzirisa kuti ipe imwe rudzi rwekuonekwa kwemuviri. Kune zvakare tsvuku LED inovhenekera kana iwe uchipa simba kubhodhi.ESP32 Pinout
Iwo ESP32 peripherals anosanganisira:
- 18 Analog-to-Digital Converter (ADC) nzira
- 3 SPI interfaces
- 3 UART interfaces
- 2 I2C interfaces
- 16 PWM yakabuda chiteshi
- 2 Digital-to-Analog Converters (DAC)
- 2 I2S interfaces
- 10 Capacitive sensing GPIOs
Iyo ADC (analog kudhijitari inoshandura) uye DAC (yedhijitari kune analog inoshandura) maficha anopihwa kune chaiwo mapini. Nekudaro, iwe unogona kusarudza kuti ndeapi mapini ari UART, I2C, SPI, PWM, nezvimwe - iwe unongoda kuapa iwo mukodhi. Izvi zvinogoneka nekuda kweiyo ESP32 chip's multiplexing chimiro.
Kunyangwe iwe uchigona kutsanangura mapini ezvivakwa pasoftware, pane mapini akapihwa nekusarudzika sezvakaratidzwa mumufananidzo unotevera.Pamusoro pezvo, kune mapini ane chaiwo maficha anoita kuti ave akakodzera kana kwete kune imwe chirongwa. Tafura inotevera inoratidza kuti ndeapi mapini anonyanya kushandisa sezvipo, zvinobuda uye ndeapi aunoda kungwarira.
Mapini akaiswa mugirini akakodzera kushandisa. Iwo akaiswa muyero akakodzera kushandisa, asi iwe unofanirwa kuterera nekuti anogona kunge aine maitiro asingatarisirwe kunyanya pabhoti. Mapini akaoneswa mutsvuku haakurudzirwe kushandisa sezvipo kana zvinobuda.
GP IO | Input | Output | Notes |
0 | akadhonza | OK | inoburitsa PWM siginecha pabhutsu, inofanirwa kunge iri PASI kuti ipinde mukupenya modhi |
1 | TX pini | OK | debug kubuda pa boot |
2 | OK | OK | yakabatana ne-on-board LED, inofanira kusiiwa ichiyangarara kana LOW kuti ipinde mukupenya modhi |
3 | OK | RX pini | HIGH at boot |
4 | OK | OK | |
5 | OK | OK | inoburitsa PWM chiratidzo pabhutsu, tambo yepini |
12 | OK | OK | bhutsu inotadza kana yakadhonzwa kumusoro, pini yekusunga |
13 | OK | OK | |
14 | OK | OK | inoburitsa PWM chiratidzo pa boot |
15 | OK | OK | inoburitsa PWM chiratidzo pabhutsu, tambo yepini |
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 | kuisa chete | |
35 | OK | kuisa chete | |
36 | OK | kuisa chete | |
39 | OK | kuisa chete |
Ramba uchiverenga kuti uwane rumwe ruzivo uye yakadzama ongororo yeESP32 GPIOs nemabasa ayo.
Nyora mapini chete
GPIOs 34 kusvika 39 maGPI - kuisa mapini chete. Mapini aya haana mukati mekudhonzera kumusoro kana kudhonzera pasi. Izvo hazvigone kushandiswa sezvinobuda, saka shandisa mapini aya chete semapupu:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
SPI flash yakabatanidzwa paESP-WROOM-32
GPIO 6 kusvika GPIO 11 inoratidzwa mune mamwe ESP32 mabhodhi ekuvandudza. Nekudaro, mapini aya akabatana kune yakasanganiswa SPI flash pane ESP-WROOM-32 chip uye haina kukurudzirwa kune mamwe mashandisiro. Saka, usashandise mapini aya mumapurojekiti ako:
- GPIO 6 (SCK/CLK)
- GPIO 7 (SDO/SD0)
- GPIO 8 (SDI/SD1)
- GPIO 9 (SHD/SD2)
- GPIO 10 (SWP/SD3)
- GPIO 11 (CSC/CMD)
Capacitive kubata GPIOs
Iyo ESP32 ine gumi mukati capacitive touch sensors. Izvi zvinogona kuona mutsauko mune chero chinhu chinobata magetsi, seganda remunhu. Saka ivo vanogona kuona misiyano inokonzereswa kana vachibata maGPIO nemunwe. Aya mapini anogona kubatanidzwa zviri nyore mune capacitive pads uye kutsiva mechanic mabhatani. Iyo capacitive touch pini inogona zvakare kushandiswa kumutsa iyo ESP10 kubva kuhope huru. Iwo emukati ekubata sensors akabatana kune aya maGPIOs:
- 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)
Analog kune Dhijitari Shanduro (ADC)
Iyo ESP32 ine 18 x 12 bits ADC yekupinza nzira (ukuwo ESP8266 ichingova ne1x 10 bits ADC). Aya ndiwo maGPIO anogona kushandiswa seADC nematanho anoenderana:
- 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)
Cherechedza: ADC2 mapini haagone kushandiswa kana Wi-Fi yashandiswa. Saka, kana uri kushandisa Wi-Fi uye uchinetseka kuwana kukosha kubva kuADC2 GPIO, unogona kufunga kushandisa ADC1 GPIO pachinzvimbo. Ndizvo zvinofanira kugadzirisa dambudziko rako.
Iyo ADC yekupinza chiteshi ine 12-bit resolution. Izvi zvinoreva kuti iwe unogona kuwana kuverenga kweanalogi kubva pa0 kusvika 4095, umo 0 inoenderana ne0V uye 4095 kusvika 3.3V. Iwe unogona zvakare kuseta kugadzirisa kwezviteshi zvako pane kodhi uye ADC renji.
Iwo ESP32 ADC mapini haana mutsara maitiro. Pamwe hauzokwanisa kusiyanisa pakati pe0 ne0.1V, kana pakati pe3.2 ne3.3V. Iwe unofanirwa kuchengeta izvo mupfungwa kana uchishandisa iyo ADC pini. Iwe uchawana maitiro akafanana neanoratidzwa mumufananidzo unotevera.Digital kuti Analog Shandura (DAC)
Kune 2 x 8 bits DAC chiteshi paESP32 yekushandura masaini edhijitari kuita analog vol.tage zviratidzo zvinobuda. Idzi ndidzo nzira dzeDAC:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
RTC GPIOs
Kune RTC GPIO rutsigiro paESP32. Iwo maGPIO akaendeswa kuRTC yakaderera-simba subsystem inogona kushandiswa kana ESP32 iri muhope huru. Aya maRTC GPIO anogona kushandiswa kumutsa ESP32 kubva kuhope huru kana Ultra Yakaderera
Simba (ULP) co-processor iri kushanda. Aya anotevera maGPIO anogona kushandiswa seyekunze yekumuka sosi.
- 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
Iyo ESP32 LED PWM controller ine 16 yakazvimiririra chiteshi inogona kugadzirwa kuti ibudise masaini ePWM ane akasiyana zvimiro. Mapini ese anogona kuita sezvinobuda anogona kushandiswa sePWM pini (GPIOs 34 kusvika 39 haigone kuburitsa PWM).
Kuti uise chiratidzo chePWM, unofanirwa kutsanangura aya maparamendi mukodhi:
- Signal's frequency;
- Duty cycle;
- PWM chiteshi;
- GPIO kwaunoda kuburitsa chiratidzo.
I2C
Iyo ESP32 ine maviri I2C chiteshi uye chero pini inogona kusetwa seSDA kana SCL. Paunenge uchishandisa ESP32 neArduino IDE, mapini eI2C akasarudzika ndeaya:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Kana iwe uchida kushandisa mamwe mapini paunenge uchishandisa waya raibhurari, unongoda kufona:
Wire.begin(SDA, SCL);
SPI
Nekumisikidza, iyo pini mepu yeSPI ndeiyi:
SPI | MOSI | MISO | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Zvinokanganisa
Ese maGPIO anogona kugadzirwa seanovhiringa.
Kusunga Pini
Iyo ESP32 chip ine anotevera mapini ekusunga:
- GPIO 0 (inofanira kunge iri LOW kuti uise boot mode)
- GPIO 2 (inofanira kunge ichiyangarara kana PASI panguva yebhutsu)
- GPIO 4
- GPIO 5 (inofanira kuva HIGH panguva yebhoti)
- GPIO 12 (inofanira kunge yakaderera panguva yebhutsu)
- GPIO 15 (inofanira kuva HIGH panguva yebhoti)
Aya anoshandiswa kuisa ESP32 mubootloader kana kupenya modhi. Pamabhodhi mazhinji ekuvandudza ane yakavakirwa-mukati USB / Serial, haufanirwe kunetseka nezve mamiriro emapini aya. Bhodhi rinoisa mapini munzvimbo yakakodzera yekupenya kana boot mode. Rumwe ruzivo nezve ESP32 Boot Mode Sarudzo inogona kuwanikwa pano.
Nekudaro, kana uine maperipheral akabatana nemapini iwayo, unganetseka kuyedza kurodha kodhi nyowani, kupenya ESP32 ne firmware nyowani, kana kuseta bhodhi. Kana iwe uine mamwe maperipheral akabatana nemapini ekusungirira uye uri kunetseka kurodha kodhi kana kupenya ESP32, zvinogona kunge zviri nekuti iwo maperipheral ari kudzivirira ESP32 kupinda mumodhi chaiyo. Verenga iyo Boot Mode Selection zvinyorwa kuti ikutungamirire munzira kwayo. Mushure mekugadzirisa, kupenya, kana kubhoti, mapini aya anoshanda sezvaitarisirwa.
Pins HIGH paBoot
Mamwe maGPIO anochinja mamiriro avo kune HIGH kana kubuda masaini ePWM pabhutsu kana kuseta zvakare.
Izvi zvinoreva kuti kana uine zvinobuda zvakabatana neaya maGPIO unogona kuwana mhedzisiro isingatarisirwe kana ESP32 ikagadziridzwa kana bhutsu.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 kusvika GPIO 11 (yakabatana neESP32 yakabatanidzwa SPI flash memory - isingakurudzirwe kushandisa).
- GPIO 14
- GPIO 15
Gonesa (EN)
Gonesa (EN) ndiyo pini yekugonesa ye3.3V. Yakadhonzwa kumusoro, saka batanidza pasi kudzima iyo 3.3V regulator. Izvi zvinoreva kuti unogona kushandisa pini iyi yakabatana nebhatani rekusundira kuti utangezve ESP32 yako, ye example.
GPIO ikozvino yakadhirowa
Mhedziso yepamusoro iripo inodhonzwa paGPIO ndeye 40mA zvinoenderana nechikamu che "Recommended Operating Conditions" muESP32 dhatabheti.
ESP32 Yakavakwa-In Hall Effect Sensor
Iyo ESP32 zvakare inoratidzira yakavakirwa-mukati horo mhedzisiro sensor inoona shanduko musimba remagineti munzvimbo yayo
ESP32 Arduino IDE
Pane yekuwedzera yeArduino IDE iyo inokutendera iwe kuronga iyo ESP32 uchishandisa iyo Arduino IDE nemutauro wayo wekuronga. Muchidzidzo ichi tinokuratidza maitiro ekuisa ESP32 board muArduino IDE ungave uri kushandisa Windows, Mac OS X kana Linux.
Zvinodiwa: Arduino IDE Yakaiswa
Usati watanga iyi yekuisa maitiro, unofanirwa kuve neArduino IDE yakaiswa pakombuta yako. Pane mavhezheni maviri eArduino IDE aunogona kuisa: vhezheni 1 uye vhezheni 2.
Unogona kudhawunirodha uye kuisa Arduino IDE nekudzvanya pane inotevera link: arduino.cc/en/Main/Software
Ndeipi Arduino IDE vhezheni yatinokurudzira? Panguva ino, pane zvimwe plugins yeESP32 (seiyo SPIFFS Filesystem Uploader Plugin) iyo isati yatsigirwa paArduino 2. Saka, kana iwe uchida kushandisa SPIFFS plugin mune ramangwana, tinokurudzira kuisa legacy version 1.8.X. Iwe unongoda kupuruzira pasi paArduino software peji kuti uiwane.
Kuisa ESP32 Yekuwedzera muArduino IDE
Kuisa ESP32 board muArduino IDE yako, tevera iyi inotevera mirairo:
- Mune yako Arduino IDE, enda ku File> Zvaunoda
- Pinda zvinotevera mu "Additional Board Manager URLs” munda:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Wobva wadzvanya bhatani rekuti "OK":Cherechedza: kana iwe uchitova neESP8266 mabhodhi URL, unogona kuparadzanisa URLs ine koma sezvinotevera:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Vhura Bhodhi Maneja. Enda kune Zvishandiso> Bhodhi> Mabhodhi Maneja…Tsvaga ESP32 and press install button for the “ESP32 by Espressif Systems“:
Ndizvo. Inofanira kuiswa mushure memasekonzi mashoma.
Isa Test Code
Batanidza ESP32 board pakombuta yako. NeArduino IDE yako yakavhurika, tevera matanho aya:
- Sarudza Bhodhi rako muZvishandiso> Bhodhi menyu (munyaya yangu ndiyo ESP32 DEV Module)
- Sarudza Port (kana iwe usingaone iyo COM Port muArduino IDE yako, unofanirwa kuisa iyo CP210x USB kuUART Bridge VCP Drivers):
- Vhura zvinotevera example under File > Eksampzvishoma > WiFi
(ESP32) > WiFiScan - Sketi nyowani inovhura muArduino IDE yako:
- Dzvanya bhatani reKurodha muArduino IDE. Mirira masekondi mashoma apo kodhi inounganidza uye kurodha kubhodhi rako.
- Kana zvese zvikafamba sezvaitarisirwa, unofanirwa kuona "Ndapedza kurodha." message.
- Vhura iyo Arduino IDE Serial Monitor pachiyero chebaud che115200:
- Dzvanya iyo ESP32 pabhodhi Bvumira bhatani uye iwe unofanirwa kuona network iripo padhuze neESP32 yako:
Kugadzirisa matambudziko
Kana ukaedza kurodha sketch nyowani kuESP32 yako uye ukawana iyi meseji yekukanganisa "Chikanganiso chinouraya chakaitika: Yatadza kubatana neESP32: Nguva yapera... Kubatanidza...". Zvinoreva kuti ESP32 yako haisi mukupenya/kurodha modhi.
Kuve nezita rebhodhi rakakodzera uye COM por yakasarudzwa, tevera matanho aya:
Bata-pasi bhatani re "BOOT" mubhodhi rako reESP32
- Dzvanya bhatani re "Kurodha" muArduino IDE kuti uise sketch yako:
- Mushure mekuona iyo "Kubatanidza ...." meseji muArduino IDE yako, sunungura chigunwe kubva pakabhatani re "BOOT":
- Mushure meizvozvo, iwe unofanirwa kuona iyo "Wapedza kurodha" meseji
Ndizvo. Yako ESP32 inofanirwa kunge iine sketch nyowani ichimhanya. Dzvanya bhatani re "ITA KUTI" kuti utangezve ESP32 uye womhanya sketch nyowani yakarodzwa.
Iwe zvakare uchafanirwa kudzokorora iyo bhatani kutevedzana pese paunoda kurodha sketch nyowani.
Project 1 ESP32 Inputs Outputs
Mune ino yekutanga gwara iwe uchadzidza kuverenga mapimendi edhijitari senge bhatani chinja uye kudzora kubuda kwedhijitari se LED uchishandisa ESP32 ine Arduino IDE.
Prerequisites
Ticharonga ESP32 tichishandisa Arduino IDE. Saka, ita shuwa kuti une ESP32 mabhodhi ekuwedzera akaiswa usati waenderera mberi:
- Kuisa ESP32 Yekuwedzera muArduino IDE
ESP32 Kudzora Digital Outputs
Kutanga, unoda kuseta iyo GPIO yaunoda kudzora se OUTPUT. Shandisa pinMode () basa sezvinotevera:
pinMode(GPIO, OUTPUT);
Kuti udzore kubuda kwedhijitari unongoda kushandisa digitalWrite() basa, rinogamuchira senharo, GPIO (int nhamba) yauri kureva, uye nyika, ingave HIGH kana LOW.
digitalWrite(GPIO, STATE);
Ese maGPIO anogona kushandiswa sezvinobuda kunze kweGPIOs 6 kusvika 11 (yakabatana kune yakasanganiswa SPI flash) uye GPIOs 34, 35, 36 uye 39 (inopinza chete GPIOs);
Dzidza zvimwe nezve ESP32 GPIOs: ESP32 GPIO Reference Guide
ESP32 Read Digital Inputs
Kutanga, isa GPIO yaunoda kuverenga se INPUT, uchishandisa pinMode () basa sezvinotevera:
pinMode(GPIO, INPUT);
Kuti uverenge kupinza kwedhijitari, sebhatani, unoshandisa iyo digitalRead() basa, rinogamuchira senharo, iyo GPIO (int nhamba) yauri kureva.
digitalRead(GPIO);
Ese ESP32 GPIOs anogona kushandiswa semapupu, kunze kweGPIOs 6 kusvika 11 (yakabatana kune yakasanganiswa SPI flash).
Dzidza zvimwe nezve ESP32 GPIOs: ESP32 GPIO Reference Guide
Project Example
Kuti ndikuratidze mashandisiro ezvinopinza edhijitari uye zvinobuda mudhijitari, isu tichavaka iri nyore purojekiti example ine pushbutton uye LED. Isu tichaverenga mamiriro epushbutton uye kuvhenekera iyo LED zvinoenderana sezvakaratidzwa mumufananidzo unotevera.
Zvikamu Zvinodiwa
Heino rondedzero yezvikamu kwauri zvaunoda kuvaka dunhu:
- ESP32 DEVKIT V1
- 5 mm LED
- 220 Ohm kupikisa
- Pushbutton
- 10k Ohm resistor
- Breadboard
- Jumper waya
Schematic Diagram
Usati waenderera mberi, unofanirwa kuunganidza dunhu rine LED uye pushbutton.
Tichabatanidza iyo LED kuGPIO 5 uye pushbutton kuGPIO 4.Code
Vhura iyo kodhi Project_1_ESP32_Inputs_Outputs.ino mu arduino IDEIyo Code Inoshanda sei
Mumitsetse miviri inotevera, iwe unogadzira zvinosiyana zvekupa mapini:
Bhatani rakabatana neGPIO 4 uye LED yakabatana neGPIO 5. Paunenge uchishandisa Arduino IDE neESP32, 4 inoenderana neGPIO 4 uye 5 inoenderana neGPIO 5.
Tevere, iwe unogadzira shanduko yekubata iyo bhatani mamiriro. Nekusagadzikana, ndeye 0 (isina kudzvanywa).
int buttonState = 0;
Mukugadzirisa (), unotanga bhatani seINPUT, uye LED se OUTPUT.
Kune izvo, iwe unoshandisa pinMode () basa rinogamuchira pini yauri kureva, uye modhi: INPUT kana OUTPUT.
pinMode(bhataniPini, INPUT);
pinMode(ledPin, OUTPUT);
Mu loop () ndipo paunoverenga bhatani mamiriro uye woisa iyo LED zvinoenderana.
Mumutsara unotevera, iwe unoverenga iyo bhatani mamiriro uye chengeta iyo bhataniState shanduko.
Sezvatakamboona, unoshandisa iyo digitalRead() basa.
buttonState = digitalRead(bhataniPin);
Chinotevera kana chirevo, chinotarisa kana bhatani mamiriro ari HIGH. Kana zvirizvo, inoshandura LED pakushandisa digitalWrite() basa rinogamuchira senharo ledPin, uye nyika HIGH.
kana (buttonState == HIGH)Kana iyo bhatani mamiriro asiri HIGH, iwe unomisa iyo LED. Ingoisa LOW senharo yechipiri kune iyo digitalWrite () basa.
Kuisa Kodhi
Usati wadzvanya bhatani rekuisa, enda kuZvishandiso> Bhodhi, uye sarudza bhodhi :DOIT ESP32 DEVKIT V1 bhodhi.
Enda kuZvishandiso> Port uye sarudza iyo COM port iyo ESP32 yakabatana nayo. Wobva wadzvanya bhatani rekuisa uye mirira iyo "Ndapedza kurodha" meseji.Ongorora: Kana iwe ukaona akawanda madotsi (akabatana…__…__) pahwindo rekugadzirisa uye iyo "Yatadza kubatana neESP32: Yapera nguva yakamirira musoro wepacket", zvinoreva kuti unofanirwa kudzvanya bhatani reESP32 pabhodhi BOOT mushure memadotsi.
tanga kuoneka.Troubleshooting
Kuratidzira
Mushure mekuisa kodhi, edza dunhu rako. LED yako inofanira kuvhenekera paunodzvanya bhatani:Uye dzima kana waisunungura:
Project 2 ESP32 Analog Inputs
Iyi purojekiti inoratidza maverengero eanalog neESP32 uchishandisa Arduino IDE.
Analog kuverenga kunobatsira kuverenga kukosha kubva kune akasiyana resistors senge potentiometers, kana analog sensors.
Analog Inputs (ADC)
Kuverenga kukosha kweanalogi neESP32 zvinoreva kuti unogona kuyera kusiyanisa voltage mazinga ari pakati pe0 V uye 3.3 V.
Iyo voltage akapimwa anobva apihwa kukosha kuri pakati pa 0 na 4095, umo 0 V anoenderana na 0, uye 3.3 V anoenderana na 4095. Chero voltage pakati pe 0 V uye 3.3 V ichapihwa kukosha kunowirirana pakati.ADC is Non-linear
Zvakanaka, iwe ungatarisira mutsara maitiro kana uchishandisa ESP32 ADC pini.
Zvisinei, izvozvo hazviitiki. Zvauchawana maitiro sezvinoratidzwa mune inotevera chati:Maitiro aya anoreva kuti ESP32 yako haikwanise kusiyanisa 3.3 V kubva ku3.2 V.
Iwe uchawana kukosha kwakafanana kune ese ari maviri voltagnhamba: 4095.
Zvimwe chetezvo zvinoitika kune yakaderera voltage values: ye0 V uye 0.1 V uchawana kukosha kwakafanana: 0. Unofanira kuchengeta izvi mupfungwa paunenge uchishandisa ESP32 ADC pini.
analogRead() Basa
Kuverenga analog yekupinda neESP32 uchishandisa Arduino IDE iri nyore sekushandisa analogRead() basa. Inobvuma senharo, iyo GPIO yaunoda kuverenga:
analogRead(GPIO);
Makumi neshanu chete anowanikwa muDEVKIT V15board (vhezheni ine makumi matatu GPIOs).
Bata yako ESP32 board pinout uye tsvaga iyo ADC pini. Izvi zvinoratidzwa nemuganhu mutsvuku mumufananidzo uri pasi apa.Aya mapini ekupinza analogi ane 12-bit resolution. Izvi zvinoreva kuti kana iwe uchiverenga analog yekupinda, huwandu hwayo hunogona kusiyana kubva pa0 kusvika 4095.
Cherechedza: ADC2 mapini haagone kushandiswa kana Wi-Fi yashandiswa. Saka, kana uri kushandisa Wi-Fi uye uchinetseka kuwana kukosha kubva kuADC2 GPIO, unogona kufunga kushandisa ADC1 GPIO pachinzvimbo, iyo inofanirwa kugadzirisa dambudziko rako.
Kuti tione kuti zvese zvinobatana sei, tichaita ex yakapfavaample kuverenga kukosha kweanalogi kubva kune potentiometer.
Zvikamu Zvinodiwa
Zve exampuye, iwe unoda zvinotevera zvikamu:
- ESP32 DEVKIT V1 Bhodhi
- Potentiometer
- Breadboard
- Jumper waya
Zvirongwa
Waya potentiometer kune yako ESP32. Iyo pini yepakati ye potentiometer inofanira kubatanidzwa kuGPIO 4. Unogona kushandisa dhiyabhorosi inotevera sechiratidzo.Code
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi:(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa ESP32 Yekuwedzera muArduino IDE
Vhura iyo kodhi Project_2_ESP32_Inputs_Outputs.ino mu arduino IDEIyi kodhi inongoverenga kukosha kubva kune potentiometer uye inodhinda iwo maitiro muSeri Monitor.
Mune kodhi, unotanga nekutsanangura iyo GPIO iyo potentiometer yakabatana nayo. Mune exampuye, GPIO 4.Mukugadzirisa (), tanga serial kutaurirana pamwero webaud we115200.
Mune loop (), shandisa analogRead() basa kuti uverenge analog yekupinda kubva kupotPin.
Pakupedzisira, dhinda maitiro akaverengwa kubva kune potentiometer mune serial monitor.
Isa kodhi yakapihwa kune yako ESP32. Ita shuwa kuti une bhodhi rakakodzera uye COM port yakasarudzwa muZvishandiso menyu.
Kuedza Example
Mushure mekuisa kodhi uye kudzvanya ESP32 reset bhatani, vhura iyo Serial Monitor pane baud mwero we115200. Tenderedza potentiometer uye ona maitiro achichinja.Iko kukosha kwepamusoro kwauchawana ndeye 4095 uye iyo shoma kukosha ndeye 0.
Kupedzisa
Muchikamu chino wadzidza kuverenga mapipu eanalog uchishandisa ESP32 neArduino IDE. Muchidimbu:
- ESP32 DEVKIT V1 DOIT board (vhezheni ine mapini makumi matatu) ine mapini gumi nemashanu eADC aunogona kushandisa kuverenga mapini eanalogi.
- Mapini aya ane resolution yegumi nembiri bhiti, zvinoreva kuti unogona kuwana kukosha kubva pa12 kusvika 0.
- Kuti uverenge kukosha muArduino IDE, unongoshandisa analogRead() basa.
- Iwo ESP32 ADC mapini haana mutsara maitiro. Pamwe hauzokwanisa kusiyanisa pakati pe0 ne0.1V, kana pakati pe3.2 ne3.3V. Iwe unofanirwa kuchengeta izvo mupfungwa kana uchishandisa iyo ADC pini.
Project 3 ESP32 PWM (Analog Output)
Muchidzidzo ichi tinokuratidza maitiro ekugadzira masaini ePWM neESP32 uchishandisa Arduino IDE. Sezvo exampuye isu tichavaka dunhu rakareruka rinodzima LED tichishandisa iyo LED PWM controller yeESP32.ESP32 LED PWM Controller
Iyo ESP32 ine LED PWM controller ine gumi nematanhatu nzira dzakazvimiririra dzinogona kugadzirwa kuti dzigadzire masaini ePWM ane zvimiro zvakasiyana.
Heano nhanho dzauchazotevera kudzima LED nePWM uchishandisa iyo Arduino IDE:
- Kutanga, iwe unofanirwa kusarudza PWM chiteshi. Kune 16 chiteshi kubva 0 kusvika 15.
- Zvadaro, unofanirwa kuseta iyo PWM chiratidzo frequency. Kune LED, frequency ye5000 Hz yakanaka kushandisa.
- Iwe zvakare unofanirwa kuseta chiratidzo chebasa kutenderera kugadziriswa: une zvigadziriso kubva pa1 kusvika ku16 bits. Tichashandisa 8-bit resolution, zvinoreva kuti unogona kudzora kupenya kweLED uchishandisa kukosha kubva pa0 kusvika 255.
- Tevere, iwe unofanirwa kutsanangura kune iyo GPIO kana GPIOs iyo chiratidzo ichaonekwa pairi. Nekuda kweizvozvo iwe unoshandisa inotevera basa:
ledcAttachPin(GPIO, chiteshi)
Basa iri rinogamuchira nharo mbiri. Yekutanga ndiyo GPIO inoburitsa chiratidzo, uye yechipiri ndiyo chiteshi chinoburitsa chiratidzo. - Chekupedzisira, kudzora kupenya kwe LED uchishandisa PWM, unoshandisa rinotevera basa:
ledcWrite(channel, dutycycle)
Iri basa rinogamuchira senharo chiteshi chiri kugadzira iyo PWM chiratidzo, uye yebasa kutenderera.
Zvikamu Zvinodiwa
Kuti utevedze chidzidzo ichi unoda zvikamu izvi:
- ESP32 DEVKIT V1 Bhodhi
- 5mm LED
- 220 Ohm kupikisa
- Breadboard
- Jumper waya
Zvirongwa
Waya ye LED kune yako ESP32 sezviri mune inotevera schematic diagiramu. Iyo LED inofanirwa kubatana neGPIO 4.Cherechedza: iwe unogona kushandisa chero pini yaunoda, chero bedzi ichigona kuita sekubuda. Mapini ese anogona kuita sezvinobuda anogona kushandiswa sePWM pini. Kuti uwane rumwe ruzivo nezve ESP32 GPIOs, verenga: ESP32 Pinout Reference: Ndeapi mapini eGPIO aunofanirwa kushandisa?
Code
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi:(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa ESP32 Yekuwedzera muArduino IDE
Vhura iyo kodhi Project_3_ESP32_PWM.ino mu arduino IDEIwe unotanga nekutsanangura pini iyo LED yakanamatira. Muchiitiko ichi LED inosungirirwa kuGPIO 4.
Zvadaro, iwe unoisa iyo PWM chiratidzo chezvivakwa. Iwe unotsanangura frequency ye5000 Hz, sarudza chiteshi 0 kugadzira chiratidzo, uye isa sarudzo ye8 bits. Iwe unogona kusarudza zvimwe zvivakwa, zvakasiyana pane izvi, kugadzira akasiyana PWM masaini.
Mukugadzirisa (), unofanirwa kugadzirisa LED PWM nemidziyo yawakatsanangura kare nekushandisa ledcSetup () basa rinogamuchira senharo, iyo ledChannel, frequency, uye kugadzirisa, sezvinotevera:
Tevere, iwe unofanirwa kusarudza iyo GPIO iwe yaunowana iyo chiratidzo kubva. Kune izvo shandisa iyo ledcAttachPin () basa rinogamuchira senharo iyo GPIO kwaunoda kuwana chiratidzo, uye chiteshi chiri kugadzira chiratidzo. Mune example, tichawana chiratidzo mu ledPin GPIO, iyo inoenderana neGPIO 4. Mugero unogadzira chiratidzo ndiyo ledChannel, inoenderana nechiteshi 0.
Mune loop, iwe unosiyanisa kutenderera kwebasa pakati pe0 ne255 kuti uwedzere kupenya kwe LED.
Uyezve, pakati pe255 ne0 kuderedza kupenya.
Kuti uise kupenya kwe LED, unongoda kushandisa ledcWrite () basa rinogamuchira senharo chiteshi chiri kugadzira chiratidzo, uye kutenderera kwebasa.
Sezvo isu tichishandisa 8-bit resolution, iyo duty cycle ichadzorwa uchishandisa kukosha kubva 0 kusvika 255. Ziva kuti mu ledcWrite () basa tinoshandisa chiteshi chiri kugadzira chiratidzo, uye kwete GPIO.
Kuedza Example
Isa kodhi kuESP32 yako. Ita shuwa kuti une bhodhi rakakodzera uye COM port yakasarudzwa. Tarisa dunhu rako. Iwe unofanirwa kunge uine dimmer LED iyo inowedzera uye inoderedza kupenya.
Project 4 ESP32 PIR Motion Sensor
Iyi purojekiti inoratidza maitiro ekuona kufamba neESP32 uchishandisa PIR motion sensor.Iyo buzzer icharidza alarm kana kufamba kwaonekwa, uye kumisa alarm kana pasina kufamba kunowanikwa kwenguva yakatarwa (yakadai se4 seconds)
Iyo HC-SR501 Motion Sensor Inoshanda
.Nheyo yekushanda yeHC-SR501 sensor yakavakirwa pakuchinja kweiyo infrared radiation pane chinhu chinofamba.Kuti ionekwe neHC-SR501 sensor, chinhu chinofanira kuita zviviri zvinodiwa:
- Chinhu chiri kubudisa iyo infrared nzira.
- Chinhu chiri kufamba kana kudedera
Saka:
Kana chinhu chiri kuburitsa mwaranzi ye infrared asi Kwete T ichifamba (semuenzaniso, munhu anomira akamira asingafambi), HAIWANIKE ne sensor.
Kana chinhu chiri kufamba asi Kwete kubudisa iyo infrared ray (semuenzaniso, robhoti kana mota), HAZVINOGONESWE nesensor.
Kusuma Nguva
Mune exampuye isu tichazivisawo nguva. Tinoda kuti LED irambe yakabatika kwenhamba yakafanotemerwa yemasekonzi mushure mekufamba kwaonekwa. Panzvimbo pekushandisa kunonoka () basa rinovharira kodhi yako uye isingakubvumidze kuita chero chimwe chinhu kune yakatemerwa nhamba yemasekonzi, isu tinofanirwa kushandisa timer.Iko kunonoka () basa
Iwe unofanirwa kujairana nekunonoka () basa sezvo richishandiswa zvakanyanya. Ichi chishandiso chiri nyore kushandisa. Inobvuma inhamba imwe chete senharo.
Iyi nhamba inomiririra nguva mumamilliseconds chirongwa chinofanira kumirira kusvika pakufamba kuenda kumutsara unotevera wekodhi.Paunononoka (1000) chirongwa chako chinomira pamutsetse iwoyo kwesekondi imwe.
delay() ibasa rekuvhara. Kuvhara mabasa kunodzivirira chirongwa kuita chero chimwe chinhu kusvika iro basa rapera. Kana iwe uchida akawanda mabasa kuti aitike panguva imwe chete, haugone kushandisa kunonoka ().
Kune akawanda mapurojekiti iwe unofanirwa kudzivirira kushandisa kunonoka uye kushandisa nguva pachinzvimbo.
Iyo millis () basa
Uchishandisa basa rinodaidzwa kuti millis() unogona kudzosa nhamba yemamilliseconds apfuura kubva chirongwa chakatanga.Nei basa iroro richibatsira? Nekuti nekushandisa dzimwe masvomhu, unogona kuona zviri nyore kuti inguva yakadii yapfuura usina kuvhara kodhi yako.
Zvikamu Zvinodiwa
Kuti uteedzere chidzidzo ichi unoda zvikamu zvinotevera
- ESP32 DEVKIT V1 Bhodhi
- PIR motion sensor (HC-SR501)
- Anoshanda Buzzer
- Jumper waya
- Breadboard
ZvirongwaCherechedza: Bhuku rekushandatage yeHC-SR501 iri 5V. Shandisa Vin pini kuti uigone.
Code
Usati waenderera nedzidziso iyi unofanirwa kuve neESP32 yekuwedzera yakaiswa muArduino IDE yako. Tevera chimwe chezvidzidzo zvinotevera kuisa ESP32 paArduino IDE, kana usati watoita.(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa ESP32 Yekuwedzera muArduino IDE
Vhura iyo kodhi Project_4_ESP32_PIR_Motion_Sensor.ino mu arduino IDE.
Kuratidzira
Isa iyo kodhi kune yako ESP32 board. Ita shuwa kuti une bhodhi rakakodzera uye COM port yakasarudzwa.Isa kodhi nhanho dzekutarisa.
Vhura iyo Serial Monitor pachiyero chebaud che115200.Fambisa ruoko rwako pamberi pePIR sensor. Buzzer inofanira kubatika, uye meseji inodhindwa muSerial Monitor ichinzi "Motion yaonekwa! Buzzer alarm".
Mushure memasekonzi mana buzzer inofanira kudzima.
Project 5 ESP32 Switch Web Server
Muchirongwa ichi iwe uchagadzira yakamira web server ine ESP32 inodzora zvinobuda (ma LED maviri) uchishandisa Arduino IDE programming environment. The web server inopindura nhare uye inogona kuwanikwa nechero mudziyo uyo sebrowser pane network yemuno. Isu tinokuratidza maitiro ekugadzira iyo web server uye kuti kodhi inoshanda sei nhanho-ne-nhanho.
Project Kupfuuraview
Usati waenda zvakananga kupurojekiti, zvakakosha kutsanangura izvo zvedu web server ichaita, kuitira kuti zvive nyore kutevera matanho gare gare.
- The web sevha iwe uchavaka kudzora ma LED maviri akabatana neESP32 GPIO 26 uye GPIO 27;
- Unogona kuwana ESP32 web server nekunyora iyo ESP32 IP kero pane browser mune yemuno network;
- Nekudzvanya mabhatani ari pauri web server unogona kushandura ipapo ipapo mamiriro eimwe neimwe LED.
Zvikamu Zvinodiwa
Pachidzidzo ichi iwe uchada zvinotevera zvikamu:
- ESP32 DEVKIT V1 Bhodhi
- 2x5mm LED
- 2x 200 Ohm resistor
- Breadboard
- Jumper waya
Zvirongwa
Tanga nekuvaka dunhu. Batanidza maLED maviri kuESP32 sezvakaratidzwa mune inotevera dhizaini - imwe LED yakabatana neGPIO 26, uye imwe kuGPIO 27.
Cherechedza: Tiri kushandisa ESP32 DEVKIT DOIT board ine 36 pini. Usati waunganidza dunhu, ita shuwa kuti watarisa pinout yebhodhi rauri kushandisa.Code
Pano tinopa iyo kodhi inogadzira iyo ESP32 web server. Vhura iyo kodhi Project_5_ESP32_Switch _Web_Server.ino mu arduino IDE, asi usazoiisa. Iwe unofanirwa kuita shanduko kuti zvikushandire iwe.
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi:(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa ESP32 Yekuwedzera muArduino IDE
Kuisa Yako Network Credentials
Iwe unofanirwa kugadzirisa mitsara inotevera netiweki yako zvitupa: SSID uye password. Iyo kodhi inotsanangurwa zvakanaka pane kwaunofanira kuita shanduko.Kuisa Kodhi
Iye zvino, unogona kurodha kodhi uye uye web server ichashanda ipapo ipapo.
Tevedza nhanho dzinotevera kurodha kodhi kuESP32:
- Batanidza yako ESP32 bhodhi mukombuta yako;
- MuArduino IDE sarudza bhodhi rako muZvishandiso> Bhodhi (munyaya yedu isu tiri kushandisa ESP32 DEVKIT DOIT bhodhi);
- Sarudza iyo COM port muZvishandiso> Port.
- Dzvanya bhatani Rokurodha muArduino IDE uye mirira masekondi mashoma apo kodhi inounganidza uye kurodha kubhodhi rako.
- Mirira iyo meseji "Ndapedza kurodha".
Kutsvaga ESP IP Kero
Mushure mekuisa iyo kodhi, vhura iyo Serial Monitor pachiyero chebaud che115200.Dzvanya bhatani reESP32 EN (reset). Iyo ESP32 inobatana neWi-Fi, uye inoburitsa ESP IP kero paSerial Monitor. Kopa iyo IP kero, nekuti unoida kuti uwane iyo ESP32 web server.
Accessing the Web Server
Kuti uwane iyo web server, vhura bhurawuza rako, isa ESP32 IP kero, uye uchaona peji rinotevera.
Cherechedza: Browser yako neESP32 zvinofanirwa kubatana kune imwecheteyo LAN.Kana iwe ukatarisa iyo Serial Monitor, unogona kuona zviri kuitika kumashure. Iyo ESP inogamuchira chikumbiro cheHTTP kubva kumutengi mutsva (munyaya iyi, browser yako).
Iwe unogona zvakare kuona rumwe ruzivo nezve HTTP chikumbiro.
Kuratidzira
Iye zvino unogona kuyedza kana yako web server iri kushanda nemazvo. Dzvanya mabhatani kudzora maLED.Panguva imwecheteyo, iwe unogona kutarisa iyo Serial Monitor kuti uone zviri kuitika kumashure. For example, paunodzvanya bhatani kuti uvhure GPIO 26, ESP32 inogamuchira chikumbiro pa /26/on. URL.
Kana ESP32 ikagamuchira chikumbiro ichocho, inoshandura LED yakanamatira kuGPIO 26 ON uye inovandudza mamiriro ayo pa web peji.
Bhatani reGPIO 27 rinoshanda nenzira yakafanana. Ongorora kuti iri kushanda nemazvo.
Iyo Code Inoshanda sei
Muchikamu chino tichanyatsotarisisa kodhi yacho kuti ione kuti inoshanda sei.
Chinhu chekutanga chaunofanirwa kuita kuisa raibhurari yeWiFi.Sezvambotaurwa, iwe unofanirwa kuisa yako ssid nepassword mumitsetse inotevera mukati meaviri makotesheni.
Wobva waisa yako web server kuchiteshi 80.
Mutsetse unotevera unogadzira shanduko yekuchengetedza musoro wechikumbiro cheHTTP:
Tevere, iwe unogadzira anobatsira akasiyana kuti uchengetedze mamiriro azvino ezvawaburitsa. Kana iwe uchida kuwedzera zvimwe zvinobuda uye chengetedza mamiriro ayo, iwe unofanirwa kugadzira zvimwe zvakasiyana.
Iwe zvakare unofanirwa kugovera GPIO kune chimwe nechimwe chezvako zvabuda. Pano tiri kushandisa GPIO 26 uye GPIO 27. Unogona kushandisa chero mamwe maGPIO akakodzera.
gadzirira()
Zvino, ngatipindei museti (). Kutanga, isu tinotanga serial kutaurirana pamwero webaud we115200 nekuda kwekugadzirisa.Iwe zvakare unotsanangura maGPIO ako se OUTPUTs uye woamisa kune LOW.
Mitsetse inotevera inotanga kubatana kweWi-Fi neWiFi.tanga(ssid, password), mirira kubatana kwakabudirira uye dhinda kero yeESP IP muSerial Monitor.
loop ()
Mune loop () isu tinoronga zvinoitika kana mutengi mutsva akagadzira chinongedzo ne web server.
Iyo ESP32 inogara ichiteerera kune vatengi vari kuuya neinotevera mutsara:Kana chikumbiro chagamuchirwa kubva kumutengi, tinochengeta data rinouya. Iyo nguva loop inotevera ichave ichishanda chero mutengi achiramba akabatana. Isu hatikurudzire kushandura chikamu chinotevera chekodhi kunze kwekunge iwe uchiziva chaizvo zvauri kuita.
Chikamu chinotevera chekuti if uye zvimwe zvirevo zvinotarisa kuti nderipi bhatani rakadzvanywa mune yako web peji, uye inodzora zvinobuda zvinoenderana. Sezvatakamboona, tinoita chikumbiro pane zvakasiyana URLs zvichienderana nebhatani rakadzvanywa.
For exampuye, kana wadzvanya GPIO 26 ON bhatani, ESP32 inogamuchira chikumbiro pa /26/ON. URL (tinogona kuona kuti iyo ruzivo pane iyo HTTP musoro pane iyo Serial Monitor). Saka, isu tinokwanisa kutarisa kana musoro uine chirevo GET /26/on. Kana iine, isu tinoshandura inobuda26state inoshanduka kuita ON, uye ESP32 inobatidza LED.
Izvi zvinoshanda zvakafanana kune mamwe mabhatani. Saka, kana iwe uchida kuwedzera zvimwe zvinobuda, unofanirwa kushandura chikamu ichi chekodhi kuti uzvisanganise.
Kuratidza HTML web peji
Chinhu chinotevera chaunofanirwa kuita, kugadzira iyo web peji. Iyo ESP32 ichange ichitumira mhinduro kubrowser yako neimwe HTML kodhi yekuvaka iyo web peji.
The web peji inotumirwa kumutengi uchishandisa iyi inoratidzira client.println(). Iwe unofanirwa kuisa izvo zvaunoda kutumira kune mutengi senharo.
Chinhu chekutanga chatinofanira kutumira chinogara chiri mutsara unotevera, izvo zvinoratidza kuti tiri kutumira HTML.Zvadaro, mutsara unotevera unogadzira web peji inopindura mune chero web browser.
Uye zvinotevera zvinoshandiswa kudzivirira zvikumbiro pane favicon. - Haufanire kunetseka nezve mutsara uyu.
Styling the Web Page
Tevere, isu tine mamwe mavara eCSS ekugadzira mabhatani uye web kutaridzika kwepeji.
Isu tinosarudza iyo Helvetica font, tsanangura zvirimo zvicharatidzwa sechivharo uye zvakaenderana pakati.Isu tinotaira mabhatani edu ne #4CAF50 ruvara, isina muganho, mavara mune chena ruvara, uye neiyi padding: 16px 40px. Isu tinoisawo iwo mavara-kushongedza kune chero, tsanangura saizi yefonti, muganho, uye chitubu kune chinongedzo.
Isu tinotsanangurawo chimiro chechipiri bhatani, ine zvese zvimiro zvebhatani zvatakatsanangura kare, asi zvine rumwe ruvara. Ichi chichava chimiro chebhatani rekudzima.
Setting the Web Peji Yekutanga Musoro
Mumutsara unotevera unogona kuseta yekutanga musoro wako web peji. Pano tine "ESP32 Web Server”, asi unogona kushandura chinyorwa ichi kuita chero chaunoda.Kuratidza Mabhatani uye Nyika Inoenderana
Wobva wanyora ndima kuratidza iyo GPIO 26 yazvino mamiriro. Sezvauri kuona isu tinoshandisa yakabuda26State kusiyanisa, kuitira kuti iyo nyika inogadziridza ipapo ipapo kana shanduko iyi yachinja.Zvadaro, tinoratidza bhatani rekuti kana kudzima, zvichienderana nemamiriro ezvinhu eGPIO. Kana iyo ikozvino mamiriro eGPIO yakadzimwa, tinoratidza bhatani ON, kana zvisiri, tinoratidza bhatani OFF.
Isu tinoshandisa maitiro akafanana eGPIO 27.
Kuvhara Connection
Pakupedzisira, kana mhinduro yapera, tinobvisa mutsara wemusoro, uye kumisa kuwirirana nemutengi neclient.stop().
Kupedzisa
Muchidzidzo ichi takakuratidza nzira yekugadzira a web server neESP32. Takuratidza ex simple example iyo inodzora maLED maviri, asi zano ndere kutsiva iwo maLED nerelay, kana chero chimwe chinobuda chaunoda kudzora.
Project 6 RGB LED Web Server
Muchirongwa ichi tinokuratidza maitiro ekudzora kure kure RGB LED ine ESP32 bhodhi uchishandisa a web server ine chinhonga chemavara.
Project Kupfuuraview
Tisati tatanga, ngationei kuti chirongwa ichi chinoshanda sei:
- Iye ESP32 web server inoratidza chinhonga chemavara.
- Paunosarudza ruvara, browser yako inoita chikumbiro pa URL iyo ine R, G, uye B paramita yeruvara rwakasarudzwa.
- Yako ESP32 inogamuchira chikumbiro uye inotsemura kukosha kwechero ruvara parameter.
- Zvadaro, inotumira chiratidzo chePWM ine kukosha kunowirirana kune maGPIO ari kudzora iyo RGB LED.
MaRGB ma LED anoshanda sei?
Mune cathode yakajairika RGB LED, ese matatu ma LED anogovera kusabatana kwakashata (cathode) .Zvose zvinosanganisirwa mukiti zvinojairika-cathode RGB.Nzira yekugadzira mavara akasiyana?
NeRGB LED iwe unogona, hongu, kuburitsa tsvuku, girini, uye bhuruu mwenje, uye nekugadzirisa kusimba kweiyo yega LED, unogona kuburitsa mamwe mavara zvakare.
For example, kuti ibudise mwenje webhuruu chete, unogona kuseta iyo yebhuruu LED kune yakanyanya kusimba uye iyo girinhi uye tsvuku maLED kune yakaderera zvakanyanya. Kune mwenje chena, unogona kuseta ese matatu maLED kune yakanyanya kusimba.
Kusanganisa mavara
Kuti ubudise mamwe mavara, unogona kusanganisa mavara matatu mumhando dzakasiyana. Kugadzirisa kusimba kwe LED yega yega unogona kushandisa chiratidzo chePWM.
Nokuti ma LED ari pedyo zvikuru kune mumwe nemumwe, maziso edu anoona mugumisiro wekubatanidzwa kwemavara, pane mavara matatu ega.
Kuti uve nemafungiro ekubatanidza mavara, tarisa pane chati inotevera.
Iyi ndiyo yakapfava yekusanganisa mavara chati, asi inokupa iwe zano rekuti inoshanda sei uye maitiro ekugadzira akasiyana mavara.Zvikamu Zvinodiwa
Kune iyi purojekiti iwe unoda zvinotevera zvikamu:
- ESP32 DEVKIT V1 Bhodhi
- RGB LED
- 3x 220 ohm resistors
- Jumper waya
- Breadboard
ZvirongwaCode
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi:(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
- Kuisa ESP32 Yekuwedzera muArduino IDE
Mushure mekuunganidza dunhu, Vhura iyo kodhi
Project_6_RGB_LED_Web_Server.ino mune arduino IDE.
Usati waisa kodhi, usakanganwe kuisa magwaro etiweki yako kuitira kuti ESP ikwanise kubatana kunetiweki yako yemuno.Iyo kodhi inoshanda sei
Iyo ESP32 sketch inoshandisa iyo WiFi.h raibhurari.Mitsetse inotevera inotsanangura tambo dzakasiyana kubata iyo R, G, uye B paramita kubva pakukumbira.
Iwo mana anotevera akasiyana-siyana anoshandiswa kugadzirisa chikumbiro cheHTTP gare gare.
Gadzira matatu akasiyana eiyo GPIOs anozotonga tambo R, G, uye B paramita. Muchiitiko ichi tiri kushandisa GPIO 13, GPIO 12, uye GPIO 14.
Aya maGPIO anoda kuburitsa masaini ePWM, saka isu tinofanirwa kugadzirisa zvivakwa zvePWM kutanga. Isa iyo PWM chiratidzo frequency kusvika ku5000 Hz. Wobva wabatanidza chiteshi chePWM chemavara ega ega
Uye pakupedzisira, isa kugadzirisa kwePWM chiteshi kune 8-bit
Mukugadzirisa (), ipai PWM zvivakwa kune PWM chiteshi
Batanidza nzira dzePWM kune dzinoenderana maGPIO
Chikamu chekodhi chinotevera chinoratidza chinhonga chemavara mune yako web peji uye unokumbira zvinoenderana neruvara rwawasarudza.
Paunosarudza ruvara, unogamuchira chikumbiro chine fomu inotevera.
Saka, isu tinofanirwa kupatsanura tambo iyi kuti titore iyo R, G, uye B paramita. Iwo ma paramita anochengetedzwa mu redString, greenString, uye blueString zvinosiyana uye zvinogona kuva nehunhu huri pakati pe0 ne255.Kudzora tambo neESP32, shandisa iyo ledcWrite () basa kugadzira masaini ePWM ane kukosha kwakatemwa kubva kuHTTP. chikumbiro.
Cherechedza: dzidza zvakawanda nezve PWM ine ESP32: Project 3 ESP32 PWM(Analog Output)
Kudzora tambo neESP8266, isu tinongoda kushandisa
iyo analogWrite () basa rekugadzira masaini ePWM ane makoshero akadzikwa kubva kuchikumbiro cheHTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogiWrite(bluePin, blueString.toInt())
Nekuti isu tinowana kukosha mumutsara wetambo, isu tinofanirwa kuashandura kuti ave manhamba tichishandisa toInt () nzira.
Kuratidzira
Mushure mekuisa zviyeuchidzo zvetiweki yako, sarudza bhodhi yakarurama uye COM port uye uise code kuESP32 yako.
Mushure mekurodha, vhura iyo Serial Monitor pachiyero chebaud che115200 uye tinya ESP Gonesa/Reset bhatani. Iwe unofanirwa kuwana iyo bhodhi IP kero.Vhura browser yako woisa ESP IP kero. Zvino, shandisa chinhonga chemavara kusarudza ruvara rweRGB LED.
Zvadaro, unofanirwa kudzvanya bhatani re "Change Ruvara" kuti ruvara ruite.Kudzima iyo RGB LED, sarudza iyo nhema ruvara.
Iwo mavara akasimba (pamusoro pemupikiri wemavara), ndiwo anozoburitsa mhedzisiro iri nani.
Project 7 ESP32 Relay Web Server
Kushandisa relay neESP32 inzira huru yekudzora midziyo yemumba yeAC uri kure. Ichi chidzidzo chinotsanangura maitiro ekudzora relay module neESP32.
Isu tichatarisa kuti relay module inoshanda sei, nzira yekubatanidza iyo relay kuESP32 uye kuvaka web server kudzora relay kure.
Kusuma Relays
A relay is switch yemagetsi uye senge chero imwe switch, iyo inogona kubatidzwa kana kuvharwa, ichirega yazvino ichipfuura kana kwete. Inogona kudzorwa nelow voltages, senge 3.3V yakapihwa neESP32 GPIOs uye inotitendera kudzora yakakwira voltagsenge 12V, 24V kana mains voltage (230V muEurope uye 120V muUS).Kudivi rekuruboshwe, kune maviri seti ezvigadziko zvitatu zvekubatanidza high voltages, nemapini ari kurudyi (low-voltage) batanidza kune ESP32 GPIOs.
Mains Voltage KubatanaIyo relay module inoratidzwa mumufananidzo wapfuura ine maviri ekubatanidza, imwe neimwe iine zvigadziko zvitatu: zvakajairika (COM), Kazhinji Yakavharwa (NC), uye Kazhinji Open (NO).
- COM: batanidza ikozvino iwe yaunoda kudzora (main voltaguye).
- NC (Kazhinji Yakavharwa): iyo inowanzovharwa gadziriso inoshandiswa kana iwe uchida kuti relay ivharwe nekukasira. Iyo NC ma COM pini akabatana, zvichireva kuti ikozvino iri kuyerera kunze kwekunge iwe watumira chiratidzo kubva kuESP32 kune relay module kuti uvhure dunhu uye kumisa kuyerera kwazvino.
- HAPANA (Kazhinji Kuvhurika): iyo inowanzovhurwa gadziriso inoshanda neimwe nzira yakapoteredza: hapana kubatana pakati peNO uye COM pini, saka dunhu rakaputsika kunze kwekunge iwe watumira chiratidzo kubva kuESP32 kuvhara dunhu.
Kudzora PiniThe low-voltage side rine seti yepini ina uye seti yemapini matatu. Yekutanga seti ine VCC neGND yekusimbisa module, uye yekuisa 1 (IN1) uye yekuisa 2 (IN2) kudzora pasi nepamusoro relay, zvichiteerana.
Kana yako relay module iine chiteshi chimwe chete, unenge uine imwe chete IN pini. Kana iwe uine chiteshi ina, iwe unenge uine ina IN mapini, zvichingodaro.
Chiratidzo chaunotumira kune IN pini, chinotarisa kuti relay iri kushanda here kana kuti kwete. Iyo relay inokonzereswa kana iyo yekuisa ichienda pazasi nezve 2V. Izvi zvinoreva kuti iwe uchave neanotevera scenarios:
- Kazhinji Yakavharwa Configuration (NC):
- HIGH chiratidzo - ikozvino iri kuyerera
- LOW chiratidzo - ikozvino haisi kuyerera
- Kazhinji Vhura gadziriso (NO):
- HIGH chiratidzo - ikozvino haisi kuyerera
- LOW chiratidzo - ikozvino mukuyerera
Iwe unofanirwa kushandisa yakavharwa gadziriso apo yazvino inofanirwa kuyerera kazhinji yenguva, uye iwe unongoda kuimisa apo neapo.
Shandisa inowanzoitika yakavhurika gadziriso kana iwe uchida kuti yazvino ifambe apo neapo (yeexample, batidza alamp nguva nenguva).
Power Supply SelectionYechipiri seti yemapini ine GND, VCC, uye JD-VCC pini.
Iyo JD-VCC pini inopa simba remagetsi relay. Cherechedza kuti module ine jumper cap inobatanidza VCC neJD-VCC pini; iri kuratidzwa pano ndeyero, asi rako rinogona kunge rakasiyana.
Nejumper cap, iyo VCC neJD-VCC mapini akabatana. Izvi zvinoreva kuti relay electromagnet inofambiswa zvakananga kubva kuESP32 simba pini, saka relay module uye ESP32 maseketi haana kuparadzaniswa panyama kubva kune mumwe nemumwe.
Pasina iyo jumper cap, iwe unofanirwa kupa yakazvimirira simba sosi yekusimudza iyo relay's electromagnet kuburikidza neJD-VCC pini. Iyo gadziriso inoparadzanisa relay kubva kuESP32 ine module yakavakirwa-mukati optocoupler, iyo inodzivirira kukuvadzwa kweESP32 kana paine magetsi spikes.
ZvirongwaYambiro: Kushandisa high voltagmagetsi emagetsi anogona kukonzera kukuvara kwakanyanya.
Naizvozvo, 5mm maLED anoshandiswa pachinzvimbo cheakakwira voltage bulbs muchiyedzo. Kana musingazive mains voltagndinokumbira mumwe munhu kuti akubatsire. Paunenge uchigadzira ESP kana wiring dunhu rako ita shuwa kuti zvese zvakabviswa kubva kuma mains voltage.Kuisa Raibhurari yeESP32
Kugadzira izvi web server, isu tinoshandisa iyo ESPAsyncWebServer raibhurari uye AsyncTCP Raibhurari.
Kuisa iyo ESPAsyncWebServer library
Tevera nhanho dzinotevera kuti uise iyo ESPAsyncWebServer raibhurari:
- Dzvanya apa kuti utore ESPAsyncWebServer library. Unofanira kuva nazvo
a .zip forodha mune yako Dhaunirodha folda - Unzip iyo .zip forodha uye unofanira kuwana ESPAsyncWebServer-master folder
- Rena zita rako folda kubva kuESPAsyncWebServer-master kune ESPAsyncWebServer
- Fambisa iyo ESPAsyncWebServer folda kune yako Arduino IDE yekuisa maraibhurari folda
Neimwe nzira, muArduino IDE yako, unogona kuenda ku Sketch> Batanidza
Raibhurari > Wedzera .ZIP raibhurari… uye sarudza raibhurari yauchangobva kudhaunirodha.
Kuisa iyo AsyncTCP Raibhurari yeESP32
The ESPAsyncWebServer raibhurari inoda iyo AsyncTCP raibhurari kushanda. Tevera
matanho anotevera ekuisa raibhurari iyoyo:
- Dzvanya apa kuti utore AsyncTCP raibhurari. Unofanira kuva ne .zip forodha mudhaunirodha yako
- Unzip iyo .zip forodha uye unofanira kuwana AsyncTCP-master forodha
1. Remedza folda yako kubva kuAsyncTCP-master kuenda kuAsyncTCP
3. Fambisa AsyncTCP forodha kune yako Arduino IDE yekuisa maraibhurari folda
4. Pakupedzisira, vhurazve Arduino IDE yako
Neimwe nzira, muArduino IDE yako, unogona kuenda ku Sketch> Batanidza
Raibhurari > Wedzera .ZIP raibhurari… uye sarudza raibhurari yauchangobva kudhaunirodha.
Code
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi:(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa ESP32 Yekuwedzera muArduino IDE
Mushure mekuisa maraibhurari anodiwa, Vhura iyo kodhi Project_7_ESP32_Relay_Web_Server.ino mune arduino IDE.
Usati waisa kodhi, usakanganwe kuisa magwaro etiweki yako kuitira kuti ESP ikwanise kubatana kunetiweki yako yemuno.Kuratidzira
Mushure mekuita shanduko dzinodiwa, isa kodhi kune yako ESP32.Upload kodhi referenzi matanho.
Vhura iyo Serial Monitor nechiyero chebaud che115200 wodzvanya bhatani reESP32 EN kuti uwane IP kero. Wobva wavhura bhurawuza mukati menetiweki yako uye nyora ESP32 IP kero kuti uwane mukana kune iyo web server.
Vhura iyo Serial Monitor nechiyero chebaud che115200 wodzvanya bhatani reESP32 EN kuti uwane IP kero. Wobva wavhura bhurawuza mukati menetiweki yako uye nyora ESP32 IP kero kuti uwane mukana kune iyo web server.Cherechedza: Browser yako neESP32 zvinofanirwa kubatana kune imwecheteyo LAN.
Iwe unofanirwa kuwana chimwe chinhu sechinotevera nemabhatani maviri senhamba yerelays yawakatsanangura mukodhi yako.Zvino, unogona kushandisa mabhatani kudzora relays ako uchishandisa smartphone yako.
Project_8_Output_State_Synchronization_ Web_Sevha
Iyi Project inoratidza maitiro ekudzora ESP32 kana ESP8266 zvabuda uchishandisa a web server uye bhatani remuviri panguva imwe chete. The output state inovandudzwa pa web peji kana yakashandurwa nebhatani remuviri kana web server.
Project Kupfuuraview
Ngatitarisei nekukurumidza kuti chirongwa chinoshanda sei.Iyo ESP32 kana ESP8266 inotambira a web server iyo inokutendera iwe kudzora mamiriro ekubuda;
- The current output state inoratidzwa pa web server;
- Iyo ESP inobatanidzwawo kune bhatani rekusundira remuviri rinotonga kuburitsa kwakafanana;
- Kana iwe ukashandura iyo inobuda mamiriro uchishandisa iyo yemuviri puhsbutton, mamiriro ayo aripo anogadziridzwa zvakare pane iyo web server.
Muchidimbu, chirongwa ichi chinokutendera kuti udzore izvo zvinobuda uchishandisa a web server uye push bhatani panguva imwe chete. Pese panobuda mamiriro achinja, iyo web server inovandudzwa.
Zvikamu Zvinodiwa
Heino rondedzero yezvikamu kwauri zvaunoda kuvaka dunhu:
- ESP32 DEVKIT V1 Bhodhi
- 5 mm LED
- 220Ohm resistor
- Pushbutton
- 10k Ohm resistor
- Breadboard
- Jumper waya
ZvirongwaKuisa Raibhurari yeESP32
Kugadzira izvi web server, isu tinoshandisa iyo ESPAsyncWebServer library neAsyncTCP Library.(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa iyo ESPAsyncWebServer library
Tevedza nhanho dzinotevera kuti uise iyo ESPAsyncWebServer library:
- Dzvanya apa kuti utore ESPAsyncWebServer library. Unofanira kuva nazvo
a .zip forodha mune yako Dhaunirodha folda - Unzip iyo .zip forodha uye unofanira kuwana ESPAsyncWebServer-master folder
- Rena zita rako folda kubva kuESPAsyncWebServer-master kune ESPAsyncWebServer
- Fambisa iyo ESPAsyncWebServer folda kune yako Arduino IDE yekuisa maraibhurari folda
Neimwe nzira, muArduino IDE yako, unogona kuenda ku Sketch> Batanidza
Raibhurari > Wedzera .ZIP raibhurari… uye sarudza raibhurari yauchangobva kudhaunirodha.
Kuisa iyo AsyncTCP Raibhurari yeESP32
Iyo ESPAsyncWebServer raibhurari inoda iyo AsyncTCP raibhurari kuti ishande. Tevedza nhanho dzinotevera kuti uise raibhurari iyoyo:
- Dzvanya apa kuti utore AsyncTCP raibhurari. Unofanira kuva ne .zip forodha mudhaunirodha yako
- Unzip iyo .zip forodha uye unofanira kuwana AsyncTCP-master forodha
- Rena zita rako folda kubva kuAsyncTCP-master kuenda kuAsyncTCP
- Fambisa iyo AsyncTCP folda kune yako Arduino IDE yekuisa maraibhurari folda
- Pakupedzisira, vhurazve yako Arduino IDE
Neimwe nzira, muArduino IDE yako, unogona kuenda ku Sketch> Batanidza
Raibhurari > Wedzera .ZIP raibhurari… uye sarudza raibhurari yauchangobva kudhaunirodha.
Code
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi:(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa ESP32 Yekuwedzera muArduino IDE
Mushure mekuisa maraibhurari anodiwa, Vhura iyo kodhi
Project_8_Output_State_Synchronization_Web_Server.ino mune arduino IDE.
Usati waisa kodhi, usakanganwe kuisa magwaro etiweki yako kuitira kuti ESP ikwanise kubatana kunetiweki yako yemuno.
Iyo Code Inoshanda sei
Button State uye Output State
Iyo ledState shanduko inobata iyo LED inobuda mamiriro. For default, kana iyo web server inotanga, iri LOW.
Iyo bhataniState uye yekupedzisiraButtonState inoshandiswa kuona kuti bhatani rakadzvanywa here kana kuti kwete.Bhatani (web server)
Hatina kuisa iyo HTML kugadzira bhatani pane iyo index_html chinja.
Imhaka yekuti isu tinoda kukwanisa kuichinja zvichienderana neyazvino LED mamiriro ayo anogona zvakare kuchinjwa nepushbutton.
Saka, tagadzira chinobatirira chebhatani %BUTTONPLACEHOLDER% chinozotsiviwa neHTML mavara kugadzira bhatani gare gare pane kodhi (izvi zvinoitwa mu processor() basa).processor ()
Iyo processor () basa inotsiva chero zvibatiso pane iyo HTML zvinyorwa zvine chaiwo kukosha. Kutanga, inotarisa kana zvinyorwa zveHTML zvine chero
zvibatiso %BUTTONPLACEHOLDER%.Wobva wafonera theoutputState () basa rinodzosa iyo yazvino kubuda mamiriro. Isu tinoichengetedza mune yakabudaStateValue chinja.
Mushure meizvozvo, shandisa iyo kukosha kugadzira iyo HTML mameseji kuratidza bhatani rine mamiriro chaiwo:
HTTP GET Chikumbiro cheKuchinja Output State (JavaScript)
Paunodzvanya bhatani, thetoggleCheckbox() basa rinodanwa. Iri basa richaita chikumbiro pane zvakasiyana URLs yekubatidza kana kudzima LED.Kuti ubatidze LED, inoita chikumbiro pa/update?state=1 URL:
Zvikasadaro, inoita chikumbiro pa/update?state=0 URL.
HTTP GET Chikumbiro cheKuvandudza Nyika (JavaScript)
Kuti uchengetedze mamiriro ekubuda akagadziridzwa pa web server, tinodaidza inotevera basa rinoita chikumbiro chitsva pa/nyika URL Sekondi imwe neimwe.Bata Zvikumbiro
Zvadaro, tinoda kubata zvinoitika kana ESP32 kana ESP8266 yagamuchira zvikumbiro pane izvo URLs.
Kana chikumbiro chagamuchirwa pamudzi /URL, tinotumira peji re HTML pamwe ne processor.Mitsetse inotevera tarisa kana wakagamuchira chikumbiro pa/update?state=1 kana /update?state=0 URL uye inoshandura ledState saizvozvo.
Kana chikumbiro chagamuchirwa pa/nyika URL, isu tinotumira ikozvino kubuda mamiriro:
loop ()
Mune loop (), tinobvisa bhatani rekusundira uye kudzima kana kudzima LED zvichienderana nekukosha kweiyo ledState. variable.Kuratidzira
Isa kodhi kubhodhi yako yeESP32. Isa kodhi yereferensi matanho.
Zvadaro, vhura Serial Monitor pane baud rate ye115200. Dzvanya pabhodhi EN / RST bhatani kuti uwane i IP kero.Vhura bhurawuza panetiweki yako yemunharaunda, uye nyora ESP IP kero. Iwe unofanirwa kuwana mukana kune web server sezvakaratidzwa pasi apa.
Cherechedza: Browser yako neESP32 zvinofanirwa kubatana kune imwecheteyo LAN.Unogona kushandura bhatani pane web server yekubatidza LED.
Iwe unogona zvakare kudzora iyo yakafanana LED neiyo yemuviri pushbutton. Mamiriro ayo anogara achigadziridzwa otomatiki pa web server.
Chirongwa 9 ESP32 DHT11 Web Server
Muchirongwa ichi, iwe uchadzidza kugadzira asynchronous ESP32 web server ine DHT11 inoratidza tembiricha uye humidity uchishandisa Arduino IDE.
Prerequisites
The web server isu tichavaka inogadziridza kuverenga otomatiki pasina chikonzero chekuzorodza iyo web peji.
Nechirongwa ichi iwe uchadzidza:
- Maitiro ekuverenga tembiricha uye humidity kubva kuDHT sensors;
- Gadzira asynchronous web server uchishandisa iyo ESPAsyncWebServer library;
- Gadziridza iyo sensor kuverenga otomatiki pasina chikonzero chekuzorodza iyo web peji.
Asynchronous Web Server
Kuvaka the web server tichashandisa iyo ESPAsyncWebServer library iyo inopa nzira iri nyore yekuvaka asynchronous web server. Kugadzira asynchronous web server ine akati wandei advantages sezvakataurwa muraibhurari GitHub peji, senge:
- "Bata zvinopfuura imwe yekubatanidza panguva imwe chete";
- "Paunotumira mhinduro, unobva wagadzirira kubata zvimwe zvinongedzo apo sevha iri kutarisira kutumira mhinduro kumashure";
- "Yakareruka template yekugadzirisa injini yekubata matemplate";
Zvikamu Zvinodiwa
Kuti upedze chidzidzo ichi unoda zvikamu zvinotevera:
- ESP32 bhodhi rekuvandudza
- DHT11 Module
- Breadboard
- Jumper waya
ZvirongwaKuisa Maraibhurari
Iwe unofanirwa kuisa akati wandei maraibhurari epurojekiti iyi:
- The DHT uye Adafruit Unified Sensor Maraibhurari emutyairi ekuverenga kubva kuDHT sensor.
- ESPAsyncWebServer uye Async TCP raibhurari yekuvaka iyo asynchronous web server.
Tevedza mirairo inotevera yekuisa iwo maraibhurari:
Kuisa iyo DHT Sensor Library
Kuti uverenge kubva kuDHT sensor uchishandisa Arduino IDE, unofanirwa kuisa iyo DHT sensor raibhurari. Tevera matanho anotevera kuti uise raibhurari.
- Dzvanya apa kuti utore raibhurari yeDHT Sensor. Unofanira kuva ne .zip forodha mudhaunirodha yako
- Unzip iyo .zip forodha uye unofanira kuwana DHT-sensor-library-master forodha
- Rename yako folda kubva kuDHT-sensor-library-master kuenda kuDHT_sensor
- Fambisa iyo DHT_sensor folda kune yako Arduino IDE yekuisa maraibhurari folda
- Pakupedzisira, vhurazve yako Arduino IDE
Kuisa iyo Adafruit Unified Sensor Driver
Iwe zvakare unofanirwa kuisa iyo Adafruit Unified Sensor Driver raibhurari kushanda neDHT sensor. Tevera matanho anotevera kuti uise raibhurari.
- Dzvanya apa kuti utore iyo Adafruit Unified Sensor raibhurari. Unofanira kuva ne .zip forodha mudhaunirodha yako
- Unzip iyo .zip forodha uye unofanira kuwana Adafruit_sensor-master forodha
- Rename yako folda kubva kuAdafruit_sensor-master kuenda kuAdafruit_sensor
- Fambisa iyo Adafruit_sensor folda kune yako Arduino IDE yekuisa maraibhurari folda
- Pakupedzisira, vhurazve yako Arduino IDE
Kuisa iyo ESPAsyncWebServer library
Tevera nhanho dzinotevera kuti uise iyo ESPAsyncWebServer raibhurari:
- Dzvanya apa kuti utore ESPAsyncWebServer library. Unofanira kuva nazvo
a .zip forodha mune yako Dhaunirodha folda - Unzip iyo .zip forodha uye unofanira
kuwana ESPAsyncWebServer-master folder - Rena zita rako folda kubva kuESPAsyncWebServer-master kune ESPAsyncWebServer
- Fambisa iyo ESPAsyncWebServer folda kune yako Arduino IDE yekuisa maraibhurari folda
Kuisa iyo Async TCP Library yeESP32
The ESPAsyncWebServer raibhurari inoda iyo AsyncTCP raibhurari kushanda. Tevedza nhanho dzinotevera kuti uise raibhurari iyoyo:
- Dzvanya apa kuti utore AsyncTCP raibhurari. Unofanira kuva ne .zip forodha mudhaunirodha yako
- Unzip iyo .zip forodha uye unofanira kuwana AsyncTCP-master forodha
- Rena zita rako folda kubva kuAsyncTCP-master kuenda kuAsyncTCP
- Fambisa iyo AsyncTCP folda kune yako Arduino IDE yekuisa maraibhurari folda
- Pakupedzisira, vhurazve yako Arduino IDE
Code
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi:(Kana wakatoita danho iri, unogona kusvetukira padanho rinotevera.)
Kuisa ESP32 Yekuwedzera muArduino IDE
Mushure mekuisa maraibhurari anodiwa, Vhura iyo kodhi
Project_9_ESP32_DHT11_Web_Server.ino mune arduino IDE.
Usati waisa kodhi, usakanganwe kuisa magwaro etiweki yako kuitira kuti ESP ikwanise kubatana kunetiweki yako yemuno.Iyo Code Inoshanda sei
Mundima dzinotevera tichatsanangura kuti kodhi inoshanda sei. Ramba uchiverenga kana uchida kudzidza zvakawanda kana kusvetukira kuchikamu cheKuratidzira kuti uone mhedzisiro.
Kuunza maraibhurari
Chekutanga, pinza ma library anodiwa. Iyo WiFi, ESPAsyncWebServer uye ESPAsyncTCP inodiwa kuvaka iyo web server. Iyo Adafruit_Sensor nemaraibhurari eDHT anodiwa kuti uverenge kubva kuDHT11 kana DHT22 sensors.Variables tsanangudzo
Tsanangura iyo GPIO iyo iyo DHT data pin yakabatana nayo. Mune ino kesi, yakabatana neGPIO 4.Wobva wasarudza iyo DHT sensor mhando yauri kushandisa. Mune yedu exampuye, isu tiri kushandisa iyo DHT22. Kana iwe uri kushandisa imwe mhando, iwe unongoda kusunungura sensor yako uye kupindura vamwe vese.
Isa chinhu cheDHT nemhando nepini zvatakatsanangura kare.Gadzira AsyncWebServer chinhu pachiteshi 80.
Verenga Tembiricha uye Humidity Mabasa
Takagadzira mabasa maviri: rimwe rekuverenga tembiricha Takagadzira mabasa maviri: rimwe rekuverenga tembiricha (readDHTEmperature()) uye rimwe rekuverenga humidity (readDHTHumidity()).Kuwana kuverenga kwema sensor kuri nyore sekushandisa Kuwana kuverenga sensor kuri nyore sekushandisa iyo kuverengaTembiricha () uye kuverengaHumidity () nzira pachinhu chedht.
Isu tinewo mamiriro anodzosa madhishi maviri (-) kana sensor ikatadza kuwana kuverenga.
Zviverengero zvinodzoserwa semhando yetambo. Kushandura kutenderera kune tambo, shandisa iyo String () basa
Nekungogara, tiri kuverenga tembiricha mumadhigirii eCelsius. Kuti utore tembiricha mumadhigirii eFahrenheit, taura nezve tembiricha iri muCelsius uye bvisa tembiricha muFahrenheit, kuti uve nezvinotevera:
Isa iyo Kodhi
Zvino, rodha kodhi kuESP32 yako. Ita shuwa kuti une bhodhi rakakodzera uye COM port yakasarudzwa.Isa kodhi nhanho dzekutarisa.
Mushure mekurodha, vhura iyo Serial Monitor pane baud mwero we115200. Dzvanya ESP32 reset bhatani. ESP32 IP kero inofanira kudhindwa musiriri monitor.Kuratidzira
Vhura browser wonyora ESP32 IP kero. Your web server inofanirwa kuratidza yazvino sensor kuverenga.
Cherechedza: Browser yako neESP32 zvinofanirwa kubatana kune imwecheteyo LAN.
Ziva kuti tembiricha uye humidity kuverenga kunogadziridzwa otomatiki pasina chikonzero chekuzorodza iyo web peji.
Project_10_ESP32_OLED_Display
Iyi purojekiti inoratidza mashandisiro eiyo 0.96 inch SSD1306 OLED kuratidza neESP32 uchishandisa Arduino IDE.
Kuunza 0.96 inch OLED Display
The OLED kuratidza yatichashandisa muchidzidzo chino iSSD1306 modhi: monocolor, 0.96 inch kuratidza ine 128 × 64 pixels sezvakaratidzwa mumufananidzo unotevera.Iyo OLED kuratidzwa haidi backlight, izvo zvinokonzeresa musiyano wakanaka kwazvo munzvimbo dzakasviba. Pamusoro pezvo, mapixels ayo anoshandisa simba chete kana ari pairi, saka iyo OLED inoratidzira inoshandisa simba shoma kana ichienzaniswa nezvimwe zvinoratidzwa.
Nekuti iyo OLED kuratidzwa inoshandisa I2C kutaurirana protocol, wiring iri nyore. Iwe unogona kushandisa tafura inotevera sereferensi.
OLED Pin | ESP32 |
Vin | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
ZvirongwaKuisa SSD1306 OLED Raibhurari - ESP32
Kune akati wandei maraibhurari aripo ekudzora iyo OLED kuratidzwa neESP32.
Muchidzidzo ichi tichashandisa maviri maAdafruit raibhurari: Adafruit_SSD1306 library uye Adafruit_GFX raibhurari.
Tevedza nhanho dzinotevera kuti uise maraibhurari iwayo.
- Vhura yako Arduino IDE uye enda ku Sketch> Sanganisira Raibhurari> Manage Maraibhurari. Raibhurari Maneja anofanira kuvhura.
- Nyora "SSD1306" mubhokisi rekutsvaga uye isa iyo SSD1306 raibhurari kubva kuAdafruit.
- Mushure mekuisa iyo SSD1306 raibhurari kubva kuAdafruit, nyora "GFX" mubhokisi rekutsvaga uye isa raibhurari.
- Mushure mekuisa maraibhurari, tangazve yako Arduino IDE.
Code
Mushure mekuisa maraibhurari anodiwa, Vhura iyo Project_10_ESP32_OLED_Display.ino mu arduino IDE. code
Ticharonga ESP32 tichishandisa Arduino IDE, saka ita shuwa kuti une ESP32 yekuwedzera yakaiswa usati waenderera mberi: (Kana watoita danho iri, unogona kusvetukira kune rinotevera nhanho.)
Kuisa ESP32 Yekuwedzera muArduino IDEIyo Code Inoshanda sei
Kuunza maraibhurari
Kutanga, iwe unofanirwa kuunza kunze maraibhurari anodiwa. Raibhurari yeWaya yekushandisa I2C nemaraibhurari eAdafruit kunyora kuchiratidziro: Adafruit_GFX uye Adafruit_SSD1306.Tanga iyo OLED kuratidza
Ipapo, iwe unotsanangura yako OLED hupamhi uye kureba. Mune exampuye, isu tiri kushandisa 128 × 64 OLED kuratidza. Kana uri kushandisa mamwe masaizi, unokwanisa kushandura izvozvo muSCREEN_WIDTH, uye SCREEN_HEIGHT zvinosiyana.Wobva watanga chinhu chekuratidzira nehupamhi nehurefu hwakatsanangurwa kare neI2C yekutaurirana protocol (&Wire).
Iyo (-1) paramende inoreva kuti yako OLED kuratidza haina RESET pini. Kana yako OLED kuratidza iine RESET pini, inofanirwa kubatana neGPIO. Muchiitiko ichocho, unofanira kupfuudza nhamba yeGPIO separameter.
Mukuseta (), tanga iyo Serial Monitor pane baud raute ye115200 nekuda kwekugadzirisa.Tanga iyo OLED kuratidzwa nekutanga () nzira sezvinotevera:
Iyi snippet zvakare inodhinda meseji paSerial Monitor, kana isu tisingakwanise kubatana nechiratidziro.
Kana uri kushandisa imwe OLED kuratidza, ungangoda kuchinja kero yeOLED. Muchiitiko chedu, kero ndeye 0x3C.
Mushure mekutanga kuratidzwa, wedzera kunonoka kwechipiri, kuitira kuti OLED ive nenguva yakakwana yekutanga isati yanyora mavara:
Zvakajeka kuratidza, seta saizi yefonti, ruvara uye nyora zvinyorwa
Mushure mekutanga kuratidzwa, bvisa bhafa yekuratidzira ne clearDisplay() nzira:
Usati wanyora mameseji, unofanirwa kuseta saizi yemavara, ruvara uye panozoratidzwa zvinyorwa muOLED.
Seta saizi yefonti uchishandisa iyo setTextSize() nzira:Seta iyo font color neiyo setTextColor() nzira:
WHITE inoseta chena font uye dema kumashure.
Tsanangura nzvimbo iyo mavara anotanga kushandisa setCursor(x,y) nzira. Muchiitiko ichi, tiri kuseta zvinyorwa kuti zvitange pa (0,0) macoordinates - kumusoro kwekona yekuruboshwe.Pakupedzisira, unogona kutumira zvinyorwa kuchiratidziro uchishandisa println() nzira, sezvinotevera
Zvadaro, iwe unofanirwa kufonera iyo display() nzira yekunyatso kuratidza iwo mavara pachiratidziri.
Iyo Adafruit OLED raibhurari inopa nzira dzinobatsira dzekupeta zvinyorwa zviri nyore.
- startscrollright(0x00, 0x0F): fambisa zvinyorwa kubva kuruboshwe kuenda kurudyi
- startscrollleft (0x00, 0x0F): skroka mavara kubva kurudyi kuenda kuruboshwe
- startscrolldiagright (0x00, 0x07): fambisa zvinyorwa kubva pakona yekuruboshwe kusvika pakona yekurudyi tanga scrolldiagleft (0x00, 0x07): fambisa zvinyorwa kubva pakona yekurudyi kusvika kuruboshwe kumusoro.
Isa iyo Kodhi
Iye zvino, isa kodhi kuESP32 yako.Upload code referenzi matanho.
Mushure mekuisa kodhi, iyo OLED inoratidza kupururudza zvinyorwa.
Zvinyorwa / Zvishandiso
![]() |
LAFVIN ESP32 Basic Starter Kit [pdf] Bhuku reMirayiridzo ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit |