ESP32 Basic Starter
Kit
Jerin Shiryawa
ESP32 Gabatarwa
Sabo zuwa ESP32? Fara a nan! ESP32 jeri ne na tsarin mai rahusa da ƙarancin ƙarfi akan ƙananan na'urori na Chip (SoC) wanda Espressif ya haɓaka wanda ya haɗa da Wi-Fi da damar mara waya ta Bluetooth da na'ura mai sarrafa dual-core. Idan kun saba da ESP8266, ESP32 shine magajinsa, cike da sabbin abubuwa da yawa.Bayanan Bayani na ESP32
Idan kuna son samun ƙarin fasaha da ƙayyadaddun bayanai, zaku iya duba cikakkun bayanai masu zuwa na ESP32 (tushen: http://esp32.net/- don ƙarin bayani, duba bayanan):
- Haɗin mara waya ta WiFi: ƙimar bayanai 150.0Mbps tare da HT40
- Bluetooth: BLE (Bluetooth Low Energy) da Bluetooth Classic
- Mai sarrafawa: Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, yana aiki a 160 ko 240 MHz
- Ƙwaƙwalwar ajiya:
- ROM: 448 KB (don booting da mahimman ayyuka)
- SRAM: 520 KB (don bayanai da umarni)
- RTC fas SRAM: 8 KB (don ajiyar bayanai da babban CPU yayin RTC Boot daga yanayin barci mai zurfi)
- RTC jinkirin SRAM: 8KB (don co-processor samun damar shiga yayin yanayin barci mai zurfi) eFuse: 1 Kbit (wanda ake amfani da ragi 256 don tsarin (adireshin MAC da tsarin guntu) da sauran 768 ragowa an tanada su don aikace-aikacen abokin ciniki, gami da Flash-Encryption da Chip-ID)
Haɗe-haɗe da walƙiya: filasha da aka haɗa ta ciki ta IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 da SD_DATA_1 akan ESP32-D2WD da ESP32-PICO-D4.
- 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, da kwakwalwan kwamfuta ESP32-S0WD)
- 2 MiB (ESP32-D2WD guntu)
- 4 MiB (ESP32-PICO-D4 SiP module)
Ƙarfin Ƙarfi: yana tabbatar da cewa har yanzu kuna iya amfani da jujjuyawar ADC, misaliample, lokacin barci mai zurfi.
Ci gaba / fitarwa:
- na gefe tare da DMA wanda ya haɗa da capacitive touch
- ADCs (Analog-zuwa-Digital Converter)
- DACs (Masu Canjin Dijital-zuwa-Analog)
- I²C (Integrated Circuit)
- UART (Mai karɓar Mai karɓa/Mai aikawa da Asynchronous na Duniya)
- SPI (Serial Interface Interface)
- I²S (Haɗaɗɗen Sautin Interchip)
- RMII (Rage Interface-Independent Media-Independent Interface)
- PWM (Modulation na Nisa-Pulse)
Tsaro: hardware accelerators don AES da SSL/TLS
ESP32 Hukumar Ci Gaba
ESP32 yana nufin guntu ESP32 mara kyau. Koyaya, ana kuma amfani da kalmar “ESP32” don komawa zuwa allon raya ESP32. Amfani da kwakwalwan kwamfuta na ESP32 ba abu ne mai sauƙi ko aiki ba, musamman lokacin koyo, gwaji, da samfuri. Yawancin lokaci, kuna son amfani da hukumar haɓaka ESP32.
Za mu yi amfani da allon ESP32 DEVKIT V1 azaman tunani. Hoton da ke ƙasa yana nuna allon ESP32 DEVKIT V1, sigar tare da fil 30 GPIO.Bayanan Bayani na ESP32 DEVKIT V1
Tebur mai zuwa yana nuna taƙaitaccen fasali na hukumar ESP32 DEVKIT V1 DOIT da ƙayyadaddun bayanai:
Adadin majigi | 2 (dual core) |
Wi-Fi | 2.4GHz har zuwa 150Mbit/s |
Bluetooth | BLE (Bluetooth Low Energy) da kuma gadon Bluetooth |
Gine-gine | 32 bits |
Mitar agogo | Har zuwa 240 MHz |
RAM | 512 KB |
Fil | 30 (dangane da samfurin) |
Na'urorin haɗi | Capacitive tabawa, ADC (analog zuwa dijital Converter), DAC (dijital zuwa analog Converter), 12C (Inter-Integrated Circuit), UART (universal asynchronous mai karɓa / watsawa), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface) , 12S (Integrated Inter-IC Sauti), RMII (Rage Interface Mai Zaman Kanta Mai Zaman Kanta), PWM (daidaitawar faɗin bugun jini), da ƙari. |
Maɓallan da aka gina | Sake saitin da maɓallan BOOT |
LEDs masu ginawa | ginanniyar blue LED da aka haɗa zuwa GPIO2; jajayen ledojin da aka gina a ciki wanda ke nuna ana kunna allo |
USB zuwa UART gada |
Saukewa: CP2102 |
Ya zo tare da ƙirar microUSB wanda zaku iya amfani dashi don haɗa allon zuwa kwamfutarka don loda lamba ko amfani da wuta.
Yana amfani da guntu CP2102 (USB zuwa UART) don sadarwa tare da kwamfutarka ta hanyar tashar COM ta hanyar amfani da serial interface. Wani mashahurin guntu shine CH340. Bincika abin da ke USB zuwa UART chip Converter akan allonku saboda kuna buƙatar shigar da direbobin da ake buƙata don kwamfutarka ta iya sadarwa tare da allon (ƙarin bayani game da wannan daga baya a cikin wannan jagorar).
Hakanan wannan allon yana zuwa tare da maɓallin RESET (ana iya lakafta shi EN) don sake kunna allo da maɓallin BOOT don sanya allon cikin yanayin walƙiya (akwai don karɓar lambar). Lura cewa wasu allunan ƙila ba su da maɓallin BOOT.
Har ila yau, ya zo tare da ginanniyar LED mai launin shuɗi wanda aka haɗa a ciki zuwa GPIO 2. Wannan LED yana da amfani don cirewa don ba da wani nau'i na fitowar jiki na gani. Akwai kuma jajayen LED da ke haskakawa lokacin da kuke ba da wuta ga allon.Saukewa: ESP32
Abubuwan ESP32 sun haɗa da:
- 18 Analog-to-Digital Converter (ADC) tashoshi
- 3 SPI musaya
- 3 UART musaya
- 2 I2C musaya
- 16 Tashoshin fitarwa na PWM
- 2 Masu Canza Dijital-zuwa-Analog (DAC)
- 2 I2S musaya
- 10 Capacitive Sensing GPIOs
Ana sanya fasalulluka na ADC (analog zuwa mai canza dijital) da DAC (dijital zuwa mai sauya analog) zuwa takamaiman fil. Koyaya, zaku iya yanke shawarar wane fil sune UART, I2C, SPI, PWM, da sauransu - kawai kuna buƙatar sanya su a cikin lambar. Wannan yana yiwuwa saboda fasalin haɓakar guntu na ESP32.
Ko da yake kuna iya ayyana kaddarorin fil akan software, akwai fil ɗin da aka sanya ta tsohuwa kamar yadda aka nuna a cikin adadi mai zuwaBugu da ƙari, akwai fil ɗin da ke da takamaiman fasali waɗanda ke sa su dace ko a'a don wani aiki na musamman. Teburin da ke gaba yana nuna waɗanne filaye ne mafi kyau don amfani da su azaman abubuwan shigarwa, abubuwan fitarwa da waɗanda kuke buƙatar yin taka tsantsan.
Fil ɗin da aka haskaka a kore sunyi kyau don amfani. Waɗanda aka yi wa alama da rawaya suna da kyau a yi amfani da su, amma kuna buƙatar kula saboda suna iya samun halayen da ba a zata ba musamman a taya. Ba a ba da shawarar fil ɗin da aka haskaka a cikin ja don amfani da su azaman abubuwan shigarwa ko abubuwan fitarwa ba.
GP IO | Shigarwa | Fitowa | Bayanan kula |
0 | ja sama | OK | yana fitar da siginar PWM a taya, dole ne ya zama ƙasa don shigar da yanayin walƙiya |
1 | TX pin | OK | cire fitarwa a boot |
2 | OK | OK | an haɗa shi da LED na kan-board, dole ne a bar shi yana iyo ko LOW don shigar da yanayin walƙiya |
3 | OK | RX pin | HIGH a boot |
4 | OK | OK | |
5 | OK | OK | yana fitar da siginar PWM a taya, madauri fil |
12 | OK | OK | boot ya kasa idan an ja babban, madauri fil |
13 | OK | OK | |
14 | OK | OK | yana fitar da siginar PWM a boot |
15 | OK | OK | yana fitar da siginar PWM a taya, madauri fil |
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 | shigarwa kawai | |
35 | OK | shigarwa kawai | |
36 | OK | shigarwa kawai | |
39 | OK | shigarwa kawai |
Ci gaba da karatu don ƙarin daki-daki da zurfin bincike na ESP32 GPIOs da ayyukansa.
Shigar kawai fil
GPIOs 34 zuwa 39 GPIs ne - shigarwar fil kawai. Waɗannan fil ɗin ba su da abin cirewa na ciki ko ja da ƙasa. Ba za a iya amfani da su azaman abubuwan fitarwa ba, don haka yi amfani da waɗannan fil ɗin kawai azaman abubuwan shigarwa:
- Farashin GPIO34
- Farashin GPIO35
- Farashin GPIO36
- Farashin GPIO39
SPI flash hadedde akan ESP-WROOM-32
Ana fallasa GPIO 6 zuwa GPIO 11 a wasu allunan haɓaka ESP32. Koyaya, waɗannan fil ɗin suna haɗe zuwa haɗe-haɗen filasha SPI akan guntu ESP-WROOM-32 kuma ba a ba da shawarar yin amfani da su ba. Don haka, kar a yi amfani da waɗannan fil a cikin ayyukanku:
- 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 touch GPIOs
ESP32 yana da firikwensin taɓawa na ciki 10. Waɗannan suna iya fahimtar bambance-bambance a cikin duk abin da ke riƙe da cajin lantarki, kamar fatar ɗan adam. Don haka za su iya gano bambance-bambancen da aka jawo yayin taɓa GPIOs da yatsa. Ana iya haɗa waɗannan fitilun cikin sauƙi cikin gammaye masu ƙarfi da maye gurbin maɓallan inji. Hakanan ana iya amfani da fil ɗin taɓawa mai ƙarfi don tada ESP32 daga barci mai zurfi. Waɗannan firikwensin taɓawa na ciki an haɗa su zuwa waɗannan 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)
Analog zuwa Mai Musanya Dijital (ADC)
ESP32 yana da 18 x 12 ragowa ADC shigarwa tashoshi (yayin da ESP8266 kawai yana da 1 x 10 rago ADC). Waɗannan su ne GPIO waɗanda za a iya amfani da su azaman ADC da tashoshi daban-daban:
- 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)
Lura: Ba za a iya amfani da fil ɗin ADC2 ba lokacin da ake amfani da Wi-Fi. Don haka, idan kuna amfani da Wi-Fi kuma kuna fuskantar matsalar samun ƙimar daga ADC2 GPIO, kuna iya yin la'akari da amfani da ADC1 GPIO maimakon. Wannan yakamata ya magance matsalar ku.
Tashoshin shigarwar ADC suna da ƙudurin 12-bit. Wannan yana nufin zaku iya samun karatun analog daga 0 zuwa 4095, wanda 0 yayi daidai da 0V da 4095 zuwa 3.3V. Hakanan zaka iya saita ƙudurin tashoshi akan lambar da kewayon ADC.
Matsalolin ESP32 ADC ba su da hali na layi. Wataƙila ba za ku iya bambanta tsakanin 0 da 0.1V, ko tsakanin 3.2 da 3.3V ba. Kuna buƙatar kiyaye hakan yayin amfani da fil ɗin ADC. Za ku sami hali mai kama da wanda aka nuna a cikin adadi mai zuwa.Canjin Dijital zuwa Analog (DAC)
Akwai tashoshi 2 x 8 ragowa DAC akan ESP32 don canza siginar dijital zuwa vol na analogtage siginar fitarwa. Waɗannan su ne tashoshin DAC:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
RTC GPIOs
Akwai tallafin RTC GPIO akan ESP32. Ana iya amfani da GPIOs zuwa tsarin ƙaramin ƙarfi na RTC lokacin da ESP32 ke cikin barci mai zurfi. Ana iya amfani da waɗannan RTC GPIOs don tada ESP32 daga barci mai zurfi lokacin da Ultra Low
Power (ULP) co-processor yana gudana. Ana iya amfani da GPIO masu zuwa azaman tushen farkawa na waje.
- 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
ESP32 LED PWM mai kula yana da tashoshi masu zaman kansu guda 16 waɗanda za'a iya saita su don samar da siginar PWM tare da kaddarorin daban-daban. Duk fil waɗanda zasu iya aiki azaman abubuwan fitarwa ana iya amfani da su azaman fil ɗin PWM (GPIOs 34 zuwa 39 ba zasu iya samar da PWM ba).
Don saita siginar PWM, kuna buƙatar ayyana waɗannan sigogi a cikin lambar:
- Mitar sigina;
- Zagayen aiki;
- tashar PWM;
- GPIO inda kake son fitar da siginar.
I2C
ESP32 yana da tashoshi I2C guda biyu kuma kowane fil ana iya saita shi azaman SDA ko SCL. Lokacin amfani da ESP32 tare da Arduino IDE, tsoho na I2C sune:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Idan kana son amfani da wasu fil yayin amfani da ɗakin karatu na waya, kawai kuna buƙatar kira:
Waya.begin (SDA, SCL);
SPI
Ta hanyar tsoho, taswirar fil na SPI shine:
SPI | MOSI | MISO | CLK | CS |
VSPI | Farashin GPIO23 | Farashin GPIO19 | Farashin GPIO18 | Farashin GPIO5 |
HSPI | Farashin GPIO13 | Farashin GPIO12 | Farashin GPIO14 | Farashin GPIO15 |
Taƙaitawa
Ana iya saita duk GPIOs azaman masu katsewa.
Matsa Fil
Guntuwar ESP32 tana da madauri masu zuwa:
- GPIO 0 (dole ne ya zama ƙasa don shigar da yanayin taya)
- GPIO 2 (dole ne ya kasance yana iyo ko LOW yayin taya)
- Farashin GPIO4
- GPIO 5 (dole ne ya zama HIGH yayin taya)
- GPIO 12 (dole ne ya zama LOW yayin taya)
- GPIO 15 (dole ne ya zama HIGH yayin taya)
Ana amfani da waɗannan don saka ESP32 cikin bootloader ko yanayin walƙiya. A yawancin allunan haɓakawa tare da ginanniyar USB/Serial, ba kwa buƙatar damuwa game da yanayin waɗannan fil ɗin. Allon yana sanya fil a daidai yanayin da ya dace don walƙiya ko yanayin taya. Ana iya samun ƙarin bayani akan Zaɓin Yanayin Boot ESP32 anan.
Koyaya, idan kuna da na'urori masu alaƙa da waɗancan fil, kuna iya samun matsala ƙoƙarin loda sabon lamba, walƙiya ESP32 tare da sabon firmware, ko sake saita allon. Idan kuna da wasu abubuwan da ke haɗawa da fil ɗin madauri kuma kuna samun matsala wajen loda lamba ko walƙiya ESP32, yana iya zama saboda waɗannan na'urorin suna hana ESP32 shiga daidai yanayin. Karanta takaddun Zaɓin Boot Mode don jagorance ku kan hanya madaidaiciya. Bayan sake saiti, walƙiya, ko booting, waɗannan fil ɗin suna aiki kamar yadda aka zata.
Fil HIGH a Boot
Wasu GPIO suna canza jiharsu zuwa HIGH ko fitar da siginar PWM a taya ko sake saiti.
Wannan yana nufin cewa idan kuna da abubuwan da aka haɗa zuwa waɗannan GPIOs kuna iya samun sakamako mara tsammani lokacin da ESP32 ta sake saiti ko takalmi.
- Farashin GPIO1
- Farashin GPIO3
- Farashin GPIO5
- GPIO 6 zuwa GPIO 11 (haɗe zuwa ESP32 hadedde SPI flash memory - ba a ba da shawarar amfani da shi ba).
- Farashin GPIO14
- Farashin GPIO15
Kunna (EN)
Enable (EN) shine fil ɗin mai sarrafa 3.3V. An ja sama, don haka haɗa zuwa ƙasa don kashe mai sarrafa 3.3V. Wannan yana nufin cewa zaku iya amfani da wannan fil ɗin da aka haɗa zuwa maɓallin turawa don sake kunna ESP32 ɗin ku, misaliample.
An zana GPIO na yanzu
Matsakaicin madaidaicin madaidaicin halin yanzu da aka zana kowane GPIO shine 40mA bisa ga sashin “Sharuɗɗan Ayyuka da Shawarwari” a cikin takaddar bayanan ESP32.
ESP32 Gina-In-Tasirin Tasirin Hall
ESP32 kuma yana da na'urar firikwensin tasirin zauren da ke gano canje-canje a filin maganadisu a kewayen sa
ESP32 Arduino IDE
Akwai add-on don Arduino IDE wanda ke ba ku damar tsara ESP32 ta amfani da Arduino IDE da yaren shirye-shirye. A cikin wannan koyawa za mu nuna muku yadda ake shigar da allon ESP32 a cikin Arduino IDE ko kuna amfani da Windows, Mac OS X ko Linux.
Abubuwan da ake buƙata: Arduino IDE An shigar
Kafin fara wannan hanyar shigarwa, kuna buƙatar shigar da Arduino IDE akan kwamfutarka. Akwai nau'ikan Arduino IDE guda biyu da zaku iya girka: sigar 1 da sigar 2.
Kuna iya saukewa kuma shigar da Arduino IDE ta danna hanyar haɗin da ke biyowa: arduino.cc/ha/Main/Software
Wane nau'in Arduino IDE muke ba da shawarar? A halin yanzu, akwai wasu plugins don ESP32 (kamar SPIFFS Filesystem Uploader Plugin) wanda har yanzu ba a tallafawa akan Arduino 2. Don haka, idan kuna da niyyar amfani da plugin ɗin SPIFFS a nan gaba, muna ba da shawarar shigar da sigar gado ta 1.8.X. Kawai kuna buƙatar gungurawa kan shafin software na Arduino don nemo ta.
Sanya ESP32 Add-on a cikin Arduino IDE
Don shigar da allon ESP32 a cikin Arduino IDE, bi waɗannan umarni na gaba:
- A cikin Arduino IDE, je zuwa File> Zaɓuɓɓuka
- Shigar da waɗannan abubuwan cikin “Ƙarin Manajan Hukumar URLs" filin:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Sa'an nan, danna "Ok" button:Lura: idan kun riga kuna da allon ESP8266 URL, za ka iya raba da URLs tare da waƙafi kamar haka:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Bude Manajan allo. Je zuwa Kayan aiki> Board> Manajan allo…Bincika ESP32 and press install button for the “ESP32 by Espressif Systems“:
Shi ke nan. Ya kamata a shigar bayan 'yan dakiku.
Loda Lambar Gwajin
Toshe allon ESP32 zuwa kwamfutarka. Tare da buɗe IDE ɗin ku na Arduino, bi waɗannan matakan:
- Zaɓi Kwamitin ku a Kayan aiki> Menu na allo (a cikin akwati na shine ESP32 DEV Module)
- Zaɓi Port (idan ba ku ga tashar COM a cikin Arduino IDE ba, kuna buƙatar shigar da CP210x USB zuwa UART Bridge VCP Drivers):
- Bude mai zuwa example under File > Exampmu > WiFi
(ESP32)> WiFiScan - Wani sabon zane yana buɗewa a cikin Arduino IDE:
- Danna maɓallin Upload a cikin Arduino IDE. Jira ƴan daƙiƙa kaɗan yayin da lambar ke tattarawa da lodawa zuwa allon ku.
- Idan komai ya tafi kamar yadda aka zata, yakamata ku ga "An gama lodawa." sako.
- Buɗe Arduino IDE Serial Monitor a ƙimar baud na 115200:
- Latsa maɓallin ESP32 na kan-board Enable kuma ya kamata ka ga hanyoyin sadarwar da ke kusa da ESP32 naka:
Shirya matsala
Idan kun yi ƙoƙarin loda sabon zane zuwa ESP32 ɗinku kuma kun sami wannan saƙon kuskure "Kuskure mai mutuƙar ya faru: An kasa haɗawa zuwa ESP32: An ƙare… Haɗa...". Yana nufin cewa ESP32 ɗinku baya cikin yanayin walƙiya/ɗorawa.
Samun sunan allon da ya dace da zaɓin COM por, bi waɗannan matakan:
Riƙe maɓallin “BOOT” a cikin allo na ESP32
- Danna maballin "Loda" a cikin Arduino IDE don loda zanen ku:
- Bayan ka ga "Connecting..." sako a cikin Arduino IDE, saki yatsa daga maɓallin "BOOT":
- Bayan haka, ya kamata ka ga sakon "An gama uploading".
Shi ke nan. ESP32 ɗinku yakamata ya sami sabon zane yana gudana. Danna maɓallin "ENABLE" don sake kunna ESP32 kuma gudanar da sabon zanen da aka ɗora.
Hakanan dole ne ku maimaita wancan jerin maɓallin a duk lokacin da kuke son loda sabon zane.
Ayyukan 1 ESP32 Abubuwan Abubuwan Shigarwa
A cikin wannan jagorar farawa zaku koyi yadda ake karanta bayanan dijital kamar maɓallin maɓalli da sarrafa abubuwan dijital kamar LED ta amfani da ESP32 tare da Arduino IDE.
Abubuwan da ake bukata
Za mu tsara ESP32 ta amfani da Arduino IDE. Don haka, tabbatar cewa an shigar da ƙarar allunan ESP32 kafin ci gaba:
- Sanya ESP32 Add-on a cikin Arduino IDE
ESP32 Gudanar da Abubuwan Dijital
Da farko, kuna buƙatar saita GPIO da kuke son sarrafawa azaman FITA. Yi amfani da aikin pinMode() kamar haka:
pinMode (GPIO, OUTPUT);
Don sarrafa fitarwa na dijital kawai kuna buƙatar amfani da aikin dijitalWrite(), wanda ke karɓa azaman mahawara, GPIO (int lamba) da kuke nufi, da jiha, ko dai HIGH ko LOW.
digitalWrite (GPIO, STATE);
Ana iya amfani da duk GPIO azaman abubuwan fitarwa ban da GPIOs 6 zuwa 11 (haɗe da haɗaɗɗen filasha SPI) da GPIOs 34, 35, 36 da 39 (shigarwar GPIO kawai);
Ƙara koyo game da ESP32 GPIOs: ESP32 GPIO Jagoran Magana
ESP32 Karanta Abubuwan Abubuwan Dijital
Da farko, saita GPIO da kake son karantawa azaman INPUT, ta amfani da aikin pinMode() kamar haka:
pinMode (GPIO, INPUT);
Don karanta shigarwar dijital, kamar maɓalli, kuna amfani da aikin dijitalRead(), wanda ke karɓa azaman hujja, GPIO (int lamba) da kuke nufi.
digitalRead(GPIO);
Ana iya amfani da duk ESP32 GPIO azaman abubuwan shigarwa, ban da GPIOs 6 zuwa 11 (an haɗa su da haɗaɗɗen filasha na SPI).
Ƙara koyo game da ESP32 GPIOs: ESP32 GPIO Jagoran Magana
Project Example
Don nuna muku yadda ake amfani da abubuwan shigar da dijital da abubuwan da ake fitarwa na dijital, za mu gina wani aiki mai sauƙi examptare da maɓallin turawa da LED. Za mu karanta yanayin maɓallin turawa kuma mu haskaka LED daidai kamar yadda aka kwatanta a cikin adadi mai zuwa.
Abubuwan da ake buƙata
Ga jerin sassan da kuke buƙatar gina kewaye:
- ESP32 DEVKIT V1
- 5mm LED
- 220 ohm resistor
- Pashbutton
- 10k Ohm resistor
- Allodi
- Wayoyin tsalle
Tsarin tsari
Kafin ci gaba, kuna buƙatar haɗa da'ira tare da LED da maɓallin turawa.
Za mu haɗa LED zuwa GPIO 5 da maɓallin turawa zuwa GPIO 4.Lambar
Bude lambar Project_1_ESP32_Inputs_Outputs.ino a cikin arduino IDEYadda Code Aiki
A cikin layi biyu masu zuwa, kuna ƙirƙirar masu canji don sanya fil:
Ana haɗa maɓallin zuwa GPIO 4 kuma LED ɗin yana haɗi zuwa GPIO 5. Lokacin amfani da Arduino IDE tare da ESP32, 4 yayi daidai da GPIO 4 kuma 5 yayi daidai da GPIO 5.
Na gaba, kuna ƙirƙiri mai canzawa don riƙe yanayin maɓallin. Ta hanyar tsoho, 0 ne (ba a danna ba).
int button State = 0;
A cikin saitin (), kuna fara maɓallin azaman INPUT, da LED azaman FITARWA.
Don haka, kuna amfani da aikin pinMode() wanda ke karɓar fil ɗin da kuke nufi, da yanayin: INPUT ko OUTPUT.
pinMode (buttonPin, INPUT);
pinMode (ledPin, OUTPUT);
A cikin madauki () shine inda kake karanta yanayin maɓallin kuma saita LED daidai.
A cikin layi na gaba, kuna karanta yanayin maɓallin kuma ku ajiye shi a cikin maballin Jiha.
Kamar yadda muka gani a baya, kuna amfani da aikin dijitalRead().
buttonState = digitalRead(buttonPin);
Mai zuwa idan sanarwa, yana bincika ko yanayin maɓalli yana da HIGH. Idan haka ne, yana kunna LED akan yin amfani da aikin dijitalWrite () wanda ke karɓar matsayin jagorar ledPin, da HIGH na jihar.
idan (buttonState == HIGH)Idan yanayin maɓallin ba HIGH ba, kun saita LED a kashe. Kawai saita LOW azaman hujja ta biyu zuwa cikin aikin dijitalWrite().
Ana loda lambar
Kafin danna maɓallin lodawa, je zuwa Kayan aiki> Board, kuma zaɓi allon :DOIT ESP32 DEVKIT V1.
Je zuwa Kayan aiki> Tashar jiragen ruwa kuma zaɓi tashar COM da aka haɗa ESP32 zuwa. Sa'an nan, danna upload button da kuma jira "Done uploading" saƙon.Lura: Idan kun ga dige-dige da yawa (haɗin… __…__) akan taga gyara kuskure da kuma “Ba a kasa haɗawa zuwa ESP32: An ƙare jiran fakitin taken” saƙon, wannan yana nufin kuna buƙatar danna ESP32 akan BOOT na jirgin. button bayan ɗigo
fara bayyana.Shirya matsala
Zanga-zangar
Bayan loda lambar, gwada da'irar ku. LED ɗin ku yakamata yayi haske lokacin da kuke danna maɓallin turawa:Kuma kashe idan kun sake shi:
Ayyukan Analog na Project 2 ESP32
Wannan aikin yana nuna yadda ake karanta bayanan analog tare da ESP32 ta amfani da Arduino IDE.
Karatun Analog yana da amfani don karanta ƙima daga masu tsayayya masu canzawa kamar potentiometers, ko firikwensin analog.
Analog Inputs (ADC)
Karanta ƙimar analog tare da ESP32 yana nufin zaku iya auna juzu'i daban-dabantage matakan tsakanin 0 V da 3.3 V.
Voltage wanda aka auna sannan ana sanya shi zuwa ƙima tsakanin 0 zuwa 4095, wanda 0 V yayi daidai da 0, kuma 3.3 V yayi daidai da 4095. Kowane vol.tage tsakanin 0 V da 3.3 V za a ba da madaidaicin ƙimar tsakanin.ADC ba na layi ba ne
Da kyau, kuna tsammanin hali na layi lokacin amfani da fil ɗin ESP32 ADC.
Duk da haka, hakan baya faruwa. Abin da za ku samu shine hali kamar yadda aka nuna a cikin ginshiƙi mai zuwa:Wannan halin yana nufin cewa ESP32 ɗinku ba zai iya bambanta 3.3 V daga 3.2 V.
Za ku sami ƙima ɗaya ga duka voltagnuni: 4095.
Hakanan yana faruwa ga ƙaramin voltage dabi'u: don 0 V da 0.1 V za ku sami ƙima ɗaya: 0. Kuna buƙatar kiyaye wannan a hankali lokacin amfani da fil ɗin ESP32 ADC.
AnalogRead () Aiki
Karanta shigarwar analog tare da ESP32 ta amfani da Arduino IDE yana da sauƙi kamar amfani da aikin analogRead(). Yana karɓa azaman hujja, GPIO da kake son karantawa:
analogRead(GPIO);
15 kawai suna samuwa a cikin DEVKIT V1board (siffa mai GPIO 30).
Ɗauki pinout ɗin allo na ESP32 ɗin ku kuma nemo fitilun ADC. Waɗannan an yi alama tare da jajayen iyaka a cikin hoton da ke ƙasa.Waɗannan fil ɗin shigarwa na analog suna da ƙudurin 12-bit. Wannan yana nufin cewa lokacin da ka karanta shigarwar analog, kewayon sa na iya bambanta daga 0 zuwa 4095.
Lura: Ba za a iya amfani da fil ɗin ADC2 ba lokacin da ake amfani da Wi-Fi. Don haka, idan kuna amfani da Wi-Fi kuma kuna fuskantar matsalar samun ƙimar daga ADC2 GPIO, kuna iya yin la'akari da amfani da ADC1 GPIO maimakon, wannan yakamata ya warware matsalar ku.
Don ganin yadda komai ya haɗu tare, za mu yi tsohon tsohonampdon karanta ƙimar analog daga potentiometer.
Abubuwan da ake buƙata
Domin wannan example, kuna buƙatar sassa masu zuwa:
- Bayani na ESP32 DEVKIT V1
- Kawancenikir
- Allodi
- Wayoyin tsalle
Tsarin tsari
Waya potentiometer zuwa ESP32. Ya kamata a haɗa fil ɗin tsakiya na potentiometer zuwa GPIO 4. Kuna iya amfani da zane mai zuwa azaman tunani.Lambar
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar cewa an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDE
Bude lambar Project_2_ESP32_Inputs_Outputs.ino a cikin arduino IDEWannan lambar kawai tana karanta dabi'u daga potentiometer kuma tana buga waɗannan dabi'u a cikin Serial Monitor.
A cikin lambar, zaku fara da ayyana GPIO an haɗa potentiometer zuwa. A cikin wannan exampku, GPIO 4.A cikin saitin(), fara sadarwar serial a ƙimar baud na 115200.
A cikin madauki (), yi amfani da aikin analogRead() don karanta shigarwar analog daga potPin.
A ƙarshe, buga ƙimar da aka karanta daga potentiometer a cikin serial Monitor.
Loda lambar da aka bayar zuwa ESP32. Tabbatar kana da madaidaicin allon da tashar COM da aka zaɓa a cikin menu na Kayan aiki.
Gwajin Example
Bayan loda lambar kuma danna maɓallin sake saiti na ESP32, buɗe Serial Monitor a ƙimar baud na 115200. Juya potentiometer kuma ganin ƙimar suna canzawa.Matsakaicin ƙimar da zaku samu shine 4095 kuma mafi ƙarancin ƙima shine 0.
Nade Up
A cikin wannan labarin kun koyi yadda ake karanta bayanan analog ta amfani da ESP32 tare da Arduino IDE. A takaice:
- Kwamitin ESP32 DEVKIT V1 DOIT (siffa tare da fil 30) yana da filoli 15 ADC da zaku iya amfani da su don karanta abubuwan shigar analog.
- Waɗannan fil ɗin suna da ƙuduri na 12 ragowa, wanda ke nufin zaku iya samun ƙima daga 0 zuwa 4095.
- Don karanta ƙima a cikin Arduino IDE, kawai kuna amfani da aikin analogRead().
- Matsalolin ESP32 ADC ba su da hali na layi. Wataƙila ba za ku iya bambanta tsakanin 0 da 0.1V, ko tsakanin 3.2 da 3.3V ba. Kuna buƙatar kiyaye hakan yayin amfani da fil ɗin ADC.
Project 3 ESP32 PWM(Fitowar Analog)
A cikin wannan koyawa za mu nuna muku yadda ake samar da siginar PWM tare da ESP32 ta amfani da Arduino IDE. A matsayin exampZa mu gina wata hanya mai sauƙi wanda ke rage hasken LED ta amfani da LED PWM mai kula da ESP32.ESP32 LED PWM Controller
ESP32 yana da mai sarrafa PWM na LED tare da tashoshi masu zaman kansu 16 waɗanda za a iya saita su don samar da siginar PWM tare da kaddarorin daban-daban.
Anan ga matakan da zaku bi don rage LED tare da PWM ta amfani da Arduino IDE:
- Da farko, kuna buƙatar zaɓar tashar PWM. Akwai tashoshi 16 daga 0 zuwa 15.
- Sannan, kuna buƙatar saita mitar siginar PWM. Don LED, mitar 5000 Hz yana da kyau don amfani.
- Hakanan kuna buƙatar saita ƙudurin sake zagayowar aikin siginar: kuna da ƙuduri daga 1 zuwa 16 ragowa. Za mu yi amfani da ƙudurin 8-bit, wanda ke nufin zaku iya sarrafa hasken LED ta amfani da ƙimar daga 0 zuwa 255.
- Na gaba, kuna buƙatar tantance wanne GPIO ko GPIOs siginar zai bayyana akan su. Don haka za ku yi amfani da aikin mai zuwa:
ledcAttachPin (GPIO, tashar)
Wannan aikin yana karɓar gardama biyu. Na farko shine GPIO wanda zai fitar da siginar, na biyu kuma shine tashar da zata samar da siginar. - A ƙarshe, don sarrafa hasken LED ta amfani da PWM, kuna amfani da aikin mai zuwa:
ledcWrite (tashar, dutycycle)
Wannan aikin yana karɓa azaman muhawara tashar da ke samar da siginar PWM, da kuma zagayowar aiki.
Abubuwan da ake buƙata
Don bin wannan koyawa kuna buƙatar waɗannan sassa:
- Bayani na ESP32 DEVKIT V1
- 5mm LED
- 220 ohm resistor
- Allodi
- Wayoyin tsalle
Tsarin tsari
Wayar da LED zuwa ESP32 kamar yadda yake cikin zane mai zuwa. Ya kamata a haɗa LED ɗin zuwa GPIO 4.Lura: za ku iya amfani da kowane fil ɗin da kuke so, muddin yana iya aiki azaman fitarwa. Duk fil waɗanda zasu iya aiki azaman abubuwan fitarwa ana iya amfani da su azaman fil ɗin PWM. Don ƙarin bayani game da ESP32 GPIOs, karanta: ESP32 Pinout Reference: Wanne fil GPIO ya kamata ku yi amfani da shi?
Lambar
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar cewa an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDE
Bude lambar Project_3_ESP32_PWM.ino a cikin arduino IDEZa ku fara da ayyana fil ɗin da aka haɗa LED ɗin zuwa. A wannan yanayin, an haɗa LED zuwa GPIO 4.
Sannan, kun saita abubuwan siginar PWM. Kuna ayyana mitar 5000 Hz, zaɓi tashar 0 don samar da siginar, kuma saita ƙuduri na 8 rago. Kuna iya zaɓar wasu kaddarorin, daban-daban fiye da waɗannan, don ƙirƙirar siginar PWM daban-daban.
A cikin saitin (), kuna buƙatar saita LED PWM tare da kaddarorin da kuka ayyana a baya ta amfani da aikin ledcSetup () wanda ke karɓa azaman muhawara, ledChannel, mita, da ƙuduri, kamar haka:
Na gaba, kuna buƙatar zaɓar GPIO ɗin da zaku sami siginar daga. Don wannan, yi amfani da aikin ledcAttachPin() wanda ke karɓar azaman muhawara GPIO inda kake son samun siginar, da tashar da ke samar da siginar. A cikin wannan exampLe, za mu sami sigina a cikin ledPin GPIO, wanda ya dace da GPIO 4. Tashar da ke samar da siginar ita ce ledChannel, wanda ya dace da tashar 0.
A cikin madauki, zaku canza zagayowar aiki tsakanin 0 zuwa 255 don ƙara hasken LED.
Sannan, tsakanin 255 da 0 don rage haske.
Don saita haske na LED, kawai kuna buƙatar amfani da aikin ledcWrite () wanda ke karɓar azaman muhawara tashar da ke samar da siginar, da sake zagayowar aiki.
Yayin da muke amfani da ƙudurin 8-bit, za a sarrafa zagayowar wajibi ta amfani da ƙima daga 0 zuwa 255. Lura cewa a cikin aikin ledcWrite() muna amfani da tashar da ke samar da siginar, ba GPIO ba.
Gwajin Example
Loda lambar zuwa ESP32. Tabbatar cewa kana da madaidaicin allon da aka zaɓa da tashar COM. Dubi kewayen ku. Ya kamata ku sami LED mai dimmer wanda ke ƙaruwa kuma yana rage haske.
Aikin 4 ESP32 Sensor Motsi na PIR
Wannan aikin yana nuna yadda ake gano motsi tare da ESP32 ta amfani da firikwensin motsi na PIR. Mai buzzer zai yi ƙararrawa lokacin da aka gano motsi, kuma ya dakatar da ƙararrawa lokacin da ba a gano motsi ba don lokacin da aka saita (kamar 4 seconds)
Yadda HC-SR501 Sensor Motion ke Aiki
.Ka'idar aiki na firikwensin HC-SR501 ya dogara ne akan canjin infrared radiation akan abu mai motsi. Don ganowa ta HC-SR501 firikwensin, abu dole ne ya cika buƙatu guda biyu:
- Abun yana fitar da hanyar infrared.
- Abun yana motsi ko girgiza
Don haka:
Idan abu yana fitar da hasken infrared amma baya motsi (misali, mutum ya tsaya cak ba tare da motsi ba), firikwensin ba ya gano shi.
Idan abu yana motsi amma baya fitar da infrared ray (misali, robot ko abin hawa), firikwensin BA a gano shi ba.
Gabatar da Masu ƙidayar lokaci
A cikin wannan exampza mu kuma gabatar da masu lokaci. Muna son LED ɗin ya tsaya a kunne don ƙayyadaddun adadin daƙiƙa bayan an gano motsi. Maimakon yin amfani da aikin jinkiri () wanda ke toshe lambar ku kuma baya ba ku damar yin wani abu na wasu daƙiƙai da aka ƙayyade, ya kamata mu yi amfani da mai ƙidayar lokaci.Aikin jinkiri().
Ya kamata ku saba da aikin jinkiri () kamar yadda ake amfani dashi ko'ina. Wannan aikin yana da sauƙin amfani. Yana karɓar lamba int guda ɗaya azaman hujja.
Wannan lambar tana wakiltar lokacin a cikin millise seconds shirin ya jira har sai an ci gaba zuwa layin lamba na gaba.Lokacin da kuka yi jinkiri(1000) shirin ku yana tsayawa akan wannan layin tsawon daƙiƙa 1.
jinkiri() shine aikin toshewa. Ayyukan toshewa suna hana shirin yin wani abu dabam har sai an kammala wannan takamaiman aikin. Idan kuna buƙatar ayyuka da yawa su faru a lokaci guda, ba za ku iya amfani da jinkiri ba ().
Don yawancin ayyukan yakamata ku guji amfani da jinkiri kuma kuyi amfani da masu ƙidayar lokaci maimakon.
Aikin millis().
Yin amfani da aikin da ake kira millis() za ka iya mayar da adadin millise seconds da suka shuɗe tun lokacin da aka fara shirin.Me yasa wannan aikin yake da amfani? Domin ta hanyar amfani da wasu lissafi, zaku iya tabbatar da tsawon lokacin da ya wuce ba tare da toshe lambar ku ba.
Abubuwan da ake buƙata
Don bin wannan koyawa kuna buƙatar sassa masu zuwa
- Bayani na ESP32 DEVKIT V1
- Firikwensin motsi na PIR (HC-SR501)
- Buzzer mai aiki
- Wayoyin tsalle
- Allodi
Tsarin tsariLura: Aikin voltage na HC-SR501 shine 5V. Yi amfani da fil ɗin Vin don kunna shi.
Lambar
Kafin ci gaba da wannan koyawa ya kamata ka shigar da ƙarin ESP32 a cikin Arduino IDE. Bi ɗayan waɗannan koyawa masu zuwa don shigar da ESP32 akan Arduino IDE, idan ba ku rigaya ba.(Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDE
Bude lambar Project_4_ESP32_PIR_Motion_Sensor.ino a cikin IDE arduino.
Zanga-zangar
Loda lambar zuwa allon ESP32 na ku. Tabbatar cewa kuna da madaidaicin allon da tashar tashar COM da aka zaɓa. Sanya matakan nuni na lambar.
Buɗe Serial Monitor a ƙimar baud na 115200.Matsar da hannunka a gaban firikwensin PIR. Ya kamata a kunna buzzer, kuma ana buga saƙon a cikin Serial Monitor yana cewa "An gano Motsi! Ƙararrawar Buzzer".
Bayan dakika 4 mai buzzer ya kamata ya kashe.
Project 5 ESP32 Canjawa Web Sabar
A cikin wannan aikin za ku ƙirƙiri mai zaman kansa web uwar garken tare da ESP32 wanda ke sarrafa abubuwan fitarwa (LEDs biyu) ta amfani da yanayin shirye-shiryen Arduino IDE. The web uwar garken yana amsa wayar hannu kuma ana iya isa gare shi da kowace na'ura wanda azaman mai lilo a cibiyar sadarwar gida. Za mu nuna muku yadda ake ƙirƙirar web uwar garken da yadda lambar ke aiki mataki-mataki.
Aikin Ya Ƙareview
Kafin mu tafi kai tsaye zuwa aikin, yana da mahimmanci a fayyace abin da muke web uwar garken zai yi, domin ya fi sauƙi a bi matakan daga baya.
- The web uwar garken za ku gina masu sarrafa LED guda biyu da aka haɗa da ESP32 GPIO 26 da GPIO 27;
- Kuna iya samun dama ga ESP32 web uwar garken ta buga adireshin IP na ESP32 akan mai bincike a cikin hanyar sadarwar gida;
- Ta danna maballin akan naka web uwar garken zaka iya canza yanayin kowane LED nan take.
Abubuwan da ake buƙata
Don wannan koyawa za ku buƙaci sassa masu zuwa:
- Bayani na ESP32 DEVKIT V1
- 2 x 5mm LED
- 2 x 200 ohm resistor
- Allodi
- Wayoyin tsalle
Tsarin tsari
Fara da gina kewaye. Haɗa LEDs guda biyu zuwa ESP32 kamar yadda aka nuna a cikin zane mai zuwa - LED ɗaya da aka haɗa zuwa GPIO 26, ɗayan kuma zuwa GPIO 27.
Lura: Muna amfani da allon ESP32 DEVKIT DOIT tare da fil 36. Kafin hada da'irar, tabbatar cewa kun duba ma'aunin allon da kuke amfani da shi.Lambar
Anan mun samar da lambar da ta haifar da ESP32 web uwar garken. Bude lambar Project_5_ESP32_Switch _Web_Server.ino a arduino IDE, amma kar a loda shi tukuna. Kuna buƙatar yin wasu canje-canje don yin aiki a gare ku.
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar cewa an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDE
Saita Shaidar Sadarwar Sadarwar ku
Kuna buƙatar canza layukan masu zuwa tare da takaddun shaidar hanyar sadarwar ku: SSID da kalmar wucewa. An yi sharhi sosai kan lambar inda ya kamata ku yi canje-canje.Ana loda lambar
Yanzu, za ka iya upload da code da kuma da web uwar garken zai yi aiki kai tsaye.
Bi matakai na gaba don loda lamba zuwa ESP32:
- Toshe allon ESP32 ɗin ku a cikin kwamfutar ku;
- A cikin Arduino IDE zaɓi allon ku a Kayan aiki> Board (a yanayin mu muna amfani da allon ESP32 DEVKIT DOIT);
- Zaɓi tashar COM a cikin Kayan aiki> Tashar jiragen ruwa.
- Danna maɓallin Upload a cikin Arduino IDE kuma jira ƴan daƙiƙa kaɗan yayin da lambar ke tattarawa da lodawa zuwa allon ku.
- Jira sakon "An gama uploading".
Nemo Adireshin IP na ESP
Bayan loda lambar, buɗe Serial Monitor a ƙimar baud na 115200.Danna maɓallin ESP32 EN (sake saiti). ESP32 yana haɗi zuwa Wi-Fi, kuma yana fitar da adireshin IP na ESP akan Serial Monitor. Kwafi waccan adireshin IP, saboda kuna buƙatar shi don samun damar ESP32 web uwar garken.
Shiga cikin Web Sabar
Don samun dama ga web uwar garken, buɗe burauzarka, liƙa adireshin IP na ESP32, kuma za ku ga shafi mai zuwa.
Lura: Ya kamata a haɗa burauzar ku da ESP32 zuwa LAN iri ɗaya.Idan ka kalli Serial Monitor, za ka iya ganin abin da ke faruwa a bango. ESP yana karɓar buƙatun HTTP daga sabon abokin ciniki (a wannan yanayin, burauzar ku).
Hakanan zaka iya ganin wasu bayanai game da buƙatar HTTP.
Zanga-zangar
Yanzu zaku iya gwada idan naku web uwar garken yana aiki yadda ya kamata. Danna maballin don sarrafa LEDs.A lokaci guda, zaku iya duba Serial Monitor don ganin abin da ke faruwa a baya. Domin misaliample, lokacin da kuka danna maɓallin don kunna GPIO 26, ESP32 yana karɓar buƙata akan /26/on URL.
Lokacin da ESP32 ya karɓi wannan buƙatar, yana juya LED ɗin da aka haɗe zuwa GPIO 26 ON kuma yana sabunta yanayin sa akan web shafi.
Maɓallin don GPIO 27 yana aiki a irin wannan hanya. Gwada cewa yana aiki da kyau.
Yadda Code Aiki
A cikin wannan sashe za a yi nazari sosai kan lambar don ganin yadda take aiki.
Abu na farko da ka bukatar ka yi shi ne hada da WiFi library.Kamar yadda aka ambata a baya, kuna buƙatar saka ssid da kalmar sirri a cikin layukan da ke biyowa a cikin ƙididdiga biyu.
Sa'an nan, ka saita naka web server zuwa port 80.
Layi mai zuwa yana ƙirƙira mai canzawa don adana taken buƙatun HTTP:
Na gaba, kuna ƙirƙiri masu canji na taimako don adana halin yanzu na abubuwan da kuke fitarwa. Idan kuna son ƙara ƙarin abubuwan fitarwa da adana yanayinsa, kuna buƙatar ƙirƙirar ƙarin masu canji.
Hakanan kuna buƙatar sanya GPIO ga kowane kayan aikin ku. Anan muna amfani da GPIO 26 da GPIO 27. Kuna iya amfani da kowane GPIO masu dacewa.
saitin()
Yanzu, bari mu shiga cikin saitin (). Na farko, za mu fara serial sadarwa a kan wani baud kudi na 115200 domin debugging dalilai.Hakanan kuna ayyana GPIO ɗin ku azaman FITOWA kuma saita su zuwa KASASHE.
Layukan da ke biyowa suna fara haɗin Wi-Fi tare da WiFi.begin(ssid, kalmar sirri), jira haɗin mai nasara kuma buga adireshin IP na ESP a cikin Serial Monitor.
madauki()
A cikin madauki() muna tsara abin da zai faru lokacin da sabon abokin ciniki ya kafa haɗi tare da web uwar garken.
ESP32 koyaushe yana sauraron abokan ciniki masu shigowa tare da layi mai zuwa:Lokacin da aka karɓi buƙata daga abokin ciniki, za mu adana bayanan mai shigowa. Lokacin madauki da ke biye zai kasance yana gudana muddin abokin ciniki ya ci gaba da haɗawa. Ba mu ba da shawarar canza ɓangaren lambar sai dai idan kun san ainihin abin da kuke yi.
Sashe na gaba na in da sauransu kalamai suna duba wane maballin da aka danna a cikin naka web shafi, kuma yana sarrafa abubuwan da aka fitar daidai. Kamar yadda muka gani a baya, muna yin buƙatu akan daban-daban URLs dangane da maɓallin da aka danna.
Don misaliample, idan kun danna maɓallin GPIO 26 ON, ESP32 yana karɓar buƙata akan /26/ON. URL (zamu iya ganin wancan bayanin akan taken HTTP akan Serial Monitor). Don haka, zamu iya bincika idan taken ya ƙunshi furci GET /26/on. Idan ya ƙunshi, muna canza yanayin fitarwa26 zuwa ON, kuma ESP32 yana kunna LED.
Wannan yana aiki daidai da sauran maɓallan. Don haka, idan kuna son ƙara ƙarin abubuwan fitarwa, yakamata ku canza wannan ɓangaren lambar don haɗa su.
Nuna HTML web shafi
Abu na gaba da kuke buƙatar yi, shine ƙirƙirar web shafi. ESP32 za ta aika da martani ga mai binciken ku tare da wasu lambar HTML don gina web shafi.
The web Ana aika shafi ga abokin ciniki ta amfani da wannan ma'anar abokin ciniki.println(). Ya kamata ku shigar da abin da kuke son aika wa abokin ciniki a matsayin hujja.
Abu na farko da ya kamata mu aika koyaushe shine layin da ke gaba, wanda ke nuna cewa muna aika HTML.Sa'an nan kuma, layin da ke gaba yana yin web shafi mai amsawa a kowane web mai bincike.
Kuma ana amfani da waɗannan abubuwan don hana buƙatun akan favicon. – Ba kwa buƙatar damuwa game da wannan layin.
Salon da Web Shafi
Bayan haka, muna da wasu rubutun CSS don yin salon maɓallan da web bayyanar shafi.
Mun zaɓi font ɗin Helvetica, ayyana abun ciki don nunawa azaman toshe kuma muna daidaitawa a tsakiya.Muna salon maɓallan mu tare da launi # 4CAF50, ba tare da iyaka ba, rubutu cikin farin launi, kuma tare da wannan padding: 16px 40px. Mun kuma saita kayan ado na rubutu zuwa babu, ayyana girman font, gefe, da siginan kwamfuta zuwa mai nuni.
Muna kuma ayyana salon maɓalli na biyu, tare da duk kaddarorin maɓallin da muka ayyana a baya, amma tare da launi daban-daban. Wannan zai zama salon maɓallin kashewa.
Saitin Web Shafin Farko
A layi na gaba zaku iya saita taken farko na ku web shafi. Anan muna da “ESP32 Web Server”, amma kuna iya canza wannan rubutu zuwa duk abin da kuke so.Nuna Maɓallai da Jiha Masu Daidaitawa
Sannan, kuna rubuta sakin layi don nuna yanayin GPIO 26 na yanzu. Kamar yadda kuke gani muna amfani da maballin fitarwa26State, ta yadda jihar ke sabuntawa nan take lokacin da wannan canjin ya canza.Sannan, muna nuna maɓallin kunnawa ko kashewa, dangane da yanayin GPIO na yanzu. Idan yanayin GPIO na yanzu yana kashe, muna nuna maɓallin ON, idan ba haka ba, muna nuna maɓallin KASHE.
Muna amfani da wannan hanya don GPIO 27.
Rufe Haɗin
A ƙarshe, lokacin da martani ya ƙare, muna share madaidaicin taken, kuma mu dakatar da haɗin kai tare da abokin ciniki tare da client.stop().
Nade Up
A cikin wannan koyawa mun nuna muku yadda ake ginawa web uwar garke tare da ESP32. Mun nuna muku wani tsohon tsohonampwanda ke sarrafa LEDs guda biyu, amma ra'ayin shine maye gurbin waɗannan ledojin tare da relay, ko duk wani fitarwa da kuke son sarrafawa.
Project 6 RGB LED Web Sabar
A cikin wannan aikin za mu nuna muku yadda ake sarrafa RGB LED tare da allon ESP32 ta amfani da a web uwar garken tare da mai ɗaukar launi.
Aikin Ya Ƙareview
Kafin farawa, bari mu ga yadda wannan aikin yake aiki:
- Saukewa: ESP32 web uwar garken yana nuna mai ɗaukar launi.
- Lokacin da kuka zaɓi launi, burauzar ku tana yin buƙatu akan a URL wanda ya ƙunshi sigogin R, G, da B na launi da aka zaɓa.
- ESP32 ɗinku yana karɓar buƙatar kuma yana raba ƙimar kowane sigar launi.
- Sannan, yana aika siginar PWM tare da ƙimar daidai ga GPIO waɗanda ke sarrafa RGB LED.
Ta yaya LEDs RGB suke aiki?
A cikin na kowa cathode RGB LED, duk uku LEDs raba wani korau dangane (cathode) .Duk abin da aka haɗa a cikin kit ne na kowa-cathode RGB.Yadda ake ƙirƙirar launuka daban-daban?
Tare da LED RGB zaka iya, ba shakka, samar da ja, kore, da haske shuɗi, kuma ta hanyar daidaita ƙarfin kowane LED, zaku iya samar da wasu launuka kuma.
Don misaliampDon haka, don samar da haske mai shuɗi zalla, zaku saita LED mai shuɗi zuwa mafi girman ƙarfi da kore da jajayen ledoji zuwa mafi ƙarancin ƙarfi. Don farin haske, za ku saita duk LEDs guda uku zuwa mafi girman ƙarfi.
Haɗa launuka
Don samar da wasu launuka, zaku iya haɗa launuka uku a cikin ƙarfi daban-daban. Don daidaita ƙarfin kowane LED zaka iya amfani da siginar PWM.
Saboda LEDs suna kusa da juna sosai, idanunmu suna ganin sakamakon haɗuwa da launuka, maimakon launuka uku daban-daban.
Don samun ra'ayi kan yadda ake hada launuka, dubi ginshiƙi mai zuwa.
Wannan shine mafi sauƙin ginshiƙi haɗa launi, amma yana ba ku ra'ayi yadda yake aiki da yadda ake samar da launuka daban-daban.Abubuwan da ake buƙata
Don wannan aikin kuna buƙatar sassa masu zuwa:
- Bayani na ESP32 DEVKIT V1
- LED RGB
- 3 x 220 ohm resistors
- Wayoyin tsalle
- Allodi
Tsarin tsariLambar
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar cewa an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
- Sanya ESP32 Add-on a cikin Arduino IDE
Bayan haɗa da'irar, Buɗe lambar
Aikin_6_RGB_LED_Web_Server.ino a cikin IDE arduino.
Kafin loda lambar, kar a manta da saka bayanan cibiyar sadarwar ku ta yadda ESP zai iya haɗi zuwa cibiyar sadarwar ku.Yadda lambar ke aiki
Zanen ESP32 yana amfani da ɗakin karatu na WiFi.h.Layukan da ke biyowa suna bayyana ma'anar kirtani don riƙe sigogin R, G, da B daga buƙatar.
Ana amfani da masu canji huɗu masu zuwa don yanke buƙatun HTTP daga baya.
Ƙirƙiri masu canji guda uku don GPIOs waɗanda za su sarrafa sigogin tsiri R, G, da B. A wannan yanayin muna amfani da GPIO 13, GPIO 12, da GPIO 14.
Waɗannan GPIOs suna buƙatar fitar da siginar PWM, don haka muna buƙatar fara saita abubuwan PWM. Saita mitar siginar PWM zuwa 5000 Hz. Sannan, haɗa tashar PWM don kowane launi
Kuma a ƙarshe, saita ƙudurin tashoshin PWM zuwa 8-bit
A cikin saitin(), sanya abubuwan PWM zuwa tashoshin PWM
Haɗa tashoshin PWM zuwa GPIO masu dacewa
Sashen lambar da ke gaba yana nuna mai zaɓin launi a cikin ku web shafi kuma yana yin buƙatu dangane da launi da kuka zaɓa.
Lokacin da kuka zaɓi launi, kuna karɓar buƙatu tare da tsari mai zuwa.
Don haka, muna buƙatar raba wannan kirtani don samun sigogin R, G, da B. Ana adana sigogi a redString, greenString, da blueString masu canji kuma suna iya samun ƙima tsakanin 0 da 255.Don sarrafa tsiri tare da ESP32, yi amfani da aikin ledcWrite() don samar da siginar PWM tare da ƙimar da aka yanke daga HTTP. nema.
Lura: ƙarin koyo game da PWM tare da ESP32: Project 3 ESP32 PWM(Analog Output)
Don sarrafa tsiri tare da ESP8266, kawai muna buƙatar amfani
aikin analogWrite() don samar da siginar PWM tare da ƙididdige ƙididdiga daga buƙatun HTPP.
analogWrite (redPin, redString.toInt());
analogWrite (greenPin, greenString.toInt());
AnalogWrite (bluePin, blueString.toInt())
Saboda muna samun ƙima a cikin madaidaicin kirtani, muna buƙatar mu canza su zuwa lamba ta amfani da hanyar toInt().
Zanga-zangar
Bayan shigar da takardun shaidarka na cibiyar sadarwa, zaɓi allon dama da tashar COM sannan ka loda lambar zuwa ESP32.Upload code reference matakan.
Bayan lodawa, buɗe Serial Monitor a ƙimar baud na 115200 kuma danna maɓallin ESP Enable/Sake saitin. Ya kamata ku sami adireshin IP na allo.Bude burauzar ku kuma saka adireshin IP na ESP. Yanzu, yi amfani da mai ɗaukar launi don zaɓar launi don RGB LED.
Sa'an nan, kana bukatar ka danna "Change Launi" button domin launi ya yi tasiri.Don kashe LED RGB, zaɓi launin baƙar fata.
Launuka masu ƙarfi (a saman mai ɗaukar launi), sune waɗanda zasu haifar da sakamako mai kyau.
Aikin 7 ESP32 Relay Web Sabar
Yin amfani da relay tare da ESP32 babbar hanya ce don sarrafa kayan aikin gida na AC daga nesa. Wannan koyawa tana bayanin yadda ake sarrafa tsarin relay tare da ESP32.
Za mu dubi yadda tsarin relay ke aiki, yadda ake haɗa relay zuwa ESP32 da gina web uwar garken don sarrafa relay daga nesa.
Gabatar da Relays
Relay shine na'ura mai aiki da wutar lantarki kuma kamar kowane maɓalli, wanda za'a iya kunna shi ko kashe shi, barin abin da ke gudana ko a'a. Ana iya sarrafa shi tare da ƙaramin voltages, kamar 3.3V da ESP32 GPIOs ke bayarwa kuma yana ba mu damar sarrafa babban vol.tagkamar 12V, 24V ko mains voltage (230V a Turai da 120V a Amurka).A gefen hagu, akwai saiti biyu na kwasfa uku don haɗa babban voltages, da fil a gefen dama (low-voltage) haɗa zuwa ESP32 GPIOs.
Main Voltage HaɗiNa'urar relay da aka nuna a cikin hoton da ya gabata yana da masu haɗin kai guda biyu, kowannensu yana da kwasfa uku: gama gari (COM), An rufe Al'ada (NC), da Buɗe Al'ada (NO).
- COM: haɗa na yanzu da kake son sarrafawa (mains voltagda).
- NC (An rufe kullum): ana amfani da tsarin da aka rufe a kullum lokacin da kake son a rufe relay ta tsohuwa. An haɗa NC fil ɗin COM, ma'ana na yanzu yana gudana sai dai idan kun aika sigina daga ESP32 zuwa tsarin relay don buɗe kewaye da dakatar da kwararar yanzu.
- NO (Buɗe A Kullum): Tsarin buɗewa na yau da kullun yana aiki da sauran hanyar: babu wata alaƙa tsakanin fil ɗin NO da COM, don haka da'irar ta karye sai dai idan kun aika sigina daga ESP32 don rufe kewaye.
Sarrafa FilLow-voltage gefen yana da saitin fil huɗu da saitin fil uku. Saitin farko ya ƙunshi VCC da GND don ƙarfafa tsarin, da shigar da 1 (IN1) da shigar da 2 (IN2) don sarrafa ƙasa da na sama, bi da bi.
Idan tsarin relay ɗin ku yana da tashoshi ɗaya kawai, zaku sami IN fil ɗaya kawai. Idan kana da tashoshi huɗu, za ku sami IN fil huɗu, da sauransu.
Siginar da kuka aika zuwa fil ɗin IN, yana ƙayyade ko relay ɗin yana aiki ko a'a. Relay yana kunna lokacin da shigarwar ta wuce ƙasa da kusan 2V. Wannan yana nufin cewa za ku sami abubuwa masu zuwa:
- Daidaitaccen Rufewa (NC):
- HIGH sigina - halin yanzu yana gudana
- LOW sigina - halin yanzu baya gudana
- Akan Bude sanyi (NO):
- HIGH sigina - halin yanzu baya gudana
- LOW sigina - halin yanzu yana gudana
Ya kamata ku yi amfani da tsarin da aka rufe akai-akai lokacin da halin yanzu ya kamata ya kasance yana gudana mafi yawan lokuta, kuma kuna son dakatar da shi lokaci-lokaci.
Yi amfani da tsarin buɗewa na yau da kullun lokacin da kuke son halin yanzu ya gudana lokaci-lokaci (misaliample, kunna alamp lokaci-lokaci).
Zaɓin Samar da WutaSaitin fil na biyu ya ƙunshi fil ɗin GND, VCC, da kuma JD-VCC.
Fitin JD-VCC yana ba da ƙarfin lantarki na relay. Lura cewa tsarin yana da hular tsalle mai haɗa fitattun VCC da JD-VCC; wanda aka nuna anan rawaya ne, amma naka yana iya zama kalar daban.
Tare da hular jumper a kunne, ana haɗa fil ɗin VCC da JD-VCC. Wannan yana nufin relay electromagnet yana aiki kai tsaye daga fil ɗin wutar lantarki na ESP32, don haka tsarin relay da na'urorin ESP32 ba su keɓanta da juna ba.
Ba tare da hular tsalle ba, kuna buƙatar samar da tushen wutar lantarki mai zaman kanta don ƙarfafa wutar lantarki ta relay ta hanyar fil JD-VCC. Wannan saitin yana keɓance relays a zahiri daga ESP32 tare da ginanniyar kayan aikin optocoupler, wanda ke hana lalacewa ga ESP32 idan akwai tayoyin lantarki.
Tsarin tsariGargadi: Amfani da high voltage samar da wutar lantarki na iya haifar da mummunan rauni.
Saboda haka, 5mm LEDs ana amfani da maimakon high wadata voltage kwararan fitila a cikin gwaji. Idan baku saba da mains voltage tambayi wani wanda zai taimake ka. Yayin da ake tsara ESP ko na'ura mai ba da hanya tsakanin hanyoyin sadarwa, tabbatar da cewa komai ya katse daga na'urorin lantarkitage.Shigar da Labura don ESP32
Don gina wannan web uwar garken, muna amfani da ESPAsyncWebLaburaren uwar garken da AsyncTCP Library.
Shigar da ESPAsyncWebLaburaren uwar garken
Bi matakai na gaba don shigar da ESPAsyncWebSabar ɗakin karatu:
- Danna nan don zazzage ESPAsyncWebLaburaren uwar garken. Ya kamata ku samu
babban fayil .zip a cikin babban fayil ɗin Zazzagewar ku - Cire babban fayil ɗin .zip kuma yakamata ku sami ESPAsyncWebBabban fayil ɗin uwar garken
- Sake suna babban fayil ɗinku daga ESPAsyncWebMaigidan uwar garken zuwa ESPAsyncWebSabar
- Matsar da ESPAsyncWebBabban fayil ɗin uwar garken zuwa babban fayil ɗin shigarwar IDE na Arduino
A madadin, a cikin Arduino IDE, zaku iya zuwa Sketch> Haɗa
Laburare > Ƙara .ZIP laburare… kuma zaɓi ɗakin karatu da kuka sauke.
Shigar da Laburaren AsyncTCP don ESP32
The ESPAsyncWebSabar ɗakin karatu yana buƙatar AsyncTCP library don aiki. Bi
matakai na gaba don shigar da wannan ɗakin karatu:
- Danna nan don zazzage ɗakin karatu na AsyncTCP. Ya kamata ku sami babban fayil na .zip a cikin babban fayil ɗin Zazzagewar ku
- Cire babban fayil ɗin .zip kuma yakamata ku sami babban fayil na AsyncTCP-master
1. Sake suna babban fayil ɗinku daga AsyncTCP-master zuwa AsyncTCP
3. Matsar da babban fayil ɗin AsyncTCP zuwa babban fayil ɗin shigarwa na IDE Arduino IDE
4. A ƙarshe, sake buɗe IDE na Arduino
A madadin, a cikin Arduino IDE, zaku iya zuwa Sketch> Haɗa
Laburare > Ƙara .ZIP laburare… kuma zaɓi ɗakin karatu da kuka sauke.
Lambar
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar cewa an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDE
Bayan shigar da ɗakunan karatu da ake buƙata, buɗe lambar Project_7_ESP32_Relay_Web_Server.ino a cikin IDE arduino.
Kafin loda lambar, kar a manta da saka bayanan cibiyar sadarwar ku ta yadda ESP zai iya haɗi zuwa cibiyar sadarwar ku.Zanga-zangar
Bayan yin canje-canje masu mahimmanci, loda lambar zuwa ESP32.Upload code reference matakan.
Bude Serial Monitor a ƙimar baud na 115200 kuma danna maɓallin ESP32 EN don samun adireshin IP ɗin sa. Sa'an nan, buɗe mai bincike a cikin hanyar sadarwar ku kuma rubuta adireshin IP na ESP32 don samun damar shiga. web uwar garken.
Bude Serial Monitor a ƙimar baud na 115200 kuma danna maɓallin ESP32 EN don samun adireshin IP ɗin sa. Sa'an nan, buɗe mai bincike a cikin hanyar sadarwar ku kuma rubuta adireshin IP na ESP32 don samun damar shiga. web uwar garken.Lura: Ya kamata a haɗa burauzar ku da ESP32 zuwa LAN iri ɗaya.
Ya kamata ku sami wani abu kamar haka tare da maɓalli biyu kamar adadin relays ɗin da kuka ayyana a lambar ku.Yanzu, zaku iya amfani da maɓallan don sarrafa relays ɗinku ta amfani da wayoyinku.
Project_8_Fitarwa_Jihar_Aiki tare_ Web_Server
Wannan aikin yana nuna yadda ake sarrafa abubuwan ESP32 ko ESP8266 ta amfani da a web uwar garken da maɓallin jiki lokaci guda. An sabunta yanayin fitarwa akan web shafi ko an canza ta hanyar maɓallin zahiri ko web uwar garken.
Aikin Ya Ƙareview
Bari mu yi sauri duba yadda aikin ke aiki.ESP32 ko ESP8266 sun karbi bakuncin a web uwar garken da ke ba ka damar sarrafa yanayin fitarwa;
- Yanayin fitarwa na yanzu yana nunawa akan web uwar garken;
- Hakanan an haɗa ESP zuwa maɓallin turawa ta jiki wanda ke sarrafa fitarwa iri ɗaya;
- Idan kun canza yanayin fitarwa ta amfani da maɓallin puhsbutton na zahiri, ana kuma sabunta yanayin sa na yanzu akan web uwar garken.
A taƙaice, wannan aikin yana ba ku damar sarrafa fitarwa iri ɗaya ta amfani da a web uwar garken da maɓallin turawa lokaci guda. Duk lokacin da yanayin fitarwa ya canza, da web an sabunta uwar garken.
Abubuwan da ake buƙata
Ga jerin sassan da kuke buƙatar gina kewaye:
- Bayani na ESP32 DEVKIT V1
- 5mm LED
- 220 ohm resistor
- Pashbutton
- 10k Ohm resistor
- Allodi
- Wayoyin tsalle
Tsarin tsariShigar da Labura don ESP32
Don gina wannan web uwar garken, muna amfani da ESPAsyncWebLaburaren uwar garke da AsyncTCP Library.(Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Shigar da ESPAsyncWebLaburaren uwar garken
Bi matakai na gaba don shigar da ESPAsyncWebLaburaren uwar garken:
- Danna nan don zazzage ESPAsyncWebLaburaren uwar garken. Ya kamata ku samu
babban fayil .zip a cikin babban fayil ɗin Zazzagewar ku - Cire babban fayil ɗin .zip kuma yakamata ku sami ESPAsyncWebBabban fayil ɗin uwar garken
- Sake suna babban fayil ɗinku daga ESPAsyncWebMaigidan uwar garken zuwa ESPAsyncWebSabar
- Matsar da ESPAsyncWebBabban fayil ɗin uwar garken zuwa babban fayil ɗin shigarwar IDE na Arduino
A madadin, a cikin Arduino IDE, zaku iya zuwa Sketch> Haɗa
Laburare > Ƙara .ZIP laburare… kuma zaɓi ɗakin karatu da kuka sauke.
Shigar da Laburaren AsyncTCP don ESP32
Farashin ESPAsyncWebLaburaren uwar garken yana buƙatar ɗakin karatu na AsyncTCP yayi aiki. Bi matakai na gaba don shigar da wannan ɗakin karatu:
- Danna nan don zazzage ɗakin karatu na AsyncTCP. Ya kamata ku sami babban fayil na .zip a cikin babban fayil ɗin Zazzagewar ku
- Cire babban fayil ɗin .zip kuma yakamata ku sami babban fayil na AsyncTCP-master
- Sake suna babban fayil ɗinku daga AsyncTCP-master zuwa AsyncTCP
- Matsar da babban fayil ɗin AsyncTCP zuwa babban fayil ɗin shigarwar Arduino IDE ɗin ku
- A ƙarshe, sake buɗe IDE na Arduino
A madadin, a cikin Arduino IDE, zaku iya zuwa Sketch> Haɗa
Laburare > Ƙara .ZIP laburare… kuma zaɓi ɗakin karatu da kuka sauke.
Lambar
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar cewa an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDE
Bayan shigar da dakunan karatu da ake buƙata, Buɗe lambar
Project_8_Fitarwa_Jihar_Aiki tare_Web_Server.ino a cikin IDE arduino.
Kafin loda lambar, kar a manta da saka bayanan cibiyar sadarwar ku ta yadda ESP zai iya haɗi zuwa cibiyar sadarwar ku.
Yadda Code Aiki
Maballin Jiha da Jiha Output
Maɓallin LEDState yana riƙe da yanayin fitarwa na LED. Don tsoho, lokacin da web uwar garken yana farawa, yana da LOW.
Ana amfani da maɓallinState da LastButtonState don gano ko an danna maɓallin turawa ko a'a.Button (web uwar garke)
Ba mu haɗa da HTML don ƙirƙirar maɓalli akan madaidaicin index_html ba.
Wannan saboda muna so mu iya canza shi dangane da yanayin LED na yanzu wanda kuma ana iya canza shi tare da maɓallin turawa.
Don haka, mun ƙirƙiri maɓalli don maɓallin% BUTTONPLACEHOLDER% wanda za a maye gurbinsa da rubutun HTML don ƙirƙirar maɓallin daga baya akan lambar (ana yin wannan a cikin aikin sarrafawa).processor()
Aikin mai sarrafa () yana maye gurbin kowane mai riƙe da rubutu akan rubutun HTML tare da ainihin ƙima. Na farko, yana bincika ko rubutun HTML ya ƙunshi wani
masu sanya wuri% BUTTONPLACEHOLDER%.Sannan, kira aikin theoutputState() wanda ke dawo da yanayin fitarwa na yanzu. Mun ajiye shi a cikin ma'aunin fitarwaStateValue.
Bayan haka, yi amfani da wannan ƙimar don ƙirƙirar rubutun HTML don nuna maɓallin tare da yanayin da ya dace:
Buƙatar HTTP GET don Canja Jahar fitarwa (JavaScript)
Lokacin da ka danna maɓallin, ana kiran aikin toggleCheckbox(). Wannan aikin zai yi tambaya akan daban-daban URLs don kunna ko kashe LED.Don kunna LED, yana yin buƙatu akan /update?state=1 URL:
In ba haka ba, yana yin buƙatu akan /update?state=0 URL.
Buƙatar HTTP GET don Sabunta Jiha (JavaScript)
Don ci gaba da sabunta yanayin fitarwa akan web uwar garken, muna kiran aikin mai zuwa wanda ke yin sabon buƙatu akan /state URL kowane dakika.Karɓar Buƙatun
Bayan haka, muna buƙatar ɗaukar abin da zai faru lokacin da ESP32 ko ESP8266 suka karɓi buƙatun akan waɗannan URLs.
Lokacin da aka karɓi buƙata akan tushen /URL, muna aika shafin HTML da kuma na'ura mai sarrafawa.Layukan da ke biyowa suna bincika ko kun sami buƙatu akan /update?state=1 ko /update?state=0 URL kuma yana canza ledState daidai.
Lokacin da aka karɓi buƙata akan /jihar URL, muna aika yanayin fitarwa na yanzu:
madauki()
A cikin madauki (), muna lalata maɓallin turawa kuma muna kunna ko kashe LED dangane da ƙimar ledState. m.Zanga-zangar
Loda lambar zuwa allon ESP32 ɗinku. Sanya matakan nunin lambar.
Sa'an nan, bude Serial Monitor a baud kudi na 115200. Danna kan-board button EN/RST don samun shi ne IP address.Bude mai bincike akan hanyar sadarwar gida, kuma rubuta adireshin IP na ESP. Ya kamata ku sami damar shiga web uwar garken kamar yadda aka nuna a kasa.
Lura: Ya kamata a haɗa burauzar ku da ESP32 zuwa LAN iri ɗaya.Kuna iya kunna maballin akan web uwar garken don kunna LED.
Hakanan zaka iya sarrafa LED iri ɗaya tare da maɓallin turawa ta zahiri. Za a sabunta yanayin sa koyaushe ta atomatik a kan web uwar garken.
Aikin 9 ESP32 DHT11 Web Sabar
A cikin wannan aikin, zaku koyi yadda ake gina ESP32 mai kama da juna web uwar garken tare da DHT11 wanda ke nuna zafi da zafi ta amfani da Arduino IDE.
Abubuwan da ake bukata
The web uwar garken za mu gina sabunta karatun ta atomatik ba tare da buƙatar sabunta ta ba web shafi.
Da wannan aikin za ku koyi:
- Yadda ake karanta zafin jiki da zafi daga na'urori masu auna firikwensin DHT;
- Gina asynchronous web uwar garke ta amfani da ESPAsyncWebLaburaren uwar garken;
- Sabunta karatun firikwensin ta atomatik ba tare da buƙatar sabunta bayanan ba web shafi.
Asynchronous Web Sabar
Don gina web uwar garken za mu yi amfani da ESPAsyncWebLaburaren uwar garken wanda ke ba da hanya mai sauƙi don gina asynchronous web uwar garken. Gina asynchronous web uwar garken yana da advan da yawatages kamar yadda aka ambata a cikin ɗakin karatu na GitHub, kamar:
- "Karfafa haɗin kai fiye da ɗaya a lokaci guda";
- "Lokacin da kuka aika da amsa, kuna shirye nan da nan don sarrafa sauran haɗin gwiwa yayin da uwar garken ke kula da aika amsa a bango";
- "Injin sarrafa samfuri mai sauƙi don ɗaukar samfuri";
Abubuwan da ake buƙata
Don kammala wannan koyawa kuna buƙatar sassa masu zuwa:
- Saukewa: ESP32
- Bayanan Bayani na DHT11
- Allodi
- Wayoyin tsalle
Tsarin tsariShigar da Dakunan karatu
Kuna buƙatar shigar da dakunan karatu guda biyu don wannan aikin:
- The DHT da kuma Adafruit Unified Sensor Dakunan karatu na direba don karantawa daga firikwensin DHT.
- ESPAsyncWebSabar kuma Async TCP dakunan karatu don gina asynchronous web uwar garken.
Bi umarni na gaba don shigar da waɗannan ɗakunan karatu:
Ana shigar da ɗakin karatu na Sensor DHT
Don karanta daga firikwensin DHT ta amfani da Arduino IDE, kuna buƙatar shigar da DHT firikwensin ɗakin karatu. Bi matakai na gaba don shigar da ɗakin karatu.
- Danna nan don zazzage ɗakin karatu na Sensor DHT. Ya kamata ku sami babban fayil na .zip a cikin babban fayil ɗin Zazzagewar ku
- Cire babban fayil ɗin .zip kuma ya kamata ka sami DHT-sensor-library-master babban fayil
- Sake suna babban fayil ɗinku daga DHT-sensor-library-master zuwa DHT_sensor
- Matsar da babban fayil ɗin DHT_sensor zuwa babban fayil ɗin shigarwa na IDE Arduino
- A ƙarshe, sake buɗe IDE na Arduino
Shigar da Adafruit Unified Sensor Driver
Hakanan kuna buƙatar shigar da Adafruit Unified Sensor Driver Library don aiki tare da firikwensin DHT. Bi matakai na gaba don shigar da ɗakin karatu.
- Danna nan don saukar da ɗakin karatu na Adafruit Unified Sensor. Ya kamata ku sami babban fayil na .zip a cikin babban fayil ɗin Zazzagewar ku
- Cire babban fayil ɗin .zip kuma yakamata ku sami babban fayil ɗin Adafruit_sensor-master
- Sake suna babban fayil ɗinku daga Adafruit_sensor-master zuwa Adafruit_sensor
- Matsar da babban fayil ɗin Adafruit_sensor zuwa babban fayil ɗin shigarwa na IDE Arduino
- A ƙarshe, sake buɗe IDE na Arduino
Shigar da ESPAsyncWebLaburaren uwar garken
Bi matakai na gaba don shigar da ESPAsyncWebSabar ɗakin karatu:
- Danna nan don zazzage ESPAsyncWebLaburaren uwar garken. Ya kamata ku samu
babban fayil .zip a cikin babban fayil ɗin Zazzagewar ku - Cire babban fayil ɗin .zip kuma ya kamata
samun ESPAsyncWebBabban fayil ɗin uwar garken - Sake suna babban fayil ɗinku daga ESPAsyncWebMaigidan uwar garken zuwa ESPAsyncWebSabar
- Matsar da ESPAsyncWebBabban fayil ɗin uwar garken zuwa babban fayil ɗin shigarwar IDE na Arduino
Shigar da Async TCP Library don ESP32
The ESPAsyncWebSabar ɗakin karatu yana buƙatar AsyncTCP library don aiki. Bi matakai na gaba don shigar da wannan ɗakin karatu:
- Danna nan don zazzage ɗakin karatu na AsyncTCP. Ya kamata ku sami babban fayil na .zip a cikin babban fayil ɗin Zazzagewar ku
- Cire babban fayil ɗin .zip kuma yakamata ku sami babban fayil na AsyncTCP-master
- Sake suna babban fayil ɗinku daga AsyncTCP-master zuwa AsyncTCP
- Matsar da babban fayil ɗin AsyncTCP zuwa babban fayil ɗin shigarwar Arduino IDE ɗin ku
- A ƙarshe, sake buɗe IDE na Arduino
Lambar
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar cewa an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDE
Bayan shigar da dakunan karatu da ake buƙata, Buɗe lambar
Project_9_ESP32_DHT11_Web_Server.ino a cikin IDE arduino.
Kafin loda lambar, kar a manta da saka bayanan cibiyar sadarwar ku ta yadda ESP zai iya haɗi zuwa cibiyar sadarwar ku.Yadda Code Aiki
A cikin sakin layi na gaba za mu bayyana yadda lambar ke aiki. Ci gaba da karantawa idan kuna son ƙarin koyo ko tsalle zuwa sashin Muzaharar don ganin sakamako na ƙarshe.
Shigo da dakunan karatu
Da farko, shigo da dakunan karatu da ake buƙata. WiFi, ESPAsyncWebAna buƙatar uwar garken da ESPAsyncTCP don gina web uwar garken. Ana buƙatar Adafruit_Sensor da dakunan karatu na DHT don karantawa daga na'urori masu auna firikwensin DHT11 ko DHT22.Ma'anar masu canji
Ƙayyade GPIO wanda aka haɗa fil ɗin bayanan DHT zuwa. A wannan yanayin, an haɗa shi zuwa GPIO 4.Sannan, zaɓi nau'in firikwensin DHT da kuke amfani da shi. A cikin tsohon muample, muna amfani da DHT22. Idan kana amfani da wani nau'in, kawai kuna buƙatar uncomment na firikwensin ku kuma kuyi sharhi duk sauran.
Ƙaddamar da wani abu DHT tare da nau'i da fil da muka bayyana a baya.Ƙirƙiri AsyncWebAbun uwar garken akan tashar jiragen ruwa 80.
Karanta Ayyukan Zazzabi da Humidity
Mun ƙirƙiri ayyuka guda biyu: ɗaya don karanta zafin jiki Mun ƙirƙiri ayyuka biyu: ɗaya don karanta zafin jiki (readDHTTemperature ()) ɗayan kuma don karanta zafi (karanta DHTHumidity()).Samun karatun firikwensin abu ne mai sauƙi kamar amfani da Samun karatun firikwensin yana da sauƙi kamar amfani da readTemperature() da readHumidity() hanyoyin akan abun dht.
Hakanan muna da yanayin da ke dawo da dashes biyu (-) idan na'urar firikwensin ya kasa samun karatun.
Ana mayar da karatun azaman nau'in kirtani. Don canza mai iyo zuwa kirtani, yi amfani da aikin String().
Ta hanyar tsoho, muna karanta yanayin zafi a cikin ma'aunin Celsius. Don samun zafin jiki a cikin digiri Fahrenheit, yi sharhi game da zafin jiki a Celsius da rashin daidaituwa da zafin jiki a Fahrenheit, saboda kuna da masu zuwa:
Loda lambar
Yanzu, loda lambar zuwa ESP32. Tabbatar cewa kuna da madaidaicin allon da tashar tashar COM da aka zaɓa. Sanya matakan nuni na lambar.
Bayan lodawa, buɗe Serial Monitor a ƙimar baud na 115200. Danna maɓallin sake saiti na ESP32. Ya kamata a buga adireshin IP na ESP32 a cikin jerin saka idanu.Zanga-zangar
Bude mai bincike kuma buga adireshin IP na ESP32. Naku web uwar garken ya kamata ya nuna sabon karatun firikwensin.
Lura: Ya kamata a haɗa burauzar ku da ESP32 zuwa LAN iri ɗaya.
Yi la'akari da cewa ana sabunta karatun zafin jiki da zafi ta atomatik ba tare da buƙatar wartsakewa ba web shafi.
Project_10_ESP32_OLED_Nuni
Wannan aikin yana nuna yadda ake amfani da 0.96 inch SSD1306 OLED nuni tare da ESP32 ta amfani da Arduino IDE.
Gabatar da 0.96 inch OLED Nuni
The OLED nuni abin da za mu yi amfani da shi a cikin wannan koyawa shine samfurin SSD1306: monocolor, nuni 0.96 inch tare da 128 × 64 pixels kamar yadda aka nuna a cikin adadi mai zuwa.Nunin OLED baya buƙatar hasken baya, wanda ke haifar da kyakkyawan bambanci a cikin mahalli masu duhu. Bugu da ƙari, pixels ɗin sa suna cinye kuzari kawai lokacin da suke kunne, don haka nunin OLED yana cin ƙarancin ƙarfi idan aka kwatanta da sauran nunin.
Saboda nunin OLED yana amfani da ka'idar sadarwa ta I2C, wayoyi yana da sauƙi. Kuna iya amfani da tebur mai zuwa azaman tunani.
OLED Pin | ESP32 |
Vin | 3.3V |
GND | GND |
SCL | Farashin GPIO22 |
SDA | Farashin GPIO21 |
Tsarin tsariSanya SSD1306 OLED Library - ESP32
Akwai ɗakunan karatu da yawa don sarrafa nunin OLED tare da ESP32.
A cikin wannan koyawa za mu yi amfani da ɗakunan karatu na Adafruit guda biyu: Adafruit_SSD1306 kuma Adafruit_GFX.
Bi matakai na gaba don shigar da waɗannan ɗakunan karatu.
- Bude Arduino IDE ɗin ku kuma je zuwa Sketch> Haɗa Laburare> Sarrafa Laburare. The Library Manager ya kamata bude.
- Rubuta "SSD1306" a cikin akwatin bincike kuma shigar da ɗakin karatu na SSD1306 daga Adafruit.
- Bayan shigar da ɗakin karatu na SSD1306 daga Adafruit, rubuta "GFX" a cikin akwatin bincike kuma shigar da ɗakin karatu.
- Bayan shigar da ɗakunan karatu, sake kunna IDE na Arduino.
Lambar
Bayan shigar da dakunan karatu da ake buƙata, Buɗe Project_10_ESP32_OLED_Display.ino a cikin arduino IDE. code
Za mu tsara ESP32 ta amfani da Arduino IDE, don haka tabbatar an shigar da ƙarin ESP32 kafin ci gaba: (Idan kun riga kun yi wannan matakin, zaku iya tsallake zuwa mataki na gaba.)
Sanya ESP32 Add-on a cikin Arduino IDEYadda Code Aiki
Shigo da dakunan karatu
Da farko, kuna buƙatar shigo da dakunan karatu masu mahimmanci. Laburaren Waya don amfani da I2C da dakunan karatu na Adafruit don rubutawa zuwa nuni: Adafruit_GFX da Adafruit_SSD1306.Fara nunin OLED
Sannan, kuna ayyana nisa da tsayin ku na OLED. A cikin wannan exampHar ila yau, muna amfani da nuni na 128×64 OLED. Idan kana amfani da wasu masu girma dabam, zaku iya canza wannan a cikin SCREEN_WIDTH, da SCREEN_HEIGHT masu canji.Sa'an nan, fara wani nuni tare da fadi da tsawo da aka ayyana a baya tare da I2C sadarwa yarjejeniya (&Wire).
Ma'aunin (-1) yana nufin nunin OLED ɗin ku ba shi da fil ɗin SAKE SAKETA. Idan nunin OLED ɗin ku yana da fil ɗin SAKESET, yakamata a haɗa shi zuwa GPIO. A wannan yanayin, yakamata ku wuce lambar GPIO azaman siga.
A cikin saitin(), fara Serial Monitor a baud raute na 115200 don dalilai na gyara kuskure.Fara nunin OLED tare da hanyar farawa () kamar haka:
Wannan snippet kuma yana buga saƙo akan Serial Monitor, idan ba mu sami damar haɗawa da nuni ba.
Idan kuna amfani da nunin OLED daban, kuna iya buƙatar canza adireshin OLED. A cikin yanayinmu, adireshin shine 0x3C.
Bayan fara nunin, ƙara jinkiri na biyu na biyu, don OLED ya sami isasshen lokacin farawa kafin rubuta rubutu:
Share nuni, saita girman font, launi da rubuta rubutu
Bayan fara nunin, share buffer nuni tare da hanyar clearDisplay():
Kafin rubuta rubutu, kuna buƙatar saita girman rubutu, launi da kuma inda za'a nuna rubutun a cikin OLED.
Saita girman font ta amfani da hanyar saitaTextSize():Saita launin rubutu tare da hanyar saitiTextColor():
WHITE yana saita farar rubutu da bangon baki.
Ƙayyade matsayi inda rubutun ya fara amfani da hanyar saitiCursor(x,y). A wannan yanayin, muna saita rubutun don farawa daga (0,0) masu daidaitawa - a kusurwar hagu na sama.A ƙarshe, zaku iya aika rubutun zuwa nuni ta amfani da hanyar println(), kamar haka
Sannan, kuna buƙatar kiran hanyar nuni () don nuna ainihin rubutun akan allon.
Laburaren Adafruit OLED yana ba da hanyoyi masu amfani don gungura rubutu cikin sauƙi.
- fara gungurawa dama (0x00, 0x0F): gungura rubutu daga hagu zuwa dama
- startscrollleft (0x00, 0x0F): gungura rubutu daga dama zuwa hagu
- startscrolldiagright (0x00, 0x07): gungura rubutu daga kusurwar hagu na ƙasa zuwa kusurwar dama ta sama startscrolldiagleft(0x00, 0x07): gungura rubutu daga kusurwar dama kasa zuwa kusurwar hagu na sama.
Loda lambar
Yanzu, loda lambar zuwa ga ESP32.Upload code reference matakai.
Bayan loda lambar, OLED zai nuna rubutun gungurawa.
Takardu / Albarkatu
![]() |
LAFVIN ESP32 Basic Starter Kit [pdf] Jagoran Jagora ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit |