ESP32 Mea hoʻomaka kumu
Kit
Papa Hoʻopili
ESP32 Hoʻolauna
Mea hou i ka ESP32? E hoʻomaka ma ʻaneʻi! ʻO ka ESP32 kahi pūʻulu o nā ʻōnaehana haʻahaʻa haʻahaʻa a me ka mana haʻahaʻa ma luna o kahi Chip (SoC) microcontrollers i hoʻomohala ʻia e Espressif e komo pū ana me Wi-Fi a me nā mana uila Bluetooth a me ka mea hana pālua. Inā kamaʻāina ʻoe i ka ESP8266, ʻo ka ESP32 kona hope, hoʻopiha ʻia me nā hiʻohiʻona hou.ESP32 kiko'ī
Inā makemake ʻoe e loaʻa i kahi ʻenehana hou aʻe a kikoʻī, hiki iā ʻoe ke nānā i kēia mau kikoʻī kikoʻī o ka ESP32 (kumu: http://esp32.net/)—no ka ʻike hou aku, e nānā i ka ʻikepili):
- Hoʻohui ʻole ʻole WiFi: 150.0 Mbps ka helu ʻikepili me HT40
- Bluetooth: BLE (Bluetooth Low Energy) a me Bluetooth Classic
- Mea Hana: Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, holo ma 160 a i ʻole 240 MHz
- Hoʻomanaʻo:
- ROM: 448 KB (no ka hoʻomaka ʻana a me nā hana koʻikoʻi)
- SRAM: 520 KB (no ka ʻikepili a me nā kuhikuhi)
- RTC fas SRAM: 8 KB (no ka mālama ʻana i ka ʻikepili a me ka CPU nui i ka wā RTC Boot mai ke ʻano hiamoe hohonu)
- SRAM lohi RTC: 8KB (no ke komo ʻana o ka co-processor i ka wā hiamoe hohonu) eFuse: 1 Kbit (kahi o 256 bits i hoʻohana ʻia no ka ʻōnaehana (MAC address and chip configuration) a ʻo ke koena 768 bits i mālama ʻia no nā noi mea kūʻai aku, me ka Flash-Encryption a me Chip-ID)
Pākuʻi i hoʻokomo ʻia: pili ʻia ka uila ma loko o IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 a me SD_DATA_1 ma ESP32-D2WD a me ESP32-PICO-D4.
- 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, a me ESP32-S0WD chips)
- 2 MiB (ESP32-D2WD chip)
- 4 MiB (ESP32-PICO-D4 SiP module)
Mana Haʻahaʻa: e hōʻoia i hiki iā ʻoe ke hoʻohana i nā hoʻololi ADC, no ka example, i ka wa hiamoe loa.
Hoʻokomo ʻia/Hanawaena:
- pili pilipili me DMA e komo pū ana me ka capacitive touch
- Nā ADC (Analog-to-Digital Converter)
- Nā DAC (Digital-to-Analog Converter)
- I²C (Kaapuni Hoʻohui Kūwaena)
- UART (Ka Mea Loaʻa Asynchronous Universal)
- SPI (Serial Peripheral Interface)
- I²S (Leo Interchip Hoʻohui)
- RMII (Imi Ho'ēmi Media-Kuokoa Interface)
- PWM (Pulse-Width Modulation)
Palekana: nā mea hoʻoikaika kino no AES a me SSL/TLS
Nā Papa Hoʻomohala ESP32
ʻO ka ESP32 e pili ana i ka pahu pahu ESP32. Eia nō naʻe, hoʻohana ʻia ka huaʻōlelo "ESP32" e kuhikuhi i nā papa hoʻomohala ESP32. ʻAʻole maʻalahi ka hoʻohana ʻana i nā pahu pahu ESP32, ʻoiai ke aʻo, hoʻāʻo, a me ka prototyping. ʻO ka hapa nui o ka manawa, makemake ʻoe e hoʻohana i kahi papa hoʻomohala ESP32.
E hoʻohana ana mākou i ka papa ESP32 DEVKIT V1 ma ke ʻano he kuhikuhi. ʻO ke kiʻi ma lalo e hōʻike ana i ka papa ESP32 DEVKIT V1, mana me 30 mau pine GPIO.Nā kikoʻī - ESP32 DEVKIT V1
Hōʻike ka papa ma lalo i kahi hōʻuluʻulu o nā hiʻohiʻona papa ESP32 DEVKIT V1 DOIT a me nā kikoʻī.
Ka helu o nā cores | 2 (ʻelua kumu) |
Wi-Fi | 2.4 GHz a hiki i 150 Mbits/s |
Bluetooth | BLE (Bluetooth Low Energy) a me Bluetooth hoʻoilina |
Hoʻolālā | 32 bit |
Ka pinepine uaki | A hiki i 240 MHz |
RAM | 512 KB |
Nā pine | 30 (ma muli o ke kumu hoʻohālike) |
Pilipili | Capacitive touch, ADC (analog to digital converter), DAC (digital to analog converter), 12C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface), 12S (IC Interface). Sound), RMII (Reduced Media-Independent Interface), PWM (pulse width modulation), a oi. |
Nā pihi paʻa | Nā pihi RESET a me BOOT |
Nā LED i kūkulu ʻia | ʻO LED polū i kūkulu ʻia i hoʻopili ʻia me GPIO2; ʻO LED ʻulaʻula i kūkulu ʻia e hōʻike ana i ka mana o ka papa |
USB iā UART alahaka |
CP2102 |
Hele mai ia me kahi interface microUSB hiki iā ʻoe ke hoʻohana e hoʻopili i ka papa i kāu kamepiula e hoʻouka ai i ka code a i ʻole e hoʻohana i ka mana.
Hoʻohana ia i ka chip CP2102 (USB i UART) e kamaʻilio me kāu kamepiula ma o kahi awa COM me ka hoʻohana ʻana i kahi interface serial. ʻO kekahi chip kaulana ʻo CH340. E nānā i ka USB i ka UART chip converter ma kāu papa no ka mea pono ʻoe e hoʻokomo i nā mea hoʻokele pono i hiki i kāu kamepiula ke kamaʻilio me ka papa (ʻike hou aku e pili ana i kēia ma kēia alakaʻi).
Hiki mai kēia papa me kahi pihi RESET (hiki ke kapa ʻia ʻo EN) e hoʻomaka hou i ka papa a me kahi pihi BOOT e hoʻokomo i ka papa i ke ʻano uila (hiki ke loaʻa ke code). E hoʻomanaʻo, ʻaʻohe pihi BOOT i kekahi mau papa.
Hele mai ia me kahi LED polū i kūkulu ʻia i hoʻopili ʻia i loko me GPIO 2. He mea pono kēia LED no ka debugging e hāʻawi i kekahi ʻano o ka hoʻopuka kino kino. Aia kekahi LED ʻulaʻula e hoʻomālamalama ana ke hāʻawi ʻoe i ka mana i ka papa.ESP32 Pinout
Aia nā peripheral ESP32:
- 18 Analog-to-Digital Converter (ADC).
- 3 SPI hoʻopili
- 3 UART pili
- 2 I2C mau pilina
- 16 PWM puka puka
- 2 Mea hoʻololi kikohoʻe-a-analog (DAC)
- 2 I2S mau kikowaena
- 10 Nā GPIO ʻike maka
Hoʻonohonoho ʻia nā hiʻohiʻona ADC (analog to digital converter) a me DAC (digital to analog converter) i nā pine static kikoʻī. Eia nō naʻe, hiki iā ʻoe ke hoʻoholo i nā pine ʻo UART, I2C, SPI, PWM, etc. Hiki kēia ma muli o ka hiʻohiʻona multiplexing o ka chip ESP32.
ʻOiai hiki iā ʻoe ke wehewehe i nā waiwai pine ma ka polokalamu, aia nā pine i hāʻawi ʻia e ka paʻamau e like me ka mea i hōʻike ʻia ma kēia kiʻi.Eia kekahi, aia nā pine me nā hiʻohiʻona kikoʻī e kūpono ai a ʻaʻole paha no kahi papahana. Hōʻike ka papa ma lalo nei i nā pine ʻoi aku ka maikaʻi o ka hoʻohana ʻana ma ke ʻano he hoʻokomo, nā mea hoʻopuka a me nā mea e pono ai ʻoe e makaʻala.
Hiki ke hoʻohana ʻia nā pine i hōʻike ʻia i ka ʻōmaʻomaʻo. Hiki ke hoʻohana ʻia nā mea i hōʻike ʻia i ka melemele, akā pono ʻoe e noʻonoʻo no ka mea aia paha lākou i kahi ʻano i manaʻo ʻole ʻia ma ka boot. ʻAʻole ʻōlelo ʻia nā pine i hōʻike ʻia i ka ʻulaʻula e hoʻohana i nā mea hoʻokomo a i ʻole nā mea hoʻopuka.
GP IO | Hookomo | Hoʻopuka | Nā memo |
0 | huki ʻia | OK | hoʻopuka i ka hōʻailona PWM ma ka pahu, pono e haʻahaʻa e komo i ke ʻano uila |
1 | TX pine | OK | debug puka ma ka boot |
2 | OK | OK | pili i ka LED ma luna o ka papa, pono e waiho lana a i ʻole LOW e komo i ke ʻano uila |
3 | OK | RX pine | HIGH ma ka pahu pahu |
4 | OK | OK | |
5 | OK | OK | hoʻopuka i ka hōʻailona PWM ma ka pahu, strapping pine |
12 | OK | OK | hāʻule ke kāmaʻa inā huki kiʻekiʻe, strapping pine |
13 | OK | OK | |
14 | OK | OK | hoʻopuka i ka hōʻailona PWM ma ka boot |
15 | OK | OK | hoʻopuka i ka hōʻailona PWM ma ka pahu, strapping pine |
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 | hookomo wale | |
35 | OK | hookomo wale | |
36 | OK | hookomo wale | |
39 | OK | hookomo wale |
E hoʻomau i ka heluhelu no ka ʻike kikoʻī a me ka hohonu hohonu o nā ESP32 GPIO a me kāna mau hana.
Hookomo wale i na pine
ʻO nā GPIO 34 a hiki i ka 39 he GPI - hoʻokomo i nā pine wale nō. ʻAʻole kēia mau pine i nā mea huki huki a huki i lalo. ʻAʻole hiki ke hoʻohana ʻia e like me nā huahana, no laila e hoʻohana i kēia mau pine i mea hoʻokomo wale:
- GPIO 34
- GPIO 35
- GPIO 36
- GPIO 39
Hoʻohui ʻia ka uila SPI ma ka ESP-WROOM-32
Hōʻike ʻia ka GPIO 6 a i ka GPIO 11 i kekahi mau papa hoʻomohala ESP32. Eia nō naʻe, pili kēia mau pine i ka SPI i hoʻohui ʻia ma ka chip ESP-WROOM-32 a ʻaʻole ʻōlelo ʻia no nā hoʻohana ʻē aʻe. No laila, mai hoʻohana i kēia mau pine i kāu mau papahana:
- GPIO 6 (SCK/CLK)
- GPIO 7 (SDO/SD0)
- GPIO 8 (SDI/SD1)
- GPIO 9 (SHD/SD2)
- GPIO 10 (SWP/SD3)
- GPIO 11 (CSC/CMD)
Nā GPIO hoʻopā kaha
ʻO ka ESP32 he 10 mau mea ʻike paʻi capacitive kūloko. Hiki iā lākou ke ʻike i nā ʻano like ʻole o kekahi mea e paʻa ana i ka uila, e like me ka ʻili kanaka. No laila hiki iā lākou ke ʻike i nā ʻano like ʻole i ka hoʻopā ʻana i nā GPIO me kahi manamana lima. Hiki ke hoʻohui maʻalahi kēia mau pine i nā pad capacitive a hoʻololi i nā pihi mechanical. Hiki ke hoʻohana ʻia nā capacitive touch pins e hoʻāla i ka ESP32 mai ka hiamoe hohonu. Hoʻopili ʻia kēlā mau mea ʻike paʻi kūloko i kēia mau GPIO:
- T0 (GPIO 4)
- T1 (GPIO 0)
- T2 (GPIO 2)
- T3 (GPIO 15)
- T4 (GPIO 13)
- T5 (GPIO 12)
- T6 (GPIO 14)
- T7 (GPIO 27)
- T8 (GPIO 33)
- T9 (GPIO 32)
Analog i Digital mīkini hoʻololi (ADC)
ʻO ka ESP32 he 18 x 12 bits ADC input channels (ʻoiai he 8266x 1 bits ADC wale nō ka ESP10). ʻO kēia nā GPIO hiki ke hoʻohana ʻia ma ke ʻano he ADC a me kēlā me kēia ala:
- 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)
Nānā: ʻAʻole hiki ke hoʻohana ʻia nā pine ADC2 ke hoʻohana ʻia ʻo Wi-Fi. No laila, inā ʻoe e hoʻohana ana i ka Wi-Fi a pilikia ʻoe i ka loaʻa ʻana o ka waiwai mai kahi ADC2 GPIO, hiki iā ʻoe ke noʻonoʻo e hoʻohana i kahi ADC1 GPIO. Pono ia e hoʻoponopono i kou pilikia.
He 12-bit ka hoʻonā ʻana o nā ala hoʻokomo ADC. ʻO ia ke ʻano hiki iā ʻoe ke loaʻa nā heluhelu analog mai ka 0 a 4095, kahi 0 e pili ana me 0V a me 4095 a 3.3V. Hiki iā ʻoe ke hoʻonohonoho i ka hoʻonā o kāu mau kahawai ma ke code a me ka laulā ADC.
ʻAʻohe ʻano laina laina nā pine ESP32 ADC. ʻAʻole hiki iā ʻoe ke hoʻokaʻawale ma waena o 0 a me 0.1V, a i ʻole ma waena o 3.2 a me 3.3V. Pono ʻoe e hoʻomanaʻo i ka hoʻohana ʻana i nā pine ADC. E loaʻa iā ʻoe kahi ʻano like me ka mea i hōʻike ʻia ma kēia kiʻi.Mea hoʻololi kikohoʻe i Analog (DAC)
Aia he 2 x 8 bits DAC channels ma ka ESP32 e hoʻololi i nā hōʻailona kikohoʻe i analog voltage hōʻailona puka. ʻO kēia nā kahawai DAC:
- DAC1 (GPIO25)
- DAC2 (GPIO26)
Nā GPIO RTC
Aia ke kākoʻo RTC GPIO ma ka ESP32. Hiki ke hoʻohana ʻia nā GPIO i ka ʻōnaehana haʻahaʻa haʻahaʻa RTC i ka wā e hiamoe nui ai ka ESP32. Hiki ke hoʻohana ʻia kēia mau RTC GPIO e hoʻāla i ka ESP32 mai ka hiamoe hohonu i ka wā o ka Ultra Low
Ke holo nei ka mana (ULP) co-processor. Hiki ke hoʻohana ʻia nā GPIO ma ke ʻano he kumu ala ala waho.
- 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
ʻO ka ESP32 LED PWM controller he 16 mau kaha kūʻokoʻa hiki ke hoʻonohonoho ʻia e hana i nā hōʻailona PWM me nā waiwai like ʻole. Hiki ke hoʻohana ʻia nā pine a pau e like me nā mea hoʻopuka e like me nā pine PWM (ʻaʻole hiki i nā GPIO 34 a hiki i 39 ke hana i ka PWM).
No ka hoʻonohonoho ʻana i kahi hōʻailona PWM, pono ʻoe e wehewehe i kēia mau ʻāpana i ke code:
- Ka alapine o ka hōʻailona;
- Kaʻina hana;
- kaila PWM;
- GPIO kahi āu e makemake ai e hoʻopuka i ka hōʻailona.
I2C
He ʻelua kaila I32C ka ESP2 a hiki ke hoʻonohonoho ʻia kekahi pine e like me SDA a i ʻole SCL. Ke hoʻohana nei i ka ESP32 me ka Arduino IDE, nā pine I2C paʻamau:
- GPIO 21 (SDA)
- GPIO 22 (SCL)
Inā makemake ʻoe e hoʻohana i nā pine ʻē aʻe i ka wā e hoʻohana ai i ka waihona uea, pono ʻoe e kāhea:
Wire.begin(SDA, SCL);
SPI
Ma ka paʻamau, ʻo ka palapala ʻāina pin no SPI:
SPI | MOSI | MISO | CLK | CS |
VSPI | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 |
HSPI | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 |
Hoʻopau
Hiki ke hoʻonohonoho ʻia nā GPIO āpau ma ke ʻano he hoʻopau.
Nā Paʻi Kāʻei
Loaʻa i ka chip ESP32 nā pine strapping penei:
- GPIO 0 (pono e haʻahaʻa no ke komo ʻana i ke ʻano boot)
- ʻO GPIO 2 (pono e lana ana a i ʻole ka haʻahaʻa i ka wā o ka pahu)
- GPIO 4
- ʻO GPIO 5 (pono ke kiʻekiʻe i ka wā o ka pahu)
- GPIO 12 (pono e haʻahaʻa i ka wā o ka pahu)
- ʻO GPIO 15 (pono ke kiʻekiʻe i ka wā o ka pahu)
Hoʻohana ʻia kēia e hoʻokomo i ka ESP32 i ka bootloader a i ʻole ke ʻano uila. Ma ka hapa nui o nā papa hoʻomohala me ka USB/Serial i kūkulu ʻia, ʻaʻole pono ʻoe e hopohopo e pili ana i ke kūlana o kēia mau pine. Hoʻokomo ka papa i nā pine i ke kūlana kūpono no ka uila a i ʻole ke ʻano boot. Hiki ke loaʻa ka ʻike hou aku e pili ana i ka ESP32 Boot Mode Selection maanei.
Eia naʻe, inā loaʻa iā ʻoe nā peripherals i pili i kēlā mau pine, pilikia paha ʻoe i ka hoʻāʻo ʻana e hoʻouka i nā code hou, e ʻā ana i ka ESP32 me ka firmware hou, a i ʻole ka hoʻonohonoho ʻana i ka papa. Inā loaʻa iā ʻoe kekahi mau peripherals i pili i nā pine strapping a ke pilikia nei ʻoe i ka hoʻouka ʻana i ka code a i ʻole ka uila ʻana i ka ESP32, no ka mea paha e pale ana kēlā mau peripheral i ka ESP32 mai ke komo ʻana i ke ʻano kūpono. E heluhelu i ka palapala koho Boot Mode e alakaʻi iā ʻoe i ke ala pololei. Ma hope o ka hoʻonohonoho hou ʻana, ka uila, a i ʻole ka booting, hana kēlā mau pine e like me ka mea i manaʻo ʻia.
Nā pine HIGH ma Boot
Hoʻololi kekahi mau GPIO i ko lākou mokuʻāina i HIGH a i ʻole nā hōʻailona PWM i ka boot a i ʻole hoʻihoʻi.
ʻO ia ke ʻano inā loaʻa iā ʻoe nā huahana pili i kēia mau GPIO e loaʻa paha iā ʻoe nā hopena i manaʻo ʻole ʻia i ka wā e hoʻihoʻi hou ai ka ESP32 a i ʻole nā kāmaʻa.
- GPIO 1
- GPIO 3
- GPIO 5
- GPIO 6 i GPIO 11 (pili i ka ESP32 integrated SPI flash memory - ʻaʻole ʻōlelo ʻia e hoʻohana).
- GPIO 14
- GPIO 15
Hoʻā (EN)
ʻO Enable (EN) ka 3.3V regulator's enable pin. Ua huki ʻia i luna, no laila e hoʻopili i ka honua e hoʻopau i ka mea hoʻoponopono 3.3V. ʻO ia ke ʻano hiki iā ʻoe ke hoʻohana i kēia pine i hoʻopili ʻia i kahi pihi pana e hoʻomaka hou i kāu ESP32, no example.
kaha ʻia ʻo GPIO i kēia manawa
ʻO ka palena kiʻekiʻe loa i kaha kiʻi ʻia no GPIO he 40mA e like me ka ʻāpana "Nā Kūlana Kūlana Manaʻo" i ka ʻikepili ESP32.
ESP32 i kūkulu ʻia i loko o ka Hall Effect Sensor
Hōʻike pū ka ESP32 i kahi sensor hopena hale i kūkulu ʻia e ʻike i nā loli i ke kahua magnetic i kona puni
ESP32 Arduino IDE
Aia kekahi mea hoʻohui no ka Arduino IDE e hiki ai iā ʻoe ke hoʻolālā i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE a me kāna ʻōlelo hoʻonohonoho. Ma kēia kumu aʻo e hōʻike mākou iā ʻoe pehea e hoʻokomo ai i ka papa ESP32 ma Arduino IDE inā ʻoe e hoʻohana nei i Windows, Mac OS X a i ʻole Linux.
Nā mea e pono ai: Hoʻokomo ʻia ʻo Arduino IDE
Ma mua o ka hoʻomaka ʻana i kēia kaʻina hana, pono ʻoe e hoʻokomo iā Arduino IDE ma kāu kamepiula. ʻElua mau mana o ka Arduino IDE hiki iā ʻoe ke hoʻokomo: version 1 a me ka version 2.
Hiki iā ʻoe ke hoʻoiho a hoʻokomo iā Arduino IDE ma ke kaomi ʻana i ka loulou aʻe: arduino.cc/en/Main/Software
ʻO ka mana Arduino IDE mākou e paipai ai? I kēia manawa, aia kekahi plugins no ka ESP32 (e like me ka SPIFFS FileSystem Uploader Plugin) ʻaʻole i kākoʻo ʻia ma Arduino 2. No laila, inā makemake ʻoe e hoʻohana i ka plugin SPIFFS i ka wā e hiki mai ana, paipai mākou e hoʻokomo i ka mana hoʻoilina 1.8.X. Pono ʻoe e kaomi i lalo ma ka ʻaoʻao polokalamu Arduino e ʻike ai.
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
No ka hoʻokomo ʻana i ka papa ESP32 i kāu Arduino IDE, e hahai i kēia mau ʻōlelo aʻe:
- Ma kāu Arduino IDE, e hele i File> Koho
- E hoʻokomo i kēia i loko o ka "Additional Board Manager URLs” kahua:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
A laila, kaomi i ka pihi "OK":Nānā: inā loaʻa iā ʻoe nā papa ESP8266 URL, hiki iā ʻoe ke hoʻokaʻawale i ka URLs me kahi koma penei:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Wehe i ka Luna Papa. E hele i nā mea hana> Papa> Luna Hoʻokele…Huli no ESP32 and press install button for the “ESP32 by Espressif Systems“:
ʻo ia wale nō. Pono e hoʻokomo ma hope o kekahi mau kekona.
Hoʻouka i ke code hoʻāʻo
E hoʻopili i ka papa ESP32 i kāu kamepiula. Me kāu Arduino IDE wehe, e hahai i kēia mau ʻanuʻu:
- E koho i kāu Papa ma Tools > Papa papa (i koʻu hihia ʻo ia ka ESP32 DEV Module)
- E koho i ka Port (inā ʻaʻole ʻoe e ʻike i ka Port COM i kāu Arduino IDE, pono ʻoe e hoʻokomo i ka CP210x USB i nā UART Bridge VCP Drivers):
- E wehe i ka example malalo File > Examples > WiFi
(ESP32) > WiFiScan - Wehe ʻia kahi kiʻi kiʻi hou i kāu Arduino IDE:
- E kaomi i ke pihi Upload ma ka Arduino IDE. E kali i kekahi mau kekona i ka wā e hōʻuluʻulu ai ke code a hoʻouka i kāu papa.
- Inā hele nā mea a pau e like me ka mea i manaʻo ʻia, pono ʻoe e ʻike i kahi "Hoʻoiho ʻia." memo.
- E wehe i ka Arduino IDE Serial Monitor ma kahi baud rate o 115200:
- E kaomi i ka ESP32 on-board Enable pihi a ʻike ʻoe i nā pūnaewele i loaʻa kokoke i kāu ESP32:
Hoʻoponopono pilikia
Inā ʻoe e hoʻāʻo e hoʻouka i kahi kiʻi kiʻi hou i kāu ESP32 a loaʻa iā ʻoe kēia memo hewa "Ua loaʻa kahi hewa make: ʻAʻole hiki ke hoʻopili iā ESP32: Ua pau ka manawa… Hoʻohui…". ʻO ia hoʻi, ʻaʻole kāu ESP32 i ke ʻano uila/hoʻouka.
I ka loaʻa ʻana o ka inoa papa kūpono a me ka COM por i koho ʻia, e hahai i kēia mau ʻanuʻu:
E hoʻopaʻa i ka pihi "BOOT" ma kāu papa ESP32
- E kaomi i ke pihi "Upload" ma ka Arduino IDE e hoʻouka i kāu kiʻi kiʻi:
- Ma hope o ka ʻike ʻana i ka "Hoʻohui…." memo ma kāu Arduino IDE, e hoʻokuʻu i ka manamana lima mai ke pihi "BOOT":
- Ma hope o kēlā, pono ʻoe e ʻike i ka memo "Done uploading".
ʻo ia wale nō. Pono kāu ESP32 e holo i ka sketch hou. E kaomi i ke pihi "ENABLE" e hoʻomaka hou i ka ESP32 a holo i ke kiʻi paʻi hou.
Pono ʻoe e hana hou i kēlā kaʻina pihi i kēlā me kēia manawa āu e makemake ai e hoʻouka i kahi sketch hou.
Pāhana 1 ESP32 Hoʻokomo i nā mea hoʻopuka
Ma kēia alakaʻi hoʻomaka ʻana e aʻo ai ʻoe pehea e heluhelu ai i nā hoʻokomo kikohoʻe e like me ka hoʻololi ʻana i ke pihi a me ka hoʻomalu ʻana i nā huahana kikohoʻe e like me ke LED me ka hoʻohana ʻana i ka ESP32 me Arduino IDE.
Nā mea e pono ai
E hoʻolālā mākou i ka ESP32 me ka Arduino IDE. No laila, e hōʻoia ʻoe ua hoʻokomo ʻia nā papa ESP32 ma mua o ka hoʻomau ʻana:
- Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
ESP32 Hoʻomalu i nā hua kikohoʻe
ʻO ka mea mua, pono ʻoe e hoʻonohonoho i ka GPIO āu e makemake ai e hoʻokele ma ke ʻano he OUTPUT. E hoʻohana i ka hana pinMode () penei:
pinMode(GPIO, OUTPUT);
No ka mālama ʻana i kahi hoʻopuka kikohoʻe pono ʻoe e hoʻohana i ka hana digitalWrite (), e ʻae ʻia ma ke ʻano he hoʻopaʻapaʻa, ka GPIO (helu helu) āu e ʻōlelo nei, a me ka mokuʻāina, ʻo HIGH a i ʻole LOW.
digitalWrite(GPIO, STATE);
Hiki ke hoʻohana ʻia nā GPIO a pau ma ke ʻano he mau mea hoʻopuka koe wale nā GPIOs 6 a hiki i ka 11 (pili i ka flash SPI i hoʻohui ʻia) a me nā GPIO 34, 35, 36 a me 39 (hoʻokomo wale i nā GPIO);
E aʻo hou e pili ana i nā ESP32 GPIO: ESP32 GPIO Reference Guide
ESP32 Heluhelu Kikohoʻe
ʻO ka mea mua, e hoʻonoho i ka GPIO āu e makemake ai e heluhelu e like me INPUT, me ka hoʻohana ʻana i ka hana pinMode () penei:
pinMode(GPIO, INPUT);
No ka heluhelu ʻana i kahi hoʻokomo kikohoʻe, e like me ke pihi, hoʻohana ʻoe i ka hana digitalRead (), i ʻae ʻia ma ke ʻano he hoʻopaʻapaʻa, ka GPIO (int helu) āu e ʻōlelo nei.
digitalRead(GPIO);
Hiki ke hoʻohana ʻia nā ESP32 GPIO a pau ma ke ʻano he hoʻokomo, koe wale nā GPIO 6 a 11 (pili ʻia me ka uila SPI i hoʻohui ʻia).
E aʻo hou e pili ana i nā ESP32 GPIO: ESP32 GPIO Reference Guide
Papahana Example
No ka hōʻike ʻana iā ʻoe pehea e hoʻohana ai i nā hoʻokomo kikohoʻe a me nā huahana kikohoʻe, e kūkulu mākou i kahi papahana maʻalahi example me ka pihi pana a me ka LED. E heluhelu mākou i ke kūlana o ka pihi pihi a hoʻomālamalama i ka LED e like me ka mea i hōʻike ʻia ma ke kiʻi aʻe.
Pono nā ʻāpana
Eia ka papa inoa o nā ʻāpana e pono ai ʻoe e kūkulu i ke kaapuni:
- ESP32 DEVKIT V1
- 5 mm LED
- 220 Ohm pale
- Pihi pihi
- 10k Ohm pale
- Papa palaoa
- Uea lele
Kiʻi Papahana
Ma mua o ka hoʻomaka ʻana, pono ʻoe e hōʻuluʻulu i kahi kaapuni me kahi LED a me kahi pihi pana.
E hoʻopili mākou i ka LED i GPIO 5 a me ka pihi pihi iā GPIO 4.Code
E wehe i ke code Project_1_ESP32_Inputs_Outputs.ino ma arduino IDEPehea e hana ai ke Code
Ma nā laina ʻelua e hiki mai ana, hana ʻoe i nā mea hoʻololi e hoʻoili i nā pine:
Hoʻopili ʻia ke pihi iā GPIO 4 a pili ka LED iā GPIO 5. Ke hoʻohana ʻia ka Arduino IDE me ka ESP32, pili ka 4 i ka GPIO 4 a me ka 5 pili me GPIO 5.
A laila, hana ʻoe i kahi loli e hoʻopaʻa i ke kūlana pihi. ʻO ka maʻamau, ʻo ia ka 0 (ʻaʻole i paʻi ʻia).
int buttonState = 0;
Ma ka hoʻonohonoho (), hoʻomaka ʻoe i ke pihi ma ke ʻano he INPUT, a me ke LED ma ke ʻano he OUTPUT.
No kēlā, hoʻohana ʻoe i ka hana pinMode () e ʻae i ka pine āu e kuhikuhi nei, a me ke ʻano: INPUT a i ʻole OUTPUT.
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Ma ka loop () kahi āu e heluhelu ai i ka moku'āina pihi a hoʻonohonoho i ke LED e like me ia.
Ma ka laina aʻe, heluhelu ʻoe i ka mokuʻāina pihi a mālama iā ia ma ka pihi State variable.
E like me kā mākou i ʻike ai ma mua, hoʻohana ʻoe i ka hana digitalRead ().
buttonState = digitalRead(buttonPin);
ʻO ka ʻōlelo aʻe inā e nānā inā kiʻekiʻe ke kūlana pihi. Inā ʻo ia, hoʻohuli ia i ka LED ma ka hoʻohana ʻana i ka hana digitalWrite () e ʻae i ka hoʻopaʻapaʻa ʻana i ka ledPin, a me ka mokuʻāina HIGH.
inā (buttonState == HIGH)Inā ʻaʻole HIGH ke kūlana pihi, hoʻopau ʻoe i ka LED. E hoʻonoho wale i ka LOW ma ke ʻano he hoʻopaʻapaʻa ʻelua i ka hana digitalWrite ().
Hoʻouka i ke Code
Ma mua o ke kaomi ʻana i ke pihi hoʻouka, e hele i Tools > Board, a koho i ka papa: DOIT ESP32 DEVKIT V1 papa.
E hele i Tools> Port a koho i ke awa COM e pili ana ka ESP32. A laila, kaomi i ke pihi hoʻouka a kali i ka memo "Hoʻoiho".Nānā: Inā ʻike ʻoe i ka nui o nā kiko (hoʻohui…__…__) ma ka puka aniani a me ka memo "ʻAʻole i hoʻopili ʻia iā ESP32: Ua pau ka manawa e kali ana no ke poʻomanaʻo packet", ʻo ia hoʻi, pono ʻoe e kaomi i ke pihi BOOT ma ka papa ESP32 ma hope o nā kiko.
hoʻomaka e ʻike
Hōʻike
Ma hope o ka hoʻouka ʻana i ke code, e hoʻāʻo i kāu kaapuni. E ʻā ana kāu LED ke kaomi ʻoe i ke pihi pana:A hoʻopau i ka wā e hoʻokuʻu ai:
Pāhana 2 ESP32 Analog Inputs
Hōʻike kēia papahana pehea e heluhelu ai i nā mea hoʻokomo analog me ka ESP32 me ka hoʻohana ʻana iā Arduino IDE.
He mea pono ka heluhelu analog no ka heluhelu ana i na waiwai mai na mea pale like ole e like me ka potentiometers, a i ole ia na mea ike analog.
Hoʻokomo Analog (ADC)
ʻO ka heluhelu ʻana i kahi waiwai analog me ka ESP32 hiki iā ʻoe ke ana i nā vol like ʻoletagnā pae ma waena o 0 V a me 3.3 V.
ʻO ka voltagA laila, hāʻawi ʻia ka e ana i ka waiwai ma waena o 0 a me 4095, kahi 0 V pili me 0, a 3.3 V pili me 4095.tage ma waena o 0 V a me 3.3 V e hāʻawi ʻia ka waiwai kūpono ma waena.ʻAʻole laina laina ADC
Ma ke kūpono, manaʻo ʻoe i kahi ʻano laina i ka wā e hoʻohana ai i nā pine ESP32 ADC.
ʻAʻole naʻe pēlā. ʻO ka mea e loaʻa iā ʻoe he ʻano e like me ka hōʻike ʻana ma ka pakuhi aʻe:ʻO kēia ʻano hana ʻaʻole hiki i kāu ESP32 ke hoʻokaʻawale i ka 3.3 V mai ka 3.2 V.
E loaʻa iā ʻoe ka waiwai like no nā voltagʻē: 4095.
Pela no ka vol haahaa loatagnā waiwai: no ka 0 V a me 0.1 V e loaʻa iā ʻoe ka waiwai like: 0. Pono ʻoe e mālama i kēia i ka wā e hoʻohana ai i nā pine ESP32 ADC.
AnalogRead () hana
He maʻalahi ka heluhelu ʻana i kahi hoʻokomo analog me ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE e like me ka hoʻohana ʻana i ka hana analogRead (). ʻAe ʻo ia ma ke ʻano he hoʻopaʻapaʻa, ka GPIO āu e makemake ai e heluhelu:
AnalogRead(GPIO);
Loaʻa nā 15 wale nō i ka DEVKIT V1board (kahi me 30 GPIO).
E hopu i kāu pinout papa ESP32 a huli i nā pine ADC. Hōʻike ʻia kēia mau mea me kahi palena ʻulaʻula ma ke kiʻi ma lalo nei.He 12-bit ka hoʻonā ʻana o kēia mau pin input analog. ʻO ia hoʻi, ke heluhelu ʻoe i kahi hoʻokomo analog, ʻokoʻa paha kona laulā mai 0 a 4095.
Nānā: ʻAʻole hiki ke hoʻohana ʻia nā pine ADC2 ke hoʻohana ʻia ʻo Wi-Fi. No laila, inā ʻoe e hoʻohana ana i ka Wi-Fi a pilikia ʻoe i ka loaʻa ʻana o ka waiwai mai kahi ADC2 GPIO, hiki iā ʻoe ke noʻonoʻo e hoʻohana i kahi ADC1 GPIO ma kahi, pono ia e hoʻoponopono i kou pilikia.
No ka ʻike i ka pili ʻana o nā mea a pau, e hana mākou i kahi ex maʻalahiample e heluhelu i ka waiwai analog mai ka potentiometer.
Pono nā ʻāpana
No keia example, pono ʻoe i kēia mau ʻāpana:
- ESP32 DEVKIT V1 Papa
- ʻO ka Potentiometer
- Papa palaoa
- Uea lele
ʻKea
Uea i ka potentiometer i kāu ESP32. Pono e hoʻopili ʻia ka pine waena potentiometer me GPIO 4. Hiki iā ʻoe ke hoʻohana i ke kiʻikuhi kikoʻī aʻe ma ke ʻano he kuhikuhi.Code
E hoʻolālā mākou i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
E wehe i ke code Project_2_ESP32_Inputs_Outputs.ino ma arduino IDEHeluhelu wale kēia code i nā waiwai mai ka potentiometer a paʻi i kēlā mau waiwai ma ka Serial Monitor.
Ma ke code, hoʻomaka ʻoe ma ka wehewehe ʻana i ka GPIO i pili ai ka potentiometer. Ma keia example, GPIO 4.Ma ka hoʻonohonoho (), e hoʻomaka i kahi kamaʻilio serial ma ka helu baud o 115200.
Ma ka loop (), e hoʻohana i ka hana analogRead () e heluhelu i ka hoʻokomo analog mai ka potPin.
ʻO ka hope, e paʻi i nā waiwai i heluhelu ʻia mai ka potentiometer ma ka monitor serial.
Hoʻouka i ke code i hāʻawi ʻia i kāu ESP32. E hōʻoia iā ʻoe ka papa kūpono a me ke awa COM i koho ʻia ma ka papa kuhikuhi Mea Hana.
Ke ho'āʻo nei i ka Example
Ma hope o ka hoʻouka ʻana i ke code a me ke kaomi ʻana i ke pihi ESP32 reset, e wehe i ka Serial Monitor ma kahi baud rate o 115200. E hoʻohuli i ka potentiometer a ʻike i ka loli ʻana o nā waiwai.ʻO ka waiwai kiʻekiʻe loa e loaʻa iā ʻoe ʻo 4095 a ʻo ka waiwai liʻiliʻi he 0.
ʻOpiʻi ʻana
Ma kēia ʻatikala ua aʻo ʻoe pehea e heluhelu ai i nā hoʻokomo analog me ka hoʻohana ʻana i ka ESP32 me ka Arduino IDE. I ka hōʻuluʻulu ʻana:
- ʻO ka papa ESP32 DEVKIT V1 DOIT (kahi me 30 mau pine) he 15 mau pine ADC hiki iā ʻoe ke hoʻohana e heluhelu i nā hoʻokomo analog.
- Loaʻa i kēia mau pine ka hoʻonā o 12 bits, ʻo ia ka mea hiki iā ʻoe ke loaʻa nā waiwai mai 0 a 4095.
- No ka heluhelu ʻana i kahi waiwai ma ka Arduino IDE, hoʻohana wale ʻoe i ka hana analogRead ().
- ʻAʻohe ʻano laina laina nā pine ESP32 ADC. ʻAʻole hiki iā ʻoe ke hoʻokaʻawale ma waena o 0 a me 0.1V, a i ʻole ma waena o 3.2 a me 3.3V. Pono ʻoe e hoʻomanaʻo i ka hoʻohana ʻana i nā pine ADC.
Papahana 3 ESP32 PWM(Hanaana Analog)
Ma kēia kumu aʻo e hōʻike mākou iā ʻoe pehea e hana ai i nā hōʻailona PWM me ka ESP32 me ka hoʻohana ʻana iā Arduino IDE. Ma keʻano he exampe kūkulu mākou i kahi kaapuni maʻalahi e hoʻomāmā i kahi LED me ka hoʻohana ʻana i ka mana LED PWM o ka ESP32.ESP32 LED PWM mea hooponopono
Loaʻa i ka ESP32 kahi mana PWM LED me nā kaha kūʻokoʻa 16 hiki ke hoʻonohonoho ʻia e hana i nā hōʻailona PWM me nā waiwai like ʻole.
Eia nā ʻanuʻu e pono ai ʻoe e hahai e hōʻemi i kahi LED me PWM me ka hoʻohana ʻana i ka Arduino IDE:
- ʻO ka mea mua, pono ʻoe e koho i kahi kahawai PWM. Aia he 16 kaila mai 0 a 15.
- A laila, pono ʻoe e hoʻonohonoho i ke alapine hōʻailona PWM. No ka LED, hiki ke hoʻohana i ka alapine o 5000 Hz.
- Pono ʻoe e hoʻonohonoho i ka hoʻoholo ʻana o ke kaʻina hana o ka hōʻailona: loaʻa iā ʻoe nā ʻōlelo hoʻoholo mai 1 a 16 mau bits. E hoʻohana mākou i ka hoʻonā 8-bit, ʻo ia ka mea hiki iā ʻoe ke hoʻomalu i ka kukui LED me ka hoʻohana ʻana i kahi waiwai mai 0 a 255.
- A laila, pono ʻoe e kuhikuhi i kahi GPIO a i ʻole GPIO e ʻike ʻia ai ka hōʻailona. No ia mea, e hoʻohana ʻoe i kēia hana:
ledcAttachPin(GPIO, kaila)
Hāʻawi kēia hana i nā manaʻo ʻelua. ʻO ka mua ka GPIO e hoʻopuka i ka hōʻailona, a ʻo ka lua ke kahawai e hoʻopuka i ka hōʻailona. - ʻO ka hope, e hoʻomalu i ka kukui LED me ka PWM, hoʻohana ʻoe i kēia hana:
ledcWrite(channel, dutycycle)
ʻAe kēia hana ma ke ʻano he hoʻopaʻapaʻa i ke kahawai e hana nei i ka hōʻailona PWM, a me ke kaʻina hana.
Pono nā ʻāpana
No ka hahai ʻana i kēia kumu aʻo pono ʻoe i kēia mau ʻāpana:
- ESP32 DEVKIT V1 Papa
- 5mm LED
- 220 Ohm pale
- Papa palaoa
- Uea lele
ʻKea
E hoʻokuʻu i kahi LED i kāu ESP32 e like me ke kiʻi schematic aʻe. Pono e hoʻopili ʻia ka LED me GPIO 4.Nānā: hiki iā ʻoe ke hoʻohana i kekahi pine āu e makemake ai, ʻoiai hiki ke hana ma ke ʻano he puka. Hiki ke hoʻohana ʻia nā pine a pau e like me nā mea hoʻopuka e like me nā pine PWM. No ka ʻike hou aku e pili ana i nā GPIO ESP32, e heluhelu: ESP32 Pinout Reference: ʻO wai nā pine GPIO e pono ai ʻoe e hoʻohana?
Code
E hoʻolālā mākou i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
E wehe i ke code Project_3_ESP32_PWM.ino ma arduino IDEHoʻomaka ʻoe ma ka wehewehe ʻana i ka pine i hoʻopili ʻia ai ka LED. I kēia hihia, pili ka LED iā GPIO 4.
A laila, hoʻonoho ʻoe i nā waiwai hōʻailona PWM. E wehewehe ʻoe i ke alapine o 5000 Hz, koho i ke kahawai 0 e hana i ka hōʻailona, a hoʻonoho i kahi hoʻonā o 8 mau bits. Hiki iā ʻoe ke koho i nā waiwai ʻē aʻe, ʻokoʻa ma mua o kēia, e hana i nā hōʻailona PWM like ʻole.
Ma ka hoʻonohonoho (), pono ʻoe e hoʻonohonoho i ka LED PWM me nā waiwai āu i wehewehe mua ai ma ka hoʻohana ʻana i ka hana ledcSetup () e ʻae ʻia e like me nā hoʻopaʻapaʻa, ka ledChannel, ke alapine, a me ka hoʻonā, penei:
A laila, pono ʻoe e koho i ka GPIO āu e loaʻa ai ka hōʻailona. No kēlā hoʻohana ʻana i ka hana ledcAttachPin () e ʻae i nā hoʻopaʻapaʻa i ka GPIO kahi āu e makemake ai e kiʻi i ka hōʻailona, a me ke kahawai e hoʻohua ana i ka hōʻailona. Ma keia exampe, e loaʻa iā mākou ka hōʻailona ma ka ledPin GPIO, e pili ana me GPIO 4. ʻO ke kahawai e hoʻopuka i ka hōʻailona ʻo ia ka ledChannel, e pili ana i ke kahawai 0.
Ma ka loop, e hoʻololi ʻoe i ke kaʻina hana ma waena o 0 a me 255 e hoʻonui i ka kukui LED.
A laila, ma waena o 255 a me 0 e hoʻemi i ka mālamalama.
No ka hoʻonohonoho ʻana i ka ʻōlinolino o ka LED, pono ʻoe e hoʻohana i ka hana ledcWrite () e ʻae i ka hoʻopaʻapaʻa ʻana i ke kahawai e hana nei i ka hōʻailona, a me ke kaʻina hana.
Ke hoʻohana nei mākou i ka hoʻonā 8-bit, e hoʻomalu ʻia ke kaʻina hana me ka hoʻohana ʻana i kahi waiwai mai 0 a 255. E hoʻomaopopo i ka hana ledcWrite () ke hoʻohana nei mākou i ke kahawai e hana ana i ka hōʻailona, ʻaʻole ka GPIO.
Ke ho'āʻo nei i ka Example
Hoʻouka i ke code i kāu ESP32. E hōʻoia iā ʻoe ka papa kūpono a me ke awa COM i koho ʻia. E nana i kou kaapuni. Loaʻa iā ʻoe kahi LED dimmer e hoʻonui a hoʻemi i ka mālamalama.
Papahana 4 ESP32 PIR Motion Sensor
Hōʻike kēia papahana i ka ʻike ʻana i ka neʻe me ka ESP32 me ka hoʻohana ʻana i kahi ʻenekini PIR. E hoʻokani ka buzzer i kahi puʻupuʻu ke ʻike ʻia ka neʻe, a hoʻopau i ke kani ʻana ke ʻike ʻole ʻia ke neʻe no ka manawa i hoʻonohonoho ʻia (e like me 4 kekona).
Pehea e hana ai ka HC-SR501 Motion Sensor
.ʻO ke kumu hana o ka sensor HC-SR501 e pili ana i ka hoʻololi ʻana o ka radiation infrared ma ka mea neʻe.
- Ke hoʻopuka nei ka mea i ke ala infrared.
- Ke neʻe a haʻalulu paha ka mea
No laila:
Inā hoʻopuka kekahi mea i ke kukuna infrared akā ʻaʻole neʻe (e laʻa, kū mālie ke kanaka me ka neʻe ʻole), ʻaʻole ʻike ʻia e ka mea ʻike.
Inā neʻe kekahi mea akā ʻAʻole e hoʻokuʻu i ke kukuna infrared (e laʻa, robot a kaʻa paha), ʻaʻole ʻike ʻia e ka mea ʻike.
Hoʻolauna i nā manawa
Ma keia exampe hoʻolauna pū mākou i nā timers. Makemake mākou e noho mau ka LED no kahi helu kekona i koho mua ʻia ma hope o ka ʻike ʻia ʻana o ka neʻe. Ma kahi o ka hoʻohana ʻana i kahi hana hoʻopaneʻe () e ālai i kāu code a ʻaʻole ʻae iā ʻoe e hana i kekahi mea ʻē aʻe no ka helu o nā kekona i hoʻoholo ʻia, pono mākou e hoʻohana i kahi manawa.ʻO ka hana lohi ().
Pono ʻoe e kamaʻāina i ka hana hoʻopaneʻe () ʻoiai ua hoʻohana nui ʻia. He mea maʻalahi kēia hana e hoʻohana. ʻAe ʻo ia i kahi helu int hoʻokahi ma ke ʻano he hoʻopaʻapaʻa.
Hōʻike kēia helu i ka manawa i loko o nā milliseconds e kali ka polokalamu a hiki i ka neʻe ʻana i ka laina aʻe o ke code.Ke hoʻopaneʻe ʻoe (1000) pau kāu polokalamu ma kēlā laina no 1 kekona.
ʻO ka lohi () kahi hana pale. ʻO nā hana keʻakeʻa e pale i kahi papahana mai ka hana ʻana i kekahi mea ʻē aʻe a hiki i ka pau ʻana o kēlā hana. Inā makemake ʻoe i nā hana he nui i ka manawa like, ʻaʻole hiki iā ʻoe ke hoʻohana i ka lohi ().
No ka hapa nui o nā papahana, pono ʻoe e pale i ka hoʻohana ʻana i nā lohi a hoʻohana i nā manawa.
ʻO ka hana millis().
Ke hoʻohana nei i kahi hana i kapa ʻia ʻo millis() hiki iā ʻoe ke hoʻihoʻi i ka helu o nā milliseconds i hala mai ka hoʻomaka ʻana o ka papahana.No ke aha e pono ai ia hana? No ka mea ma ka hoʻohana ʻana i kekahi makemakika, hiki iā ʻoe ke hōʻoia maʻalahi i ka nui o ka manawa i hala me ka ʻole o ka pale ʻana i kāu code.
Pono nā ʻāpana
No ka hahai ʻana i kēia kumu aʻo pono ʻoe i nā ʻāpana aʻe
- ESP32 DEVKIT V1 Papa
- PIR motion sensor (HC-SR501)
- ʻ Buzzer ʻeleu
- Uea lele
- Papa palaoa
ʻKeaNānā: ʻO ka voltage o HC-SR501 he 5V. E hoʻohana i ka pine Vin no ka mana.
Code
Ma mua o ka hoʻomaka ʻana me kēia kumu aʻo pono ʻoe e hoʻokomo i ka hoʻohui ESP32 i kāu Arduino IDE. E hahai i kekahi o kēia mau kumu aʻo e hoʻokomo i ka ESP32 ma ka Arduino IDE, inā ʻaʻole ʻoe i hana.
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
E wehe i ke code Project_4_ESP32_PIR_Motion_Sensor.ino ma arduino IDE.
Hōʻike
Hoʻouka i ke code i kāu papa ESP32. E hōʻoia iā ʻoe ka papa kūpono a me ke awa COM i koho ʻia. Hoʻouka i nā ʻanuʻu kuhikuhi code.
E wehe i ka Serial Monitor ma kahi baud rate o 115200.E hoʻoneʻe i kou lima i mua o ka PIR sensor. Pono e ho'ā ka buzzer, a pa'i 'ia ka memo ma ka Serial Monitor e 'ōlelo ana "Motion detected! Buzzer alarm".
Ma hope o 4 kekona e pio ka buzzer.
Pāhana 5 ESP32 Switch Web Server
Ma kēia papahana e hana ʻoe i kahi kūʻokoʻa web server me kahi ESP32 e hoʻomalu ana i nā huahana (ʻelua mau LED) me ka hoʻohana ʻana i ke kaiapuni polokalamu Arduino IDE. ʻO ka web Hiki ke kiʻi ʻia me ka polokalamu kele pūnaewele ma ke ʻano he polokalamu kele pūnaewele. E hōʻike mākou iā ʻoe pehea e hana ai i ka web server a pehea e hana ai ke code i kēlā me kēia ʻanuʻu.
Papahana Overview
Ma mua o ka hele pololei ʻana i ka papahana, he mea nui e wehewehe i kā mākou web server e hana, i maʻalahi ka hahai ʻana i nā ʻanuʻu ma hope.
- ʻO ka web kikowaena e kūkulu ʻoe i nā mana ʻelua mau LED e pili ana i ka ESP32 GPIO 26 a me GPIO 27;
- Hiki iā ʻoe ke komo i ka ESP32 web server ma ke kākau ʻana i ka helu IP ESP32 ma kahi polokalamu kele pūnaewele ma ka pūnaewele kūloko;
- Ma ke kaomi ʻana i nā pihi ma kāu web server hiki iā ʻoe ke hoʻololi koke i ke kūlana o kēlā me kēia LED.
Pono nā ʻāpana
No kēia kumu aʻo e pono ai ʻoe i kēia mau ʻāpana:
- ESP32 DEVKIT V1 Papa
- 2x 5mm LED
- 2x 200 Ohm pale
- Papa palaoa
- Uea lele
ʻKea
E hoʻomaka ma ke kūkulu ʻana i ke kaapuni. Hoʻohui i ʻelua mau LED i ka ESP32 e like me ka mea i hōʻike ʻia ma ke kiʻi schematic ma lalo nei - hoʻokahi LED i pili iā GPIO 26, a ʻo kekahi me GPIO 27.
Nānā: Ke hoʻohana nei mākou i ka papa ESP32 DEVKIT DOIT me 36 mau pine. Ma mua o ka hui ʻana i ke kaapuni, e nānā pono ʻoe i ka pinout no ka papa āu e hoʻohana nei.Code
Eia mākou e hāʻawi i ke code e hana ana i ka ESP32 web kikowaena. E wehe i ke code Project_5_ESP32_Switch _Web_Server.ino ma arduino IDE, akā, mai hoʻouka i kēia manawa. Pono ʻoe e hana i kekahi mau hoʻololi e hoʻokō pono ai iā ʻoe.
E hoʻolālā mākou i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
Ke hoʻonohonoho nei i kāu mau hōʻoia pūnaewele
Pono ʻoe e hoʻololi i kēia mau laina me kāu hōʻoia pūnaewele: SSID a me ka ʻōlelo huna. Ua ʻōlelo maikaʻi ʻia ke code ma kahi e hana ai ʻoe i nā loli.Hoʻouka i ke Code
I kēia manawa, hiki iā ʻoe ke hoʻouka i ke code a me ka web E hana koke ke kikowaena.
E hahai i nā ʻanuʻu aʻe e hoʻouka i ka code i ka ESP32:
- Hoʻopili i kāu papa ESP32 i kāu kamepiula;
- Ma ka Arduino IDE koho i kāu papa ma Tools> Board (i kā mākou hihia ke hoʻohana nei mākou i ka papa ESP32 DEVKIT DOIT);
- E koho i ke awa COM ma Tools > Port.
- E kaomi i ke pihi Upload ma ka Arduino IDE a kali i kekahi mau kekona i ka wā e hōʻuluʻulu ai ke code a hoʻouka i kāu papa.
- E kali no ka memo "Hoʻopau ʻia".
Ke ʻimi nei i ka ESP IP Address
Ma hope o ka hoʻouka ʻana i ke code, wehe i ka Serial Monitor ma ka helu baud o 115200.E kaomi i ke pihi ESP32 EN (reset). Hoʻopili ka ESP32 i Wi-Fi, a hoʻopuka i ka helu IP ESP ma ka Serial Monitor. E kope i kēlā helu IP, no ka mea pono ʻoe e komo i ka ESP32 web kikowaena.
Ke komo ʻana i ka Web Server
E komo i ka web server, wehe i kāu polokalamu kele pūnaewele, hoʻopili i ka helu IP ESP32, a ʻike ʻoe i kēia ʻaoʻao.
Nānā: Pono e hoʻopili ʻia kāu polokalamu kele pūnaewele a me ESP32 i ka LAN hoʻokahi.Inā ʻoe e nānā i ka Serial Monitor, hiki iā ʻoe ke ʻike i ka mea e hana nei ma ke kua. Loaʻa i ka ESP kahi noi HTTP mai kahi mea kūʻai aku (ma kēia hihia, kāu polokalamu kele pūnaewele).
Hiki iā ʻoe ke ʻike i nā ʻike ʻē aʻe e pili ana i ka noi HTTP.
Hōʻike
I kēia manawa hiki iā ʻoe ke hoʻāʻo inā ʻoe web ke hana pono nei ke kikowaena. Kaomi i nā pihi e hoʻomalu i nā LED.Ma ka manawa like, hiki iā ʻoe ke nānā i ka Serial Monitor e ʻike i nā mea e hana nei ma hope. No exampa, ke kaomi ʻoe i ke pihi e hoʻohuli iā GPIO 26 ON, loaʻa iā ESP32 kahi noi ma ka /26/on URL.
Ke loaʻa ka ESP32 i kēlā noi, hoʻohuli ʻo ia i ke kukui i hoʻopili ʻia me GPIO 26 ON a hoʻonui i kona kūlana ma ka web ʻaoʻao.
Hana like ke pihi no GPIO 27. E ho'āʻo e hana pono ana.
Pehea e hana ai ke Code
Ma kēia ʻāpana e nānā pono i ke code e ʻike pehea e hana ai.
ʻO ka mea mua e pono ai ʻoe e hoʻokomo i ka waihona WiFi.E like me ka mea i ʻōlelo ʻia ma mua, pono ʻoe e hoʻokomo i kāu ssid a me ka ʻōlelo huna ma nā laina aʻe i loko o nā huaʻōlelo pālua.
A laila, hoʻonoho ʻoe i kāu web kikowaena i ke awa 80.
Hoʻokumu ka laina aʻe i kahi loli e mālama i ke poʻo o ka noi HTTP:
A laila, hana ʻoe i nā mea hoʻololi kōkua e mālama i ke kūlana o kēia manawa o kāu mau huahana. Inā makemake ʻoe e hoʻohui i nā huahana hou aʻe a mālama i kona mokuʻāina, pono ʻoe e hana i nā mea hoʻololi hou aʻe.
Pono ʻoe e hāʻawi i kahi GPIO i kēlā me kēia o kāu mau huahana. Eia mākou e hoʻohana nei iā GPIO 26 a me GPIO 27. Hiki iā ʻoe ke hoʻohana i nā GPIO kūpono ʻē aʻe.
hoʻonoho()
I kēia manawa, e hele kāua i ka hoʻonohonoho (). ʻO ka mea mua, hoʻomaka mākou i kahi kamaʻilio serial ma kahi baud rate o 115200 no nā kumu debugging.Hoʻomaopopo pū ʻoe i kāu mau GPIO ma ke ʻano he OUTPUT a hoʻonoho iā LOW.
Hoʻomaka nā laina aʻe i ka pilina Wi-Fi me WiFi.begin(ssid, password), e kali i kahi pilina kūleʻa a paʻi i ka helu IP ESP ma ka Serial Monitor.
loop()
Ma ka loop () papahana mākou i ka mea e hana ana i ka wā e hoʻokumu ai kahi mea kūʻai hou i kahi pilina me ka web kikowaena.
Ke hoʻolohe mau nei ka ESP32 i nā mea kūʻai mai me kēia laina:Ke loaʻa mai kahi noi mai kahi mea kūʻai mai, e mālama mākou i ka ʻikepili e hiki mai ana. E holo ana ka loop loop i ka wā e pili ana ka mea kūʻai aku. ʻAʻole mākou manaʻo e hoʻololi i kēia ʻāpana o ke code ke ʻole ʻoe e ʻike pono i kāu hana.
ʻO ka ʻāpana aʻe o nā ʻōlelo inā a me nā mea ʻē aʻe e nānā i ke pihi i kaomi ʻia ma kāu web ʻaoʻao, a hoʻomalu i nā huahana e like me ia. E like me kā mākou i ʻike ai ma mua, noi mākou i nā ʻokoʻa URLs ma muli o ke pihi kaomi.
No exampʻAe, inā ua paʻi ʻoe i ke pihi GPIO 26 ON, loaʻa i ka ESP32 kahi noi ma ka /26/ON URL (hiki iā mākou ke ʻike i kēlā ʻike ma ke poʻomanaʻo HTTP ma ka Serial Monitor). No laila, hiki iā mākou ke nānā inā loaʻa i ke poʻo ka huaʻōlelo GET /26/on. Inā loaʻa iā ia, hoʻololi mākou i ka output26state variable i ON, a hoʻohuli ka ESP32 i ke LED.
Hana like kēia no nā pihi ʻē aʻe. No laila, inā makemake ʻoe e hoʻohui i nā huahana hou aʻe, pono ʻoe e hoʻololi i kēia ʻāpana o ke code e hoʻokomo iā lākou.
Hōʻike i ka HTML web ʻaoʻao
ʻO ka mea aʻe āu e hana ai, ʻo ka hana ʻana i ka web ʻaoʻao. E hoʻouna ana ka ESP32 i kahi pane i kāu polokalamu kele pūnaewele me kekahi code HTML e kūkulu i ka web ʻaoʻao.
ʻO ka web Hoʻouna ʻia ka ʻaoʻao i ka mea kūʻai me ka hoʻohana ʻana i kēia hōʻike client.println(). Pono ʻoe e hoʻokomo i ka mea āu e makemake ai e hoʻouna i ka mea kūʻai aku ma ke ʻano he hoʻopaʻapaʻa.
ʻO ka mea mua a mākou e hoʻouna ai, ʻo ia ka laina aʻe, e hōʻike ana e hoʻouna ana mākou i HTML.A laila, hana ka laina aʻe i ka web ʻaoʻao pane i kekahi web polokalamu kele pūnaewele.
A ua hoʻohana ʻia kēia e pale i nā noi ma ka favicon. – ʻAʻole pono ʻoe e hopohopo no kēia laina.
Hoʻolima ʻana i ka Web ʻAoʻao
A laila, loaʻa iā mākou kekahi kikokikona CSS e kāhiko i nā pihi a me ka web helehelena ʻaoʻao.
Koho mākou i ka font Helvetica, wehewehe i ka ʻike e hōʻike ʻia ma ke ʻano he poloka a kau ʻia ma ke kikowaena.Kākoʻo mākou i kā mākou mau pihi me ka waihoʻoluʻu #4CAF50, ʻaʻohe palena, kikokikona i ke kala keʻokeʻo, a me kēia padding: 16px 40px. Hoʻonoho pū mākou i ka hoʻonani kikokikona i kekahi, wehewehe i ka nui o ka font, ka palena, a me ka cursor i kahi kuhikuhi.
Hoʻomaopopo pū mākou i ke ʻano no ka pihi lua, me nā waiwai āpau o ka pihi a mākou i wehewehe mua ai, akā me kahi kala ʻokoʻa. ʻO kēia ke ʻano no ke pihi hoʻopau.
Hoʻonohonoho i ka Web ʻAoʻao mua poʻo
Ma ka laina aʻe hiki iā ʻoe ke hoʻonohonoho i ke poʻo mua o kāu web ʻaoʻao. Eia iā mākou "ESP32 Web Server", akā hiki iā ʻoe ke hoʻololi i kēia kikokikona i nā mea āu e makemake ai.E hōʻike ana i nā pihi a me ka moku'āina pili
A laila, kākau ʻoe i kahi paukū e hōʻike i ke kūlana GPIO 26 i kēia manawa. E like me kāu e ʻike ai, hoʻohana mākou i ka output26State variable, no laila e hoʻololi koke ka mokuʻāina ke hoʻololi kēia ʻano.A laila, hōʻike mākou i ka pihi on a i ʻole ke kī, ma muli o ke kūlana o kēia manawa o ka GPIO. Inā pio ke kūlana o kēia manawa o ka GPIO, hōʻike mākou i ke pihi ON, inā ʻaʻole, hōʻike mākou i ke pihi OFF.
Hoʻohana mākou i ke kaʻina hana like no GPIO 27.
Ke pani nei i ka pilina
ʻO ka hope, i ka pau ʻana o ka pane, hoʻomaʻemaʻe mākou i ka loli poʻomanaʻo, a hoʻopau i ka pilina me ka mea kūʻai aku me ka client.stop().
ʻOpiʻi ʻana
Ma kēia kumu aʻo ua hōʻike mākou iā ʻoe pehea e kūkulu ai i kahi web kikowaena me ka ESP32. Ua hōʻike mākou iā ʻoe i kahi ex maʻalahiampʻO ka manaʻo e hoʻololi i kēlā mau LED me kahi relay, a i ʻole nā mea hana ʻē aʻe āu e makemake ai e hoʻokele.
Pāhana 6 RGB LED Web Server
Ma kēia papahana e hōʻike mākou iā ʻoe pehea e hoʻokele mamao ai i kahi LED RGB me kahi papa ESP32 e hoʻohana ana i kahi web kikowaena me kahi koho kala.
Papahana Overview
Ma mua o ka hoʻomaka ʻana, e ʻike kākou i ka hana ʻana o kēia papahana:
- ʻO ka ESP32 web hōʻike ke kikowaena i kahi koho kala.
- Ke koho ʻoe i kahi kala, noi kāu polokalamu kele pūnaewele ma kahi URL aia nā ʻāpana R, G, a me B o ke kala i koho ʻia.
- Loaʻa i kāu ESP32 ke noi a hoʻokaʻawale i ka waiwai no kēlā me kēia ʻāpana kala.
- A laila, hoʻouna ia i kahi hōʻailona PWM me ka waiwai kūpono i nā GPIO e hoʻomalu nei i ka RGB LED.
Pehea e hana ai nā LED RGB?
Ma kahi cathode RGB LED maʻamau, ʻo nā LED ʻekolu a pau e kaʻana like i kahi pilina maikaʻi ʻole (cathode).Pehea e hana ai i nā kala like ʻole?
Me kahi LED RGB hiki iā ʻoe, ʻoiaʻiʻo, e hana i nā kukui ʻulaʻula, ʻōmaʻomaʻo, a me ka uliuli, a ma ka hoʻonohonoho ʻana i ka ikaika o kēlā me kēia LED, hiki iā ʻoe ke hana i nā kala ʻē aʻe.
No exampe, no ka hana ʻana i nā kukui polū maʻemaʻe, e hoʻonoho ʻoe i ka LED uliuli i ka ikaika kiʻekiʻe loa a me nā LED ʻōmaʻomaʻo a me ka ʻulaʻula i ka haʻahaʻa haʻahaʻa. No ke kukui keʻokeʻo, hoʻonoho ʻoe i nā LED ʻekolu i ka ikaika loa.
Hoʻohui kala
No ka hana ʻana i nā kala ʻē aʻe, hiki iā ʻoe ke hoʻohui i nā kala ʻekolu i nā ʻano like ʻole. No ka hoʻololi i ka ikaika o kēlā me kēia LED hiki iā ʻoe ke hoʻohana i kahi hōʻailona PWM.
No ka mea pili loa nā LED i kekahi i kekahi, ʻike ko mākou mau maka i ka hopena o ka hui ʻana o nā kala, ma mua o nā kala ʻekolu.
No ka loaʻa ʻana o kahi manaʻo i ka hoʻohui ʻana i nā kala, e nānā i ka pakuhi ma lalo.
ʻO kēia ka pakuhi hui kala maʻalahi, akā hāʻawi iā ʻoe i ka manaʻo pehea e hana ai a pehea e hana ai i nā kala like ʻole.Pono nā ʻāpana
No kēia papahana pono ʻoe i kēia mau ʻāpana:
- ESP32 DEVKIT V1 Papa
- LED RGB
- 3x 220 ohm mau pale pale
- Uea lele
- Papa palaoa
ʻKeaCode
E hoʻolālā mākou i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
- Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
Ma hope o ka hui ʻana i ke kaapuni, wehe i ke code
Papahana_6_RGB_LED_Web_Server.ino ma arduino IDE.
Ma mua o ka hoʻouka ʻana i ke code, mai poina e hoʻokomo i kāu ʻike pūnaewele i hiki i ka ESP ke hoʻopili i kāu pūnaewele kūloko.Pehea e hana ai ke code
Hoʻohana ka sketch ESP32 i ka waihona WiFi.h.ʻO nā laina ma lalo nei e wehewehe i nā mea hoʻololi kaula e paʻa i nā ʻāpana R, G, a me B mai ka noi.
Hoʻohana ʻia nā ʻano hoʻololi ʻehā e hoʻololi i ka noi HTTP ma hope aku.
E hana i ʻekolu mau ʻokoʻa no nā GPIO e hoʻomalu i nā ʻāpana R, G, a me B. I kēia hihia ke hoʻohana nei mākou iā GPIO 13, GPIO 12, a me GPIO 14.
Pono kēia mau GPIO e hoʻopuka i nā hōʻailona PWM, no laila pono mākou e hoʻonohonoho mua i nā waiwai PWM. E hoʻonoho i ke alapine hōʻailona PWM i 5000 Hz. A laila, e hoʻohui i kahi ala PWM no kēlā me kēia kala
A ʻo ka hope, hoʻonoho i ka hoʻonā o nā kahawai PWM i 8-bit
Ma ka hoʻonohonoho (), e hāʻawi i nā waiwai PWM i nā kahawai PWM
E hoʻopili i nā kaha PWM i nā GPIO pili
Hōʻike ka ʻāpana code ma lalo i ka mea koho kala i kāu web ʻaoʻao a hana i kahi noi ma muli o ke kala āu i koho ai.
Ke koho ʻoe i kahi kala, loaʻa iā ʻoe kahi noi me kēia ʻano.
No laila, pono mākou e hoʻokaʻawale i kēia kaula no ka loaʻa ʻana o nā ʻāpana R, G, a me B. Mālama ʻia nā ʻāpana i nā ʻano ʻano redString, greenString, a me blueString a hiki ke loaʻa nā waiwai ma waena o 0 a me 255.No ka hoʻomalu ʻana i ke kāʻei me ka ESP32, e hoʻohana i ka hana ledcWrite() e hana i nā hōʻailona PWM me nā waiwai i unuhi ʻia mai ka HTTP. noi.
Nānā: e aʻo hou e pili ana i ka PWM me ESP32: Project 3 ESP32 PWM(Analog Output)
No ka mālama ʻana i ke kāʻei me ka ESP8266, pono mākou e hoʻohana
ka hana analogWrite () e hoʻopuka i nā hōʻailona PWM me nā waiwai i unuhi ʻia mai ka noi HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Ma muli o ka loaʻa ʻana o nā waiwai i loko o kahi hoʻololi string, pono mākou e hoʻololi iā lākou i nā helu helu me ka hoʻohana ʻana i ke ʻano toInt().
Hōʻike
Ma hope o ka hoʻokomo ʻana i kāu mau hōʻoia pūnaewele, koho i ka papa kūpono a me ke awa COM a hoʻouka i ke code i kāu ESP32.Upload code reference steps.
Ma hope o ka hoʻouka ʻana, wehe i ka Serial Monitor ma kahi baud rate o 115200 a kaomi i ke pihi ESP Enable/Reset. Pono ʻoe e kiʻi i ka helu IP papa.E wehe i kāu polokalamu kele pūnaewele a hoʻokomo i ka helu IP ESP. I kēia manawa, e hoʻohana i ka mea koho kala e koho i kahi kala no ka RGB LED.
A laila, pono ʻoe e kaomi i ke pihi "Change Color" no ka hoʻokō ʻana o ke kala.E hoʻopau i ke kukui RGB, koho i ke kala ʻeleʻele.
ʻO nā kala ikaika loa (ma ka piko o ka mea koho kala), ʻo ia nā mea e hoʻopuka i nā hopena maikaʻi aʻe.
Papahana 7 ESP32 Relay Web Server
ʻO ka hoʻohana ʻana i kahi relay me ka ESP32 he ala maikaʻi loa ia e hoʻokele mamao aku i nā lako hale AC. Hōʻike kēia kumu aʻo pehea e hoʻomalu ai i kahi module relay me ka ESP32.
E nānā mākou i ka hana ʻana o kahi module relay, pehea e hoʻopili ai i ka relay i ka ESP32 a kūkulu i kahi web kikowaena e hoʻomalu i kahi relay ma kahi mamao.
Hoʻokomo i nā Relay
ʻO ka relay kahi hoʻololi uila a e like me nā mea hoʻololi ʻē aʻe, hiki ke hoʻohuli a hoʻopau paha, e hoʻokuʻu i ke au e hele a ʻaʻole. Hiki ke hoomaluia me ka vol haahaatage like me ka 3.3V i hāʻawi ʻia e nā ESP32 GPIO a hiki iā mākou ke hoʻomalu i ka vol kiʻekiʻe.tage like me 12V, 24V a i ʻole voltage (230V ma ʻEulopa a me 120V ma US).Ma ka ʻaoʻao hema, aia ʻelua pūʻulu o ʻekolu kumu e hoʻopili ai i ka vol kiʻekiʻetages, a me nā pine ma ka ʻaoʻao ʻākau (low-voltage) hoʻohui i nā GPIO ESP32.
ʻO Mains Voltage Nā HoʻohuiʻO ka module relay i hōʻike ʻia ma ke kiʻi mua he ʻelua mau mea hoʻohui, kēlā me kēia me ʻekolu kumu: maʻamau (COM), Normally Closed (NC), a me Normally Open (NO).
- COM: hoʻohui i kēia manawa āu e makemake ai e hoʻokele (mains voltaga).
- NC (Paʻa maʻamau): hoʻohana ʻia ka hoʻonohonoho paʻa maʻamau inā makemake ʻoe e pani ʻia ka relay ma ke ʻano paʻamau. Hoʻohui ʻia nā NC he mau pine COM, ʻo ia hoʻi ke kahe nei ke kahe ke ʻole ʻoe e hoʻouna i kahi hōʻailona mai ka ESP32 i ka module relay e wehe i ke kaapuni a hoʻōki i ke kahe o kēia manawa.
- ʻAʻole (Normally Open): ʻo ka hoʻonohonoho wehe maʻamau e hana ma ke ʻano ʻē aʻe: ʻaʻohe pilina ma waena o nā pine NO a me COM, no laila ua haki ke kaapuni ke ʻole ʻoe e hoʻouna i kahi hōʻailona mai ka ESP32 e pani i ke kaapuni.
Nā Pins Mana ManaʻO ka haʻahaʻa-voltagʻO ka ʻaoʻao he ʻehā mau pine a he ʻekolu mau pine. ʻO ka pūʻulu mua he VCC a me GND e hoʻoikaika i ka module, a hoʻokomo i ka 1 (IN1) a me ka hoʻokomo 2 (IN2) e hoʻomalu i nā relay lalo a me luna.
Inā hoʻokahi wale nō kanal i kāu module relay, e loaʻa iā ʻoe hoʻokahi pine IN. Inā loaʻa iā ʻoe nā kaha ʻehā, e loaʻa iā ʻoe nā pine IN ʻehā, a pēlā aku.
ʻO ka hōʻailona āu e hoʻouna ai i nā pine IN, e hoʻoholo i ka hana o ka relay a i ʻole. Hoʻomaka ka relay i ka wā e hele ai ka hoʻokomo ma lalo o 2V. ʻO ia hoʻi, e loaʻa iā ʻoe nā hiʻohiʻona penei:
- Hoʻopili maʻamau (NC):
- Hōʻailona HIGH - ke kahe nei ka manawa
- Hōʻailona haʻahaʻa - ʻaʻole kahe ka manawa
- Hoʻonohonoho wehe maʻamau (NO):
- Hōʻailona HIGH - ʻaʻole kahe ka manawa
- Hōʻailona haʻahaʻa - ke kahe ʻana o kēia manawa
Pono ʻoe e hoʻohana i kahi hoʻonohonoho paʻa maʻamau i ka wā e kahe ana ke kahe i ka hapa nui o nā manawa, a makemake ʻoe e hoʻōki i kekahi manawa.
E hoʻohana i kahi hoʻonohonoho wehe maʻamau inā makemake ʻoe e kahe ka manawa i kekahi manawa (no ka example, huli alamp i kekahi manawa).
Koho Mana ManaʻO ka lua o nā pine he GND, VCC, a me JD-VCC pin.
ʻO ka pine JD-VCC ka mana i ka electromagnet o ka relay. E hoʻomaopopo he pāpale lele ko ka module e hoʻopili ana i nā pine VCC a me JD-VCC; he melemele ka mea i hōʻike ʻia ma ʻaneʻi, akā ʻokoʻa paha kou kala.
Me ka pāpale lele, hoʻopili ʻia nā pine VCC a me JD-VCC. ʻO ia hoʻi, hoʻohana pololei ʻia ka electromagnet relay mai ka pine mana ESP32, no laila ʻaʻole kaʻawale kino ka module relay a me nā kaapuni ESP32 mai kekahi i kekahi.
Me ka ʻole o ka pāpale lele, pono ʻoe e hāʻawi i kahi kumu mana kūʻokoʻa e hoʻoikaika i ka electromagnet o ka relay ma o ka pine JD-VCC. Hoʻokaʻawale kino kēlā hoʻonohonoho i nā relays mai ka ESP32 me ka optocoupler i kūkulu ʻia i loko o ka module, ka mea e pale ai i ka pōʻino i ka ESP32 inā loaʻa nā spike uila.
ʻKea'Ōlelo Aʻo: Hoʻohana i ka vol kiʻekiʻetagHiki i nā lako mana ke hōʻeha nui.
No laila, hoʻohana ʻia nā LED 5mm ma kahi o ka vol supply kiʻekiʻetage bulbs i ka hoʻokolohua. Inā ʻaʻole ʻoe i kamaʻāina i ka mains voltage noi aku i kekahi e kōkua mai iā ʻoe. ʻOiai e hoʻolālā ana i ka ESP a i ʻole ke kelepona ʻana i kāu kaapuni e hōʻoia i ka hemo ʻana o nā mea āpau mai ka mains voltage.Ke kau nei i ka waihona no ESP32
No ke kūkulu ʻana i kēia web server, hoʻohana mākou i ka ESPAsyncWebWaihona waihona a me AsyncTCP Library.
Ke kau nei i ka ESPAsyncWebWaihona waihona
E hahai i nā ʻanuʻu aʻe e hoʻokomo i ka ESPAsyncWebServer hale waihona puke:
- Kaomi ma aneʻi e kiʻi i ka ESPAsyncWebWaihona waihona. Pono ʻoe
he waihona .zip i kāu waihona Downloads - Wehe i ka waihona .zip a loaʻa iā ʻoe ka ESPAsyncWebPūnaehana-master waihona
- Hoʻololi hou i kāu waihona mai ESPAsyncWebKahu kikowaena i ESPAsyncWebServer
- E hoʻoneʻe i ka ESPAsyncWebKōpena kikowaena i kāu waihona waihona waihona waihona Arduino IDE
ʻO kahi ʻē aʻe, i kāu Arduino IDE, hiki iā ʻoe ke hele i Sketch> Include
Hale Waihona Puke > Hoʻohui i ka waihona .ZIP… a koho i ka waihona āu i hoʻoiho ai.
Ke kau nei i ka waihona AsyncTCP no ESP32
ʻO ka ESPAsyncWebServer pono ka hale waihona puke i ka AsyncTCP hale waihona puke e hana. Hahai
nā ʻanuʻu aʻe e hoʻokomo i kēlā waihona:
- Kaomi ma aneʻi e kiʻi i ka waihona AsyncTCP. Pono kāu waihona .zip i kāu waihona Downloads
- Wehe i ka waihona .zip a loaʻa iā ʻoe ka waihona AsyncTCP-master
1. Hoʻololi hou i kāu waihona mai AsyncTCP-master iā AsyncTCP
3. E hoʻoneʻe i ka waihona AsyncTCP i kāu waihona waihona waihona hoʻonohonoho Arduino IDE
4. ʻO ka hope, e wehe hou i kāu Arduino IDE
ʻO kahi ʻē aʻe, i kāu Arduino IDE, hiki iā ʻoe ke hele i Sketch> Include
Hale Waihona Puke > Hoʻohui i ka waihona .ZIP… a koho i ka waihona āu i hoʻoiho ai.
Code
E hoʻolālā mākou i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
Ma hope o ka hoʻokomo ʻana i nā hale waihona puke, wehe i ke code Project_7_ESP32_Relay_Web_Server.ino ma arduino IDE.
Ma mua o ka hoʻouka ʻana i ke code, mai poina e hoʻokomo i kāu ʻike pūnaewele i hiki i ka ESP ke hoʻopili i kāu pūnaewele kūloko.Hōʻike
Ma hope o ka hana ʻana i nā hoʻololi e pono ai, e hoʻouka i ke code i kāu ESP32.Upload code reference steps.
E wehe i ka Serial Monitor ma kahi baud rate o 115200 a kaomi i ke pihi ESP32 EN e kiʻi i kāna IP address. web kikowaena.
E wehe i ka Serial Monitor ma kahi baud rate o 115200 a kaomi i ke pihi ESP32 EN e kiʻi i kāna IP address. web kikowaena.Nānā: Pono e hoʻopili ʻia kāu polokalamu kele pūnaewele a me ESP32 i ka LAN hoʻokahi.
Pono ʻoe e loaʻa kekahi mea e like me kēia me nā pihi ʻelua e like me ka helu o nā relay āu i wehewehe ai i kāu code.I kēia manawa, hiki iā ʻoe ke hoʻohana i nā pihi e hoʻokele i kāu relay me ka hoʻohana ʻana i kāu kelepona.
Project_8_Output_State_Synchronization_ Web_Server
Hōʻike kēia Papahana pehea e hoʻomalu ai i nā huahana ESP32 a i ʻole ESP8266 me ka hoʻohana ʻana i kahi web server a me kahi pihi kino i ka manawa like. Hoʻonui hou ʻia ke kūlana hoʻopuka ma ka web ʻaoʻao inā hoʻololi ʻia ma ke pihi kino a i ʻole web kikowaena.
Papahana Overview
E nānā koke kākou i ka hana ʻana o ka papahana.ʻO ka ESP32 a i ʻole ESP8266 host a web kikowaena e hiki ai iā ʻoe ke hoʻomalu i ke kūlana o kahi puka;
- Hōʻike ʻia ke kūlana hoʻopuka o kēia manawa ma ka web kikowaena;
- Hoʻopili pū ʻia ka ESP i kahi pihi hoʻokele kino e hoʻomalu i ka hoʻopuka like;
- Inā hoʻololi ʻoe i ke kūlana hoʻopuka me ka hoʻohana ʻana i ka pihi puhs kino, ua hoʻonui hou ʻia kona kūlana o kēia manawa ma ka web kikowaena.
I ka hōʻuluʻulu ʻana, ʻae kēia papahana iā ʻoe e hoʻokele i ka hopena like me ka hoʻohana ʻana i a web kikowaena a me kahi pihi pana i ka manawa like. I kēlā me kēia manawa e hoʻololi ai ke kūlana hoʻopuka, ʻo ka web hoʻonui ʻia ke kikowaena.
Pono nā ʻāpana
Eia ka papa inoa o nā ʻāpana e pono ai ʻoe e kūkulu i ke kaapuni:
- ESP32 DEVKIT V1 Papa
- 5 mm LED
- 220Ohm pale
- Pihi pihi
- 10k Ohm pale
- Papa palaoa
- Uea lele
ʻKeaKe kau nei i ka waihona no ESP32
No ke kūkulu ʻana i kēia web server, hoʻohana mākou i ka ESPAsyncWebWaihona waihona a me AsyncTCP Library.(Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke kau nei i ka ESPAsyncWebWaihona waihona
E hahai i nā ʻanuʻu aʻe e hoʻokomo i ka ESPAsyncWebWaihona waihona:
- Kaomi ma aneʻi e kiʻi i ka ESPAsyncWebWaihona waihona. Pono ʻoe
he waihona .zip i kāu waihona Downloads - Wehe i ka waihona .zip a loaʻa iā ʻoe ka ESPAsyncWebPūnaehana-master waihona
- Hoʻololi hou i kāu waihona mai ESPAsyncWebKahu kikowaena i ESPAsyncWebServer
- E hoʻoneʻe i ka ESPAsyncWebKōpena kikowaena i kāu waihona waihona waihona waihona Arduino IDE
ʻO kahi ʻē aʻe, i kāu Arduino IDE, hiki iā ʻoe ke hele i Sketch> Include
Hale Waihona Puke > Hoʻohui i ka waihona .ZIP… a koho i ka waihona āu i hoʻoiho ai.
Ke kau nei i ka waihona AsyncTCP no ESP32
ʻO ka ESPAsyncWebPono ka waihona kikowaena i ka waihona AsyncTCP e hana. E hahai i nā ʻanuʻu aʻe e hoʻokomo i kēlā waihona:
- Kaomi ma aneʻi e kiʻi i ka waihona AsyncTCP. Pono kāu waihona .zip i kāu waihona Downloads
- Wehe i ka waihona .zip a loaʻa iā ʻoe ka waihona AsyncTCP-master
- Hoʻololi hou i kāu waihona mai AsyncTCP-master i AsyncTCP
- E hoʻoneʻe i ka waihona AsyncTCP i kāu waihona waihona waihona waihona Arduino IDE
- ʻO ka hope, wehe hou i kāu Arduino IDE
ʻO kahi ʻē aʻe, i kāu Arduino IDE, hiki iā ʻoe ke hele i Sketch> Include
Hale Waihona Puke > Hoʻohui i ka waihona .ZIP… a koho i ka waihona āu i hoʻoiho ai.
Code
E hoʻolālā mākou i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
Ma hope o ka hoʻokomo ʻana i nā hale waihona puke e pono ai, wehe i ke code
Project_8_Output_State_Synchronization_Web_Server.ino ma arduino IDE.
Ma mua o ka hoʻouka ʻana i ke code, mai poina e hoʻokomo i kāu ʻike pūnaewele i hiki i ka ESP ke hoʻopili i kāu pūnaewele kūloko.
Pehea e hana ai ke Code
Moku'āina Pihi a me ka Moku'āina Hoʻopuka
ʻO ka mea hoʻololi ledState e paʻa i ke kūlana puka LED. No ka mea paʻamau, i ka wā o ka web hoʻomaka ke kikowaena, haʻahaʻa.
Hoʻohana ʻia ka buttonState a me lastButtonState e ʻike inā ua paʻi ʻia ke pihi pana a ʻaʻole paha.pihi (web kikowaena)
ʻAʻole mākou i hoʻokomo i ka HTML no ka hana ʻana i ke pihi ma ka index_html variable.
ʻO ia no ka mea makemake mākou e hiki ke hoʻololi iā ia ma muli o ke kūlana LED o kēia manawa hiki ke hoʻololi ʻia me ka pihi pana.
No laila, ua hana mākou i kahi paʻa no ka pihi % BUTTONPLACEHOLDER% e pani ʻia me ka kikokikona HTML e hana i ke pihi ma hope o ke code (hana ʻia kēia ma ka hana () hana).mea hana ()
Hoʻololi ka hana () i nā mea hoʻokomo i ka kikokikona HTML me nā waiwai maoli. ʻO ka mea mua, nānā ia inā loaʻa nā kikokikona HTML
nā mea waiho wahi %BUTTONPLACEHOLDER%.A laila, e kāhea i ka hana ʻo theoutputState () e hoʻihoʻi i ke kūlana hoʻopuka o kēia manawa. Mālama mākou iā ia ma ka outputStateValue variable.
Ma hope o kēlā, e hoʻohana i kēlā waiwai e hana i ka kikokikona HTML e hōʻike i ke pihi me ke kūlana kūpono:
Noi ʻo HTTP GET e hoʻololi i ka mokuʻāina o ka hoʻopuka (JavaScript)
Ke kaomi ʻoe i ke pihi, kāhea ʻia ka hana toggleCheckbox(). E hana kēia hana i kahi noi ma nā ʻokoʻa URLs e hoohuli a hoopau paha i ke LED.No ka hoʻā ʻana i ka LED, noi ia ma ka /update?state=1 URL:
A i ʻole, noi ia ma ka /update?state=0 URL.
Noi ʻo HTTP GET e hōʻano hou i ka mokuʻāina (JavaScript)
No ka mālama ʻana i ke kūlana hoʻopuka hou i ka web server, kāhea mākou i kēia hana e hana i kahi noi hou ma ka / state URL kēlā me kēia kekona.Hana i nā noi
A laila, pono mākou e mālama i ka mea e loaʻa ai ka ESP32 a i ʻole ESP8266 i nā noi ma kēlā URLs.
Ke loaʻa kahi noi ma ke kumu /URL, hoʻouna mākou i ka ʻaoʻao HTML a me ka mea hana.E nānā nā laina aʻe inā loaʻa iā ʻoe kahi noi ma ka /update?state=1 a i ʻole /update?state=0 URL a hoʻololi i ka ledState e like me ia.
Ke loaʻa kahi noi ma ka / state URL, hoʻouna mākou i ke kūlana hoʻopuka o kēia manawa:
loop()
Ma ka loop (), hoʻopau mākou i ka pihi pana a hoʻohuli i ka LED a i ʻole ma muli o ka waiwai o ka ledState. loli.Hōʻike
Hoʻouka i ke code i kāu papa ESP32. Hoʻouka i nā ʻanuʻu kuhikuhi code.
A laila, wehe i ka Serial Monitor ma kahi baud rate o 115200. E kaomi i ke pihi EN/RST ma luna o ka papa e kiʻi i ka helu IP.E wehe i kahi polokalamu kele pūnaewele ma kāu pūnaewele kūloko, a paʻi i ka helu IP IP ESP. Pono ʻoe e komo i ka web kikowaena e like me ka mea i hōʻike ʻia ma lalo nei.
Nānā: Pono e hoʻopili ʻia kāu polokalamu kele pūnaewele a me ESP32 i ka LAN hoʻokahi.Hiki iā ʻoe ke hoʻololi i ke pihi ma ka web kikowaena e hoʻohuli i ka LED.
Hiki iā ʻoe ke hoʻomalu i ka LED hoʻokahi me ke pihi kino. Kona moku'āina e mau hou 'akomi ma ka web kikowaena.
Papahana 9 ESP32 DHT11 Web Server
Ma kēia papahana, e aʻo ʻoe pehea e kūkulu ai i kahi ESP32 asynchronous web server me ka DHT11 e hōʻike ana i ka mahana a me ka haʻahaʻa me ka Arduino IDE.
Nā mea e pono ai
ʻO ka web server mākou e kūkulu i nā mea hou i nā heluhelu me ka ʻole o ka pono e hōʻoluʻolu i ka web ʻaoʻao.
Me kēia papahana e aʻo ai ʻoe:
- Pehea e heluhelu ai i ka mahana a me ka haʻahaʻa mai nā mea ʻike DHT;
- E kūkulu i kahi asynchronous web kikowaena hoʻohana i ka ESPAsyncWebWaihona waihona;
- Hoʻohou i ka heluhelu ʻana i ka sensor me ka ʻole pono e hoʻomaha i ka web ʻaoʻao.
Asynchronous Web Server
E kukulu i ka web server mākou e hoʻohana ai i ka ESPAsyncWebWaihona waihona e hāʻawi i kahi ala maʻalahi e kūkulu i kahi asynchronous web kikowaena. Ke kūkulu ʻana i kahi asynchronous web Loaʻa iā server kekahi mau advantage like me ka mea i ʻōlelo ʻia ma ka waihona ʻaoʻao GitHub, e like me:
- "E hoʻopaʻa i nā pilina ʻoi aku ma mua o hoʻokahi i ka manawa like";
- "Ke hoʻouna ʻoe i ka pane, ua mākaukau koke ʻoe e lawelawe i nā pili ʻē aʻe i ka wā e mālama ana ke kikowaena i ka hoʻouna ʻana i ka pane ma hope";
- "Mekini hoʻoponopono maʻalahi no ka mālama ʻana i nā maʻamau";
Pono nā ʻāpana
No ka hoʻopau ʻana i kēia kumu aʻo pono ʻoe i kēia mau ʻāpana:
- ESP32 papa hoʻomohala
- Module DHT11
- Papa palaoa
- Uea lele
ʻKeaKe hoʻokomo nei i nā hale waihona puke
Pono ʻoe e hoʻokomo i ʻelua mau hale waihona puke no kēia papahana:
- ʻO ka DHT a me ka Adafruit Unified Sensor ʻO nā hale waihona puke hoʻokele e heluhelu mai ka DHT sensor.
- ESPAsyncWebServer a Async TCP hale waihona puke e kūkulu i ka asynchronous web kikowaena.
E hahai i nā ʻōlelo aʻe e hoʻokomo i kēlā mau waihona:
Ke hoʻokomo nei i ka hale waihona puke DHT Sensor
No ka heluhelu ʻana mai ka sensor DHT me ka hoʻohana ʻana iā Arduino IDE, pono ʻoe e hoʻokomo i ka hale waihona ʻike DHT. E hahai i nā ʻanuʻu aʻe e hoʻokomo i ka waihona.
- Kaomi ma aneʻi e kiʻi i ka waihona DHT Sensor. Pono kāu waihona .zip i kāu waihona Downloads
- Wehe i ka waihona .zip a loaʻa iā ʻoe ka DHT-sensor-library-master folder
- Hoʻololi hou i kāu waihona mai DHT-sensor-library-master i DHT_sensor
- E hoʻoneʻe i ka waihona DHT_sensor i kāu waihona waihona waihona waihona Arduino IDE
- ʻO ka hope, wehe hou i kāu Arduino IDE
Ke kau nei i ka Keaukaha Sensor Unified Adafruit
Pono ʻoe e hoʻokomo i ka ʻO ka hale waihona puke ʻo Adafruit Unified Sensor Driver e hana me ka DHT sensor. E hahai i nā ʻanuʻu aʻe e hoʻokomo i ka waihona.
- Kaomi ma aneʻi e kiʻi i ka waihona ʻo Adafruit Unified Sensor. Pono kāu waihona .zip i kāu waihona Downloads
- Wehe i ka waihona .zip a loaʻa iā ʻoe kahi waihona Adafruit_sensor-master
- Hoʻololi hou i kāu waihona mai Adafruit_sensor-master iā Adafruit_sensor
- E hoʻoneʻe i ka waihona Adafruit_sensor i kāu waihona waihona waihona waihona Arduino IDE
- ʻO ka hope, wehe hou i kāu Arduino IDE
Ke kau nei i ka ESPAsyncWebWaihona waihona
E hahai i nā ʻanuʻu aʻe e hoʻokomo i ka ESPAsyncWebServer hale waihona puke:
- Kaomi ma aneʻi e kiʻi i ka ESPAsyncWebWaihona waihona. Pono ʻoe
he waihona .zip i kāu waihona Downloads - Wehe i ka waihona .zip a pono ʻoe
loaʻa iā ESPAsyncWebPūnaehana-master waihona - Hoʻololi hou i kāu waihona mai ESPAsyncWebKahu kikowaena i ESPAsyncWebServer
- E hoʻoneʻe i ka ESPAsyncWebKōpena kikowaena i kāu waihona waihona waihona waihona Arduino IDE
Ke hoʻokomo nei i ka waihona Async TCP no ESP32
ʻO ka ESPAsyncWebServer pono ka hale waihona puke i ka AsyncTCP hale waihona puke e hana. E hahai i nā ʻanuʻu aʻe e hoʻokomo i kēlā waihona:
- Kaomi ma aneʻi e kiʻi i ka waihona AsyncTCP. Pono kāu waihona .zip i kāu waihona Downloads
- Wehe i ka waihona .zip a loaʻa iā ʻoe ka waihona AsyncTCP-master
- Hoʻololi hou i kāu waihona mai AsyncTCP-master i AsyncTCP
- E hoʻoneʻe i ka waihona AsyncTCP i kāu waihona waihona waihona waihona Arduino IDE
- ʻO ka hope, wehe hou i kāu Arduino IDE
Code
E hoʻolālā mākou i ka ESP32 me ka hoʻohana ʻana i ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDE
Ma hope o ka hoʻokomo ʻana i nā hale waihona puke e pono ai, wehe i ke code
Papahana_9_ESP32_DHT11_Web_Server.ino ma arduino IDE.
Ma mua o ka hoʻouka ʻana i ke code, mai poina e hoʻokomo i kāu ʻike pūnaewele i hiki i ka ESP ke hoʻopili i kāu pūnaewele kūloko.Pehea e hana ai ke Code
Ma nā paukū aʻe e wehewehe mākou i ka hana ʻana o ke code. E hoʻomau i ka heluhelu inā makemake ʻoe e aʻo hou a lele paha i ka ʻāpana Demonstration e ʻike i ka hopena hope.
Ke lawe nei i nā hale waihona puke
ʻO ka mea mua, e hoʻokomo i nā hale waihona puke i makemake ʻia. ʻO ka WiFi, ESPAsyncWebPono ke kikowaena a me ka ESPAsyncTCP e kūkulu i ka web kikowaena. Pono ka Adafruit_Sensor a me nā hale waihona puke DHT e heluhelu mai nā mea ʻike DHT11 a i ʻole DHT22.Wehewehe hoʻololi
E wehewehe i ka GPIO i pili ai ka pine data DHT. I kēia hihia, pili ia iā GPIO 4.A laila, koho i ke ʻano sensor DHT āu e hoʻohana nei. I ko mākou exampe, ke hoʻohana nei mākou i ka DHT22. Inā ʻoe e hoʻohana nei i kahi ʻano ʻē aʻe, pono ʻoe e wehe i kāu sensor a haʻi i nā mea ʻē aʻe.
E hoʻomaka koke i kahi mea DHT me ke ʻano a me ka pine a mākou i wehewehe mua ai.E hana i kahi AsyncWebMea kikowaena ma ke awa 80.
Heluhelu i nā hana wela a me ka haʻahaʻa
Ua hana mākou i ʻelua hana: ʻo kekahi e heluhelu i ka mahana Ua hana mākou i ʻelua mau hana: ʻo kekahi e heluhelu i ka mahana (readDHTTemperature()) a ʻo kekahi e heluhelu i ka haʻahaʻa (readDHTHumidity ()).He maʻalahi ka loaʻa ʻana o ka heluhelu sensor e like me ka hoʻohana ʻana i ka heluhelu ʻana i ka sensor e like me ka hoʻohana ʻana i nā ʻano readTemperature () a me readHumidity () ma ka mea dht.
Loaʻa iā mākou kahi kūlana e hoʻihoʻi i ʻelua kaha (-) inā ʻaʻole loaʻa ka ʻike i nā heluhelu.
Hoʻihoʻi ʻia nā heluhelu ma ke ʻano he kaula. No ka hoʻololi ʻana i kahi lana i kahi kaula, e hoʻohana i ka hana String().
Ma ka maʻamau, ke heluhelu nei mākou i ka mahana ma nā degere Celsius. No ka loaʻa ʻana o ka mahana ma Fahrenheit degere, e haʻi i ka wela ma Celsius a e wehe i ka wela ma Fahrenheit, i loaʻa iā ʻoe kēia:
Hoʻouka i ke Code
I kēia manawa, e hoʻouka i ke code i kāu ESP32. E hōʻoia iā ʻoe ka papa kūpono a me ke awa COM i koho ʻia. Hoʻouka i nā ʻanuʻu kuhikuhi code.
Ma hope o ka hoʻouka ʻana, wehe i ka Serial Monitor ma kahi baud rate o 115200. E kaomi i ke pihi ESP32 reset. Pono e paʻi ʻia ka helu IP ESP32 ma ka serial kiaʻi.Hōʻike
E wehe i kahi polokalamu kele pūnaewele a paʻi i ka helu IP ESP32. ʻO kāu web Pono ke kikowaena e hōʻike i nā heluhelu sensor hou loa.
Nānā: Pono e hoʻopili ʻia kāu polokalamu kele pūnaewele a me ESP32 i ka LAN hoʻokahi.
E hoʻomaopopo i ka heluhelu ʻana o ka mahana a me ka haʻahaʻa me ka ʻole pono e hōʻoluʻolu i ka web ʻaoʻao.
Papahana_10_ESP32_OLED_Hōʻike
Hōʻike kēia papahana pehea e hoʻohana ai i ka hōʻike 0.96 iniha SSD1306 OLED me ESP32 me ka hoʻohana ʻana iā Arduino IDE.
Ke hoʻolauna nei i ka hōʻike OLED 0.96 iniha
ʻO ka Hōʻike OLED ʻO kā mākou e hoʻohana ai i kēia kumu aʻo ʻo ka SSD1306 model: he monocolor, 0.96 iniha hōʻike me 128x64 pixels e like me ka mea i hōʻike ʻia ma kēia kiʻi.ʻAʻole pono ka hōʻike OLED i ke kukui hope, e hopena i kahi ʻokoʻa maikaʻi loa i nā pōʻeleʻele. Hoʻohui ʻia, hoʻopau kona mau pika i ka ikehu wale nō i ka wā e hele ai lākou, no laila ʻoi aku ka liʻiliʻi o ka mana o ka hōʻike OLED ke hoʻohālikelike ʻia me nā hōʻike ʻē aʻe.
Ma muli o ka hoʻohana ʻana o ka hōʻike OLED i ka protocol kamaʻilio I2C, maʻalahi loa ka wili. Hiki iā ʻoe ke hoʻohana i ka papa ma lalo nei ma ke ʻano he kuhikuhi.
Pin OLED | ESP32 |
ʻO Vin | 3.3V |
GND | GND |
SCL | GPIO 22 |
SDA | GPIO 21 |
ʻKeaKe hoʻokomo nei i ka SSD1306 OLED Library - ESP32
Nui nā hale waihona puke e hoʻomalu i ka hōʻike OLED me ka ESP32.
Ma kēia kumu aʻo e hoʻohana mākou i ʻelua hale waihona puke Adafruit: Hale waihona puke ʻo Adafruit_SSD1306 a Hale waihona puke ʻo Adafruit_GFX.
E hahai i nā ʻanuʻu aʻe e hoʻokomo i kēlā mau waihona.
- E wehe i kāu Arduino IDE a hele i ka Sketch> Include Library> Manage Libraries. Pono e wehe ka Luna Waihona Puke.
- Kākau i ka "SSD1306" ma ka pahu hulina a hoʻokomo i ka waihona SSD1306 mai Adafruit.
- Ma hope o ka hoʻokomo ʻana i ka waihona SSD1306 mai Adafruit, ʻano "GFX" i ka pahu hulina a hoʻokomo i ka waihona.
- Ma hope o ka hoʻokomo ʻana i nā hale waihona puke, e hoʻomaka hou i kāu Arduino IDE.
Code
Ma hope o ka hoʻokomo ʻana i nā hale waihona puke e pono ai, e wehe i ka Project_10_ESP32_OLED_Display.ino ma arduino IDE. code
E hoʻolālā mākou i ka ESP32 me ka Arduino IDE, no laila e hōʻoia ʻoe ua hoʻokomo ʻia ka mea hoʻohui ESP32 ma mua o ka hoʻomaka ʻana: (Inā ua hana mua ʻoe i kēia kaʻina, hiki iā ʻoe ke lele i ka pae aʻe.)
Ke hoʻokomo nei i ka ESP32 Add-on ma Arduino IDEPehea e hana ai ke Code
Ke lawe nei i nā hale waihona puke
ʻO ka mea mua, pono ʻoe e hoʻokomo i nā hale waihona puke e pono ai. ʻO ka waihona Wire e hoʻohana i ka I2C a me nā hale waihona puke Adafruit e kākau i ka hōʻike: Adafruit_GFX a me Adafruit_SSD1306.E hoʻomaka i ka hōʻike OLED
A laila, wehewehe ʻoe i kāu laulā OLED a me ke kiʻekiʻe. Ma keia exampʻAe, ke hoʻohana nei mākou i kahi hōʻike 128 × 64 OLED. Inā hoʻohana ʻoe i nā ʻano nui ʻē aʻe, hiki iā ʻoe ke hoʻololi i kēlā ma nā ʻano SCREEN_WIDTH, a me SCREEN_HEIGHT.A laila, e hoʻomaka i kahi mea hōʻike me ka laulā a me ke kiʻekiʻe i wehewehe mua ʻia me ka protocol kamaʻilio I2C (& Wire).
ʻO ka palena (-1) ʻo ia hoʻi, ʻaʻohe pine RESET i kāu hōʻike OLED. Inā loaʻa i kāu hōʻike OLED kahi pine RESET, pono e hoʻopili ʻia i kahi GPIO. I kēlā hihia, pono ʻoe e hāʻawi i ka helu GPIO ma ke ʻano he ʻāpana.
Ma ka hoʻonohonoho (), e hoʻomaka i ka Serial Monitor ma kahi baud raute o 115200 no nā kumu debugging.E hoʻomaka i ka hōʻike OLED me ke ʻano hoʻomaka () penei:
Paʻi pū kēia snippet i kahi leka ma ka Serial Monitor, inā ʻaʻole hiki iā mākou ke hoʻopili i ka hōʻike.
Inā ʻoe e hoʻohana ana i kahi hōʻike OLED ʻē aʻe, pono paha ʻoe e hoʻololi i ka helu OLED. I kā mākou hihia, ʻo 0x3C ka helu wahi.
Ma hope o ka hoʻomaka ʻana i ka hōʻike, hoʻohui i ʻelua lohi kekona, i lawa ka manawa o ka OLED e hoʻomaka ai ma mua o ke kākau ʻana i nā kikokikona:
Hoʻomaʻemaʻe i ka hōʻike, hoʻonohonoho i ka nui font, kala a kākau i nā kikokikona
Ma hope o ka hoʻomaka ʻana i ka hōʻike, hoʻomaʻemaʻe i ka pale hōʻike me ke ʻano clearDisplay():
Ma mua o ke kākau ʻana i ka kikokikona, pono ʻoe e hoʻonohonoho i ka nui kikokikona, kala a me kahi e hōʻike ʻia ai ke kikokikona ma ka OLED.
E hoʻonoho i ka nui font me ke ʻano setTextSize():E hoʻonoho i ka waihoʻoluʻu font me ke ʻano setTextColor():
Hoʻonohonoho ʻo WHITE i nā kikokikona keʻokeʻo a me ka ʻeleʻele.
E wehewehe i ke kūlana kahi i hoʻomaka ai ka kikokikona me ke ʻano setCursor(x,y). I kēia hihia, ke hoʻonohonoho nei mākou i ka kikokikona e hoʻomaka ma ka (0,0) hoʻonohonoho - ma ka ʻaoʻao hema hema.ʻO ka hope, hiki iā ʻoe ke hoʻouna i ka kikokikona i ka hōʻike me ka hoʻohana ʻana i ke ʻano println(), penei
A laila, pono ʻoe e kāhea i ke ʻano hōʻike () e hōʻike maoli i ka kikokikona ma ka pale.
Hāʻawi ka waihona ʻo Adafruit OLED i nā ala kūpono e ʻōwili maʻalahi i ka kikokikona.
- startscrollright(0x00, 0x0F): ʻōwili kikokikona mai ka hema a i ka ʻākau
- startscrollleft(0x00, 0x0F): ʻōwili kikokikona mai ka ʻākau a i ka hema
- startscrolldiagright(0x00, 0x07): ʻōwili kikokikona mai ka ʻaoʻao hema a i ka ʻaoʻao ʻākau kiʻekiʻe.
Hoʻouka i ke Code
I kēia manawa, e hoʻouka i ke code i kāu ESP32.Upload code reference steps.
Ma hope o ka hoʻouka ʻana i ke code, e hōʻike ka OLED i nā kikokikona ʻōwili.
Palapala / Punawai
![]() |
LAFVIN ESP32 Mea hoʻomaka kumu [pdf] Palapala Aʻo ESP32 Mea Hoʻomaka Kumu, ESP32, Mea Hoʻomaka Kumu, Mea Hoʻomaka |