Logo LAFVINZákladní startér ESP32
Kit

Seznam balení

Základní startovací sada LAFVIN ESP32 – PackingList

Úvod do ESP32

Jste v ESP32 noví? Začněte zde! ESP32 je řada levných a nízkoenergetických mikrokontrolérů System on a Chip (SoC) vyvinutých společností Espressif, které zahrnují bezdrátové funkce Wi-Fi a Bluetooth a dvoujádrový procesor. Pokud znáte ESP8266, ESP32 je jeho nástupce, nabitý spoustou nových funkcí.Základní startovací sada LAFVIN ESP32 - Úvod do ESP32Specifikace ESP32
Pokud chcete být trochu techničtější a konkrétnější, můžete se podívat na následující podrobné specifikace ESP32 (zdroj: http://esp32.net/) – další podrobnosti zkontrolujte datový list):

  • Bezdrátové připojení WiFi: rychlost přenosu dat 150.0 Mbps s HT40
  • Bluetooth: BLE (Bluetooth Low Energy) a Bluetooth Classic
  • Procesor: Tensilica Xtensa Dual-Core 32bitový mikroprocesor LX6, běžící na 160 nebo 240 MHz
  • Paměť:
  • ROM: 448 KB (pro bootování a základní funkce)
  • SRAM: 520 KB (pro data a pokyny)
  • RTC fas SRAM: 8 KB (pro ukládání dat a hlavní CPU během RTC bootování z režimu hlubokého spánku)
  • Pomalá RTC SRAM: 8 KB (pro koprocesorový přístup v režimu hlubokého spánku) eFuse: 1 Kbit (z toho 256 bitů je použito pro systém (MAC adresa a konfigurace čipu) a zbývajících 768 bitů je vyhrazeno pro zákaznické aplikace, vč. Flash-Encryption a Chip-ID)

Vestavěný flash: flash připojený interně přes IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 a SD_DATA_1 na ESP32-D2WD a ESP32-PICO-D4.

  • 0 MiB (čipy ESP32-D0WDQ6, ESP32-D0WD a ESP32-S0WD)
  • 2 MiB (čip ESP32-D2WD)
  • 4 MiB (modul ESP32-PICO-D4 SiP)

Low Power: zajišťuje, že můžete stále používat převody ADC, napřample, během hlubokého spánku.
Periferní vstup/výstup:

  • periferní rozhraní s DMA, které zahrnuje kapacitní dotyk
  • ADC (Analogově-digitální převodník)
  • DAC (digitální-analogový převodník)
  • I²C (Inter-Integrated Circuit)
  • UART (Universal Asynchronous Receiver/Transmitter)
  • SPI (Serial Peripheral Interface)
  • I²S (Integrovaný mezičipový zvuk)
  • RMII (redukované rozhraní nezávislé na médiích)
  • PWM (Pulse-Width Modulation)

Zabezpečení: hardwarové akcelerátory pro AES a SSL/TLS

Vývojové desky ESP32

ESP32 označuje holý čip ESP32. Termín „ESP32“ se však také používá k označení vývojových desek ESP32. Používání holých čipů ESP32 není snadné ani praktické, zejména při učení, testování a prototypování. Většinu času budete chtít použít vývojovou desku ESP32.
Jako referenci použijeme desku ESP32 DEVKIT V1. Na obrázku níže je deska ESP32 DEVKIT V1, verze s 30 piny GPIO.Základní startovací sada LAFVIN ESP32 – vývojové desky ESP32Specifikace – ESP32 DEVKIT V1
Následující tabulka ukazuje souhrn funkcí a specifikací desky ESP32 DEVKIT V1 DOIT:

Počet jader 2 (dvoujádrové)
Wi-Fi 2.4 GHz až 150 Mbit/s
Bluetooth BLE (Bluetooth Low Energy) a starší Bluetooth
Architektura 32 bitů
Frekvence hodin Až 240 MHz
BERAN 512 kB
špendlíky 30 (v závislosti na modelu)
Periferní zařízení Kapacitní dotyk, ADC (analogově digitální převodník), DAC (digitální analogový převodník), 12C (Inter-Integrated Circuit), UART (univerzální asynchronní přijímač/vysílač), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface) , 12S (Integrovaný inter-IC
Zvuk), RMII (Reduced Media-Independent Interface), PWM (pulzní šířková modulace) a další.
Vestavěná tlačítka Tlačítka RESET a BOOT
Vestavěné LED diody vestavěná modrá LED připojená k GPIO2; vestavěná červená LED, která ukazuje, že je deska napájena
USB na UART
most
CP2102

Základní startovací sada LAFVIN ESP32 - ESP32 DEVKITDodává se s rozhraním microUSB, které můžete použít k připojení desky k počítači pro nahrání kódu nebo napájení.
Pro komunikaci s vaším počítačem přes COM port pomocí sériového rozhraní využívá čip CP2102 (USB to UART). Dalším oblíbeným čipem je CH340. Zkontrolujte, jaký je převodník čipu USB na UART na vaší desce, protože budete muset nainstalovat požadované ovladače, aby váš počítač mohl komunikovat s deskou (více informací o tom později v této příručce).
Tato deska je také dodávána s tlačítkem RESET (může být označeno EN) pro restart desky a tlačítkem BOOT pro uvedení desky do režimu blikání (dostupné pro příjem kódu). Všimněte si, že některé desky nemusí mít tlačítko BOOT.
Dodává se také s vestavěnou modrou LED, která je vnitřně připojena k GPIO 2. Tato LED je užitečná pro ladění, aby poskytla nějaký vizuální fyzický výstup. Je zde také červená LED, která se rozsvítí, když desku napájíte.Základní startovací sada LAFVIN ESP32 - deskaPinout ESP32
Mezi periferie ESP32 patří:

  • 18 kanálů analogově-digitálního převodníku (ADC).
  • 3 SPI rozhraní
  • 3 rozhraní UART
  • 2 I2C rozhraní
  • 16 výstupní kanály PWM
  • 2 digitálně-analogové převodníky (DAC)
  • 2 rozhraní I2S
  • 10 GPIO s kapacitním snímáním

Funkce ADC (analogově-digitální převodník) a DAC (digitální-analogový převodník) jsou přiřazeny konkrétním statickým kolíkům. Můžete se však rozhodnout, které piny jsou UART, I2C, SPI, PWM atd. – stačí je přiřadit v kódu. To je možné díky funkci multiplexování čipu ESP32.
I když můžete definovat vlastnosti pinů v softwaru, existují piny přiřazené ve výchozím nastavení, jak je znázorněno na následujícím obrázkuZákladní startovací sada LAFVIN ESP32 - Pinout ESP32Kromě toho existují kolíky se specifickými vlastnostmi, díky kterým jsou vhodné nebo nevhodné pro konkrétní projekt. Následující tabulka ukazuje, jaké piny je nejlepší použít jako vstupy, výstupy a na které si musíte dávat pozor.
Špendlíky zvýrazněné zeleně lze použít. Ty, které jsou zvýrazněny žlutě, lze použít, ale musíte věnovat pozornost, protože mohou mít neočekávané chování, zejména při spouštění. Červeně zvýrazněné kolíky se nedoporučuje používat jako vstupy nebo výstupy.

GP IO Vstup Výstup Poznámky
0 vytáhl nahoru OK výstupy PWM signálu při bootování, musí být LOW pro přechod do režimu blikání
1 TX pin OK výstup ladění při bootování
2 OK OK připojený k palubní LED, musí být ponechán plovoucí nebo LOW pro přechod do režimu blikání
3 OK RX kolík VYSOKÁ při startu
4 OK OK
5 OK OK výstupy PWM signálu při startu, páskovací kolík
12 OK OK bota selže, pokud je vytažena vysoko, páskový špendlík
13 OK OK
14 OK OK výstup signálu PWM při bootování
15 OK OK výstupy PWM signálu při startu, páskovací kolík
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 pouze vstup
35 OK pouze vstup
36 OK pouze vstup
39 OK pouze vstup

Pokračujte ve čtení pro podrobnější a hloubkovou analýzu ESP32 GPIO a jeho funkcí.
Zadejte pouze piny
GPIO 34 až 39 jsou GPI – pouze vstupní piny. Tyto piny nemají vnitřní pull-up nebo pull-down rezistory. Nemohou být použity jako výstupy, proto použijte tyto piny pouze jako vstupy:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

SPI blesk integrovaný na ESP-WROOM-32
GPIO 6 až GPIO 11 jsou vystaveny na některých vývojových deskách ESP32. Tyto piny jsou však připojeny k integrovanému blesku SPI na čipu ESP-WROOM-32 a pro jiné použití se nedoporučují. Takže ve svých projektech nepoužívejte tyto piny:

  • GPIO 6 (SCK/CLK)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

Kapacitní dotykové GPIO
ESP32 má 10 interních kapacitních dotykových senzorů. Ty mohou vnímat změny v čemkoli, co má elektrický náboj, jako je lidská kůže. Mohou tak detekovat variace vyvolané dotykem GPIO prstem. Tyto piny lze snadno integrovat do kapacitních podložek a nahradit mechanická tlačítka. Kapacitní dotykové kolíky lze také použít k probuzení ESP32 z hlubokého spánku. Tyto interní dotykové senzory jsou připojeny k těmto 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)

Analogově digitální převodník (ADC)
ESP32 má 18 x 12 bitů ADC vstupních kanálů (zatímco ESP8266 má pouze 1 x 10 bitů ADC). Toto jsou GPIO, které lze použít jako ADC a příslušné kanály:

  • 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)

Poznámka: Piny ADC2 nelze použít při použití Wi-Fi. Pokud tedy používáte Wi-Fi a máte potíže se získáním hodnoty z ADC2 GPIO, můžete místo toho zvážit použití ADC1 GPIO. To by mělo vyřešit váš problém.
Vstupní kanály ADC mají 12bitové rozlišení. To znamená, že můžete získat analogové hodnoty v rozsahu od 0 do 4095, kde 0 odpovídá 0V a 4095 až 3.3V. Můžete také nastavit rozlišení vašich kanálů na kódu a rozsahu ADC.
Piny ADC ESP32 nemají lineární chování. Pravděpodobně nebudete schopni rozlišit mezi 0 a 0.1 V nebo mezi 3.2 a 3.3 V. Musíte to mít na paměti při používání pinů ADC. Získáte chování podobné tomu, které je znázorněno na následujícím obrázku.Základní startovací sada LAFVIN ESP32 – chováníDigitální převodník na analogový (DAC)
Na ESP2 jsou 8 x 32 bitové DAC kanály pro převod digitálních signálů na analogové voltage signálové výstupy. Toto jsou kanály DAC:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
Na ESP32 je podpora RTC GPIO. GPIO směrované do nízkoenergetického subsystému RTC lze použít, když je ESP32 v hlubokém spánku. Tyto RTC GPIO lze použít k probuzení ESP32 z hlubokého spánku, když je Ultra Low
Koprocesor napájení (ULP) běží. Následující GPIO lze použít jako externí zdroj probuzení.

  • 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
Ovladač ESP32 LED PWM má 16 nezávislých kanálů, které lze nakonfigurovat tak, aby generovaly signály PWM s různými vlastnostmi. Všechny piny, které mohou fungovat jako výstupy, lze použít jako piny PWM (GPIO 34 až 39 neumí generovat PWM).
Chcete-li nastavit signál PWM, musíte v kódu definovat tyto parametry:

  • Frekvence signálu;
  • Pracovní cyklus;
  • PWM kanál;
  • GPIO, kam chcete vyvést signál.

I2C
ESP32 má dva I2C kanály a jakýkoli pin lze nastavit jako SDA nebo SCL. Při použití ESP32 s Arduino IDE jsou výchozí I2C piny:

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)

Pokud chcete při používání knihovny drátů použít jiné piny, stačí zavolat:
Wire.begin(SDA, SCL);
SPI
Ve výchozím nastavení je mapování pinů pro SPI:

SPI LELKOVAT MISO CLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

Přerušení
Všechny GPIO lze nakonfigurovat jako přerušení.
Špendlíky
Čip ESP32 má následující páskovací kolíky:

  • GPIO 0 (pro vstup do spouštěcího režimu musí být LOW)
  • GPIO 2 (při bootování musí být plovoucí nebo LOW)
  • GPIO 4
  • GPIO 5 (při spouštění musí být VYSOKÝ)
  • GPIO 12 (při bootování musí být NÍZKÁ)
  • GPIO 15 (při spouštění musí být VYSOKÝ)

Ty se používají k uvedení ESP32 do režimu bootloaderu nebo flashování. Na většině vývojových desek s vestavěným USB/Serial se o stav těchto pinů nemusíte starat. Deska uvádí piny do správného stavu pro blikání nebo bootovací režim. Více informací o výběru režimu spouštění ESP32 naleznete zde.
Pokud však máte periferie připojené k těmto pinům, můžete mít potíže při pokusu o nahrání nového kódu, flashování ESP32 novým firmwarem nebo resetování desky. Pokud máte nějaké periferie připojené k páskovacím kolíkům a máte potíže s nahráváním kódu nebo blikáním ESP32, může to být proto, že tyto periferie brání ESP32 vstoupit do správného režimu. Přečtěte si dokumentaci k výběru režimu spouštění, která vás navede správným směrem. Po resetování, flashování nebo bootování tyto piny fungují podle očekávání.
Piny HIGH při spouštění
Některé GPIO změní svůj stav na HIGH nebo vydávají PWM signály při bootování nebo resetu.
To znamená, že pokud máte výstupy připojené k těmto GPIO, můžete získat neočekávané výsledky, když se ESP32 resetuje nebo zavede.

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 až GPIO 11 (připojeno k integrované SPI flash paměti ESP32 – nedoporučuje se používat).
  • GPIO 14
  • GPIO 15

Povolit (EN)
Enable (EN) je aktivační kolík 3.3V regulátoru. Je vytažen, takže připojte k zemi, abyste deaktivovali regulátor 3.3V. To znamená, že tento pin připojený k tlačítku můžete použít k restartování ESP32, napřample.
Odebíraný proud GPIO
Absolutní maximální proud odebíraný na GPIO je 40 mA podle části „Doporučené provozní podmínky“ v datovém listu ESP32.
ESP32 vestavěný senzor s Hallovým efektem
ESP32 je také vybaven vestavěným snímačem Hallova efektu, který detekuje změny magnetického pole ve svém okolí
ESP32 Arduino IDE
Existuje doplněk pro Arduino IDE, který vám umožňuje programovat ESP32 pomocí Arduino IDE a jeho programovacího jazyka. V tomto tutoriálu vám ukážeme, jak nainstalovat desku ESP32 v Arduino IDE, ať už používáte Windows, Mac OS X nebo Linux.
Předpoklady: Nainstalované Arduino IDE
Před zahájením této instalační procedury musíte mít na svém počítači nainstalované Arduino IDE. Existují dvě verze Arduino IDE, které můžete nainstalovat: verze 1 a verze 2.
Arduino IDE si můžete stáhnout a nainstalovat kliknutím na následující odkaz: arduino.cc/en/Main/Software
Jakou verzi Arduino IDE doporučujeme? V současné době jsou nějaké plugins pro ESP32 (jako SPIFFS Filesystem Uploader Plugin), které zatím nejsou podporovány na Arduinu 2. Pokud tedy hodláte v budoucnu používat plugin SPIFFS, doporučujeme nainstalovat starší verzi 1.8.X. Stačí se posouvat dolů na stránce softwaru Arduino, abyste to našli.
Instalace doplňku ESP32 v Arduino IDE
Chcete-li nainstalovat desku ESP32 do vašeho Arduino IDE, postupujte podle následujících pokynů:

  1. Ve vašem Arduino IDE přejděte na File> PředvolbyZákladní startovací sada LAFVIN ESP32 – Předvolby
  2. Do „Additional Board Manager“ zadejte následující URLpole s”:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Poté klikněte na tlačítko „OK“:Základní startovací sada LAFVIN ESP32 – tlačítko „OK“.Poznámka: pokud již máte desky ESP8266 URL, můžete oddělit URLs čárkou takto:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Otevřete Správce desek. Přejděte na Nástroje > Nástěnka > Správce nástěnek…Základní startovací sada LAFVIN ESP32 - EspressifHledat ESP32 and press install button for the “ESP32 by Espressif Systems“:Základní startovací sada LAFVIN ESP32 - EspressifTo je vše. Měl by být nainstalován po několika sekundách.Základní startovací sada LAFVIN ESP32 – nainstalována

Nahrajte testovací kód

Připojte desku ESP32 k počítači. S otevřeným Arduino IDE postupujte takto:

  1. Vyberte svou desku v nabídce Nástroje > Deska (v mém případě je to modul ESP32 DEV)Základní startovací sada LAFVIN ESP32 - Deska nářadí
  2. Vyberte port (pokud nevidíte COM port ve vašem Arduino IDE, musíte nainstalovat ovladače VCP CP210x USB to UART Bridge):Základní startovací sada LAFVIN ESP32 - UART Bridge
  3. Otevřete následující příkladample pod File > Přamples > WiFi
    (ESP32) > WiFiScanZákladní startovací sada LAFVIN ESP32 - WiFiScanZákladní startovací sada LAFVIN ESP32 - WiFiScan 1
  4. Ve vašem Arduino IDE se otevře nová skica:Základní startovací sada LAFVIN ESP32 - Arduino IDE
  5. Stiskněte tlačítko Upload v Arduino IDE. Počkejte několik sekund, než se kód zkompiluje a nahraje na vaši nástěnku.Základní startovací sada LAFVIN ESP32 - deska
  6. Pokud vše proběhlo podle očekávání, mělo by se zobrazit „Nahrávání dokončeno“. zpráva.Základní startovací sada LAFVIN ESP32 – nahrávání dokončeno
  7. Otevřete Arduino IDE Serial Monitor s přenosovou rychlostí 115200:Základní startovací sada LAFVIN ESP32 - Monitor
  8. Stiskněte tlačítko aktivace ESP32 na palubě a měli byste vidět sítě dostupné v blízkosti vašeho ESP32:Základní startovací sada LAFVIN ESP32 – tlačítko Povolit

Odstraňování problémů

Pokud se pokusíte nahrát novou skicu do ESP32 a zobrazí se tato chybová zpráva „Došlo k fatální chybě: Nepodařilo se připojit k ESP32: Vypršel časový limit… Připojování…“. Znamená to, že váš ESP32 není v režimu blikání/nahrávání.
Po výběru správného názvu desky a COM por postupujte takto:
Podržte tlačítko „BOOT“ na desce ESP32Základní startovací sada LAFVIN ESP32 – „BOOT“

  • Stisknutím tlačítka „Nahrát“ v IDE Arduino nahrajte svou skicu:Základní startovací sada LAFVIN ESP32 - ICON 6
  • Poté, co se zobrazí „Připojování…“. zprávy ve vašem Arduino IDE, uvolněte prst z tlačítka „BOOT“:Základní startovací sada LAFVIN ESP32 – „Nahrávání dokončeno
  • Poté by se měla zobrazit zpráva „Nahrávání dokončeno“.
    To je vše. Váš ESP32 by měl mít spuštěnou novou skicu. Stisknutím tlačítka „ENABLE“ restartujte ESP32 a spusťte novou nahranou skicu.
    Tuto sekvenci tlačítek budete také muset opakovat pokaždé, když budete chtít nahrát nový náčrt.

Projekt 1 ESP32 Vstupy Výstupy

V této příručce Začínáme se dozvíte, jak číst digitální vstupy, jako je tlačítkový spínač, a ovládat digitální výstupy jako LED pomocí ESP32 s Arduino IDE.
Předpoklady
Naprogramujeme ESP32 pomocí Arduino IDE. Než budete pokračovat, ujistěte se, že máte nainstalovaný doplněk desek ESP32:

  • Instalace doplňku ESP32 v Arduino IDE

ESP32 Ovládání digitálních výstupů
Nejprve musíte nastavit GPIO, které chcete ovládat, jako OUTPUT. Použijte funkci pinMode() následovně:
pinMode(GPIO, OUTPUT);
K ovládání digitálního výstupu stačí použít funkci digitalWrite(), která přijímá jako argumenty GPIO (číslo int), na které odkazujete, a stav, buď HIGH nebo LOW.
digitalWrite(GPIO, STATE);
Všechny GPIO mohou být použity jako výstupy kromě GPIO 6 až 11 (připojené k integrovanému SPI flash) a GPIO 34, 35, 36 a 39 (pouze vstup GPIO);
Další informace o ESP32 GPIO: Referenční příručka ESP32 GPIO
Čtení digitálních vstupů ESP32
Nejprve nastavte GPIO, které chcete číst, jako INPUT, pomocí funkce pinMode() následovně:
pinMode(GPIO, INPUT);
Chcete-li číst digitální vstup, jako je tlačítko, použijte funkci digitalRead(), která přijímá jako argument GPIO (číslo int), na které odkazujete.
digitální čtení (GPIO);
Jako vstupy lze použít všechny GPIO ESP32, kromě GPIO 6 až 11 (připojeno k integrovanému blesku SPI).
Další informace o ESP32 GPIO: Referenční příručka ESP32 GPIO
Projekt Přample
Abychom vám ukázali, jak používat digitální vstupy a digitální výstupy, vytvoříme jednoduchý projekt napřample s tlačítkem a LED. Načteme stav tlačítka a podle toho rozsvítíme LED, jak je znázorněno na následujícím obrázku.Základní startovací sada LAFVIN ESP32 - Project Example

Potřebné díly
Zde je seznam dílů, které potřebujete k sestavení obvodu:

  • ESP32 DEVKIT V1
  • 5mm LED
  • Odpor 220 ohmů
  • Stiskněte tlačítko
  • 10k Ohm odpor
  • Breadboard
  • Startovací dráty

Schematický diagram
Než budete pokračovat, musíte sestavit obvod s LED a tlačítkem.
Připojíme LED k GPIO 5 a tlačítko k GPIO 4.Základní startovací sada LAFVIN ESP32 - Schematický diagramKód
Otevřete kód Project_1_ESP32_Inputs_Outputs.ino v arduino IDEZákladní startovací sada LAFVIN ESP32 – kódZákladní startovací sada LAFVIN ESP32 – kód 1Jak kodex funguje
Na následujících dvou řádcích vytvoříte proměnné pro přiřazení pinů:

Základní startovací sada LAFVIN ESP32 – kód fungujeTlačítko je připojeno k GPIO 4 a LED je připojena k GPIO 5. Při použití Arduino IDE s ESP32, 4 odpovídá GPIO 4 a 5 odpovídá GPIO 5.
Dále vytvoříte proměnnou pro udržení stavu tlačítka. Ve výchozím nastavení je to 0 (nestisknuto).
int buttonState = 0;
V setup() inicializujete tlačítko jako INPUT a LED jako OUTPUT.
K tomu použijte funkci pinMode(), která přijímá pin, na který odkazujete, a režim: INPUT nebo OUTPUT.
pinMode(tlačítkoPin, INPUT);
pinMode(ledPin, OUTPUT);
V loop() čtete stav tlačítka a podle toho nastavíte LED.
Na dalším řádku si přečtete stav tlačítka a uložíte jej do proměnné buttonState.
Jak jsme viděli dříve, použijete funkci digitalRead().
buttonState = digitalRead(buttonPin);
Následující příkaz if kontroluje, zda je stav tlačítka HIGH. Pokud ano, rozsvítí LED pomocí funkce digitalWrite(), která přijímá jako argument ledPin a stav HIGH.
if (buttonState == HIGH)Základní startovací sada LAFVIN ESP32 – kód funguje 1Pokud stav tlačítka není VYSOKÝ, vypnete LED. Stačí nastavit LOW jako druhý argument na ve funkci digitalWrite().Základní startovací sada LAFVIN ESP32 - digitalWriteNahrávání kódu
Než kliknete na tlačítko nahrát, přejděte na Nástroje > Deska a vyberte desku :DOIT ESP32 DEVKIT V1 deska.
Přejděte na Nástroje > Port a vyberte port COM, ke kterému je ESP32 připojeno. Poté stiskněte tlačítko nahrávání a počkejte na zprávu „Nahrávání dokončeno“.Základní startovací sada LAFVIN ESP32 - ICON 7Poznámka: Pokud v okně ladění vidíte mnoho teček (připojování…__…__) a zprávu „Nepodařilo se připojit k ESP32: Vypršel časový limit čekání na hlavičku paketu“, znamená to, že musíte stisknout ESP32 onboard BOOT tlačítko za tečkami
začnou se objevovat.Odstraňování problémů

Demonstrace

Po nahrání kódu otestujte svůj obvod. Vaše LED by se měla rozsvítit, když stisknete tlačítko:Základní startovací sada LAFVIN ESP32 – ukázkaA vypněte, když jej pustíte:Základní startovací sada LAFVIN ESP32 - vypnutí

Projekt 2 Analogové vstupy ESP32

Tento projekt ukazuje, jak číst analogové vstupy s ESP32 pomocí Arduino IDE.
Analogové čtení je užitečné pro čtení hodnot z proměnných rezistorů, jako jsou potenciometry nebo analogové senzory.
Analogové vstupy (ADC)
Čtení analogové hodnoty pomocí ESP32 znamená, že můžete měřit různé objemytage úrovně mezi 0 V a 3.3 V.
Voltage naměřené je pak přiřazeno k hodnotě mezi 0 a 4095, ve které 0 V odpovídá 0 a 3.3 V odpovídá 4095. Libovolný objemtage mezi 0 V a 3.3 V bude dána odpovídající hodnota mezi nimi.Základní startovací sada LAFVIN ESP32 - Analogové vstupyADC je nelineární
V ideálním případě byste při použití pinů ESP32 ADC očekávali lineární chování.
To se však neděje. Získáte chování, které je znázorněno v následující tabulce:Základní startovací sada LAFVIN ESP32 – nelineárníToto chování znamená, že váš ESP32 není schopen rozlišit 3.3 V od 3.2 V.
Získáte stejnou hodnotu pro oba objtages: 4095.
Totéž se děje pro velmi nízké objtagHodnoty e: pro 0 V a 0.1 V získáte stejnou hodnotu: 0. Tuto skutečnost musíte mít na paměti při použití pinů ADC ESP32.
Funkce analogRead().
Čtení analogového vstupu pomocí ESP32 pomocí Arduino IDE je stejně jednoduché jako pomocí funkce analogRead(). Přijímá jako argument GPIO, který chcete číst:
analogRead(GPIO);
Pouze 15 je k dispozici na desce DEVKIT V1board (verze s 30 GPIO).
Uchopte vývod desky ESP32 a najděte kolíky ADC. Ty jsou na obrázku níže zvýrazněny červeným okrajem.Základní startovací sada LAFVIN ESP32 - rámTyto analogové vstupní piny mají 12bitové rozlišení. To znamená, že když čtete analogový vstup, jeho rozsah se může lišit od 0 do 4095.
Poznámka: Piny ADC2 nelze použít při použití Wi-Fi. Pokud tedy používáte Wi-Fi a máte potíže se získáním hodnoty z ADC2 GPIO, můžete místo toho zvážit použití ADC1 GPIO, což by váš problém mělo vyřešit.
Abychom viděli, jak vše souvisí dohromady, uděláme jednoduchého example pro čtení analogové hodnoty z potenciometru.
Potřebné díly
Pro tento example, potřebujete následující díly:

  • Deska ESP32 DEVKIT V1
  • Potenciometr
  • Breadboard
  • Startovací dráty

Schématický
Připojte potenciometr k vašemu ESP32. Střední pin potenciometru by měl být připojen ke GPIO 4. Jako referenci můžete použít následující schéma.Základní startovací sada LAFVIN ESP32 – schémaKód
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDE
Otevřete kód Project_2_ESP32_Inputs_Outputs.ino v arduino IDEZákladní startovací sada LAFVIN ESP32 – kód 2Tento kód jednoduše načte hodnoty z potenciometru a vytiskne je do sériového monitoru.
V kódu začínáte definováním GPIO, ke kterému je potenciometr připojen. V tomto example, GPIO 4.Základní startovací sada LAFVIN ESP32 - exampleV setup() inicializujte sériovou komunikaci s přenosovou rychlostí 115200.Základní startovací sada LAFVIN ESP32 - example 1V loop() použijte funkci analogRead() ke čtení analogového vstupu z potPin.Základní startovací sada LAFVIN ESP32 - example 2Nakonec vytiskněte hodnoty načtené z potenciometru v sériovém monitoru.Základní startovací sada LAFVIN ESP32 - example 3Nahrajte poskytnutý kód do vašeho ESP32. Ujistěte se, že jste vybrali správnou desku a COM port v nabídce Nástroje.
Testování Example
Po nahrání kódu a stisknutí resetovacího tlačítka ESP32 otevřete sériový monitor s přenosovou rychlostí 115200. Otáčejte potenciometrem a sledujte změny hodnot.Maximální hodnota, kterou získáte, je 4095 a minimální hodnota je 0.Základní startovací sada LAFVIN ESP32 -maximální hodnota

Zabalit se

V tomto článku jste se naučili, jak číst analogové vstupy pomocí ESP32 s Arduino IDE. Souhrnně:

  • Deska ESP32 DEVKIT V1 DOIT (verze s 30 piny) má 15 pinů ADC, které můžete použít ke čtení analogových vstupů.
  • Tyto piny mají rozlišení 12 bitů, což znamená, že můžete získat hodnoty od 0 do 4095.
  • Chcete-li přečíst hodnotu v Arduino IDE, jednoduše použijte funkci analogRead().
  • Piny ADC ESP32 nemají lineární chování. Pravděpodobně nebudete schopni rozlišit mezi 0 a 0.1 V nebo mezi 3.2 a 3.3 V. Musíte to mít na paměti při používání pinů ADC.

Project 3 ESP32 PWM (analogový výstup)

V tomto tutoriálu vám ukážeme, jak generovat PWM signály s ESP32 pomocí Arduino IDE. Jako exampVytvoříme jednoduchý obvod, který stmívá LED pomocí LED PWM regulátoru ESP32.Základní startovací sada LAFVIN ESP32 - Analogový výstupESP32 LED PWM ovladač
ESP32 má LED PWM regulátor s 16 nezávislými kanály, které lze nakonfigurovat tak, aby generovaly PWM signály s různými vlastnostmi.
Zde jsou kroky, které budete muset provést, abyste ztlumili LED pomocí PWM pomocí Arduino IDE:

  1. Nejprve musíte vybrat kanál PWM. K dispozici je 16 kanálů od 0 do 15.
  2. Poté musíte nastavit frekvenci signálu PWM. Pro LED je vhodné použít frekvenci 5000 Hz.
  3. Musíte také nastavit rozlišení pracovního cyklu signálu: máte rozlišení od 1 do 16 bitů. Použijeme 8bitové rozlišení, což znamená, že jas LED můžete ovládat pomocí hodnoty od 0 do 255.
  4.  Dále musíte určit, na kterých GPIO nebo GPIO se signál objeví. K tomu použijete následující funkci:
    ledcAttachPin(GPIO, kanál)
    Tato funkce přijímá dva argumenty. První je GPIO, který bude vydávat signál, a druhý je kanál, který bude signál generovat.
  5. A konečně, pro ovládání jasu LED pomocí PWM použijte následující funkci:

ledcWrite (kanál, pracovní cyklus)
Tato funkce přijímá jako argumenty kanál, který generuje signál PWM, a pracovní cyklus.
Potřebné díly
Abyste mohli postupovat podle tohoto návodu, potřebujete tyto části:

  • Deska ESP32 DEVKIT V1
  • 5mm LED
  • Odpor 220 ohmů
  •  Breadboard
  • Startovací dráty

Schématický
Připojte LED k vašemu ESP32 jako na následujícím schématu. LED by měla být připojena ke GPIO 4.Základní startovací sada LAFVIN ESP32 – schémaPoznámka: můžete použít jakýkoli pin, který chcete, pokud může fungovat jako výstup. Všechny piny, které mohou fungovat jako výstupy, lze použít jako piny PWM. Pro více informací o ESP32 GPIO si přečtěte: ESP32 Pinout Reference: Které GPIO piny byste měli použít?
Kód
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDE
Otevřete kód Project_3_ESP32_PWM.ino v arduino IDEZákladní startovací sada LAFVIN ESP32 – kód 3Základní startovací sada LAFVIN ESP32 – kód 4Začnete definováním kolíku, ke kterému je LED připojena. V tomto případě je LED připojena k GPIO 4.Základní startovací sada LAFVIN ESP32 – kód 5Potom nastavte vlastnosti signálu PWM. Definujete frekvenci 5000 Hz, zvolíte kanál 0 pro generování signálu a nastavíte rozlišení 8 bitů. Pro generování různých PWM signálů si můžete vybrat jiné vlastnosti, než jsou tyto.Základní startovací sada LAFVIN ESP32 – kód 6V setup() musíte nakonfigurovat LED PWM s vlastnostmi, které jste definovali dříve pomocí funkce ledcSetup(), která přijímá jako argumenty, ledChannel, frekvenci a rozlišení, a to následovně:Základní startovací sada LAFVIN ESP32 – kód 8Dále musíte vybrat GPIO, ze kterého budete přijímat signál. K tomu použijte funkci ledcAttachPin(), která přijímá jako argumenty GPIO, odkud chcete získat signál, a kanál, který signál generuje. V tomto example, získáme signál v ledPin GPIO, který odpovídá GPIO 4. Kanál, který generuje signál, je ledChannel, který odpovídá kanálu 0.Základní startovací sada LAFVIN ESP32 – kód 9Ve smyčce budete měnit pracovní cyklus mezi 0 a 255, abyste zvýšili jas LED.Základní startovací sada LAFVIN ESP32 - jasA poté mezi 255 a 0 pro snížení jasu.Základní startovací sada LAFVIN ESP32 – jas 1Chcete-li nastavit jas LED, stačí použít funkci ledcWrite(), která přijímá jako argumenty kanál, který generuje signál, a pracovní cyklus.Základní startovací sada LAFVIN ESP32 – jas 2Protože používáme 8bitové rozlišení, pracovní cyklus bude řízen pomocí hodnoty od 0 do 255. Všimněte si, že ve funkci ledcWrite() používáme kanál, který generuje signál, a ne GPIO.

Testování Example

Nahrajte kód do svého ESP32. Ujistěte se, že máte zvolenou správnou desku a COM port. Podívejte se na svůj obvod. Měli byste mít stmívací LED, která zvyšuje a snižuje jas.Základní startovací sada LAFVIN ESP32 - Testování example

Projekt 4 ESP32 PIR pohybový senzor

Tento projekt ukazuje, jak detekovat pohyb pomocí ESP32 pomocí pohybového senzoru PIR. Bzučák spustí alarm, když je detekován pohyb, a zastaví alarm, když není detekován žádný pohyb po přednastavenou dobu (např. 4 sekundy)
Jak funguje snímač pohybu HC-SR501
.Základní startovací sada LAFVIN ESP32 – pohybový senzor fungujePrincip činnosti senzoru HC-SR501 je založen na změně infračerveného záření na pohybující se objekt. Aby byl objekt detekován senzorem HC-SR501, musí splňovat dva požadavky:

  • Objekt vysílá infračervenou cestou.
  • Objekt se pohybuje nebo se třese

Tak:
Pokud objekt vyzařuje infračervený paprsek, ale NEPOHYBUJE se (např. osoba stojí na místě, aniž by se hýbal), senzor jej NENÍ detekován.
Pokud se objekt pohybuje, ale nevyzařuje infračervený paprsek (např. robot nebo vozidlo), NENÍ jej senzorem detekován.
Představujeme časovače
V tomto example také představíme časovače. Chceme, aby LED zůstala svítit po předem stanovený počet sekund po detekci pohybu. Místo použití funkce delay(), která blokuje váš kód a nedovolí vám dělat nic jiného po určitý počet sekund, bychom měli použít časovač.Základní startovací sada LAFVIN ESP32 – Představujeme časovačeFunkce delay().
Měli byste být obeznámeni s funkcí delay(), protože je široce používána. Použití této funkce je docela jednoduché. Jako argument přijímá jediné int číslo.
Toto číslo představuje dobu v milisekundách, kterou musí program čekat, než přejde na další řádek kódu.Základní startovací sada LAFVIN ESP32 - kódKdyž uděláte delay(1000), váš program se na tomto řádku zastaví na 1 sekundu.
delay() je blokovací funkce. Blokovací funkce zabraňují programu dělat cokoli jiného, ​​dokud není tento konkrétní úkol dokončen. Pokud potřebujete, aby proběhlo více úloh současně, nemůžete použít delay().
U většiny projektů byste se měli vyhnout použití zpoždění a místo toho použít časovače.
Funkce millis().
Pomocí funkce nazvané millis() můžete vrátit počet milisekund, které uplynuly od prvního spuštění programu.Základní startovací sada LAFVIN ESP32 - program byl poprvé spuštěnProč je tato funkce užitečná? Protože pomocí nějaké matematiky můžete snadno ověřit, kolik času uplynulo, aniž byste zablokovali svůj kód.
Potřebné díly
Abyste mohli postupovat podle tohoto návodu, potřebujete následující části

  • Deska ESP32 DEVKIT V1
  • PIR pohybový senzor (HC-SR501)
  • Aktivní bzučák
  • Startovací dráty
  • Breadboard

SchématickýZákladní startovací sada LAFVIN ESP32 – schéma 1Poznámka: Pracovní svtage HC-SR501 je 5V. K napájení použijte pin Vin.
Kód
Než budete pokračovat v tomto tutoriálu, měli byste mít nainstalovaný doplněk ESP32 ve vašem Arduino IDE. Podle jednoho z následujících návodů nainstalujte ESP32 na Arduino IDE, pokud jste to ještě neudělali. (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDE
Otevřete kód Project_4_ESP32_PIR_Motion_Sensor.ino v arduino IDE.
Demonstrace
Nahrajte kód na desku ESP32. Ujistěte se, že jste vybrali správnou desku a COM port. Nahrajte referenční kroky kódu.
Otevřete Serial Monitor s přenosovou rychlostí 115200.Základní startovací sada LAFVIN ESP32 – ukázka 1Přesuňte ruku před PIR senzor. Měl by se zapnout bzučák a na sériovém monitoru se vytiskne zpráva „Detekován pohyb! Alarm bzučáku“.
Po 4 sekundách by se měl bzučák vypnout.Základní startovací sada LAFVIN ESP32 - bzučák

Projekt 5 přepínač ESP32 Web Server

V tomto projektu vytvoříte samostatný web server s ESP32, který ovládá výstupy (dvě LED) pomocí programovacího prostředí Arduino IDE. The web server je mobilní a lze k němu přistupovat z jakéhokoli zařízení, které je v místní síti jako prohlížeč. Ukážeme vám, jak vytvořit web server a jak kód funguje krok za krokem.
Projekt skončilview
Než půjdete přímo k projektu, je důležité nastínit, co je naše web server udělá, takže je snazší postupovat podle kroků později.

  • The web server, který si postavíte, ovládá dvě LED diody připojené k ESP32 GPIO 26 a GPIO 27;
  • Můžete přistupovat k ESP32 web server zadáním adresy IP ESP32 do prohlížeče v místní síti;
  • Kliknutím na tlačítka na vašem web serveru můžete okamžitě změnit stav každé LED.

Potřebné díly
Pro tento tutoriál budete potřebovat následující díly:

  • Deska ESP32 DEVKIT V1
  • 2x 5mm LED
  • 2x rezistor 200 ohmů
  • Breadboard
  • Startovací dráty

Schématický
Začněte stavbou okruhu. Připojte dvě LED diody k ESP32, jak je znázorněno na následujícím schématu – jedna LED je připojena k GPIO 26 a druhá k GPIO 27.
Poznámka: Používáme desku ESP32 DEVKIT DOIT s 36 piny. Před sestavením obvodu se ujistěte, že jste zkontrolovali pinout desky, kterou používáte.Základní startovací sada LAFVIN ESP32 – schémaKód
Zde poskytujeme kód, který vytváří ESP32 web server. Otevřete kód Project_5_ESP32_Switch _Web_Server.ino v arduino IDE, ale zatím jej nenahrávejte. Aby vám to fungovalo, musíte provést nějaké změny.
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDE
Nastavení síťových přihlašovacích údajů
Musíte upravit následující řádky se svými síťovými přihlašovacími údaji: SSID a heslo. Kód je dobře okomentován, kde byste měli provést změny.Základní startovací sada LAFVIN ESP32 – síťová pověřeníNahrávání kódu
Nyní můžete nahrát kód a web server bude fungovat okamžitě.
Pro nahrání kódu do ESP32 postupujte podle následujících kroků:

  1. Zapojte desku ESP32 do počítače;
  2. V Arduino IDE vyberte svou desku v Tools > Board (v našem případě používáme desku ESP32 DEVKIT DOIT);Základní startovací sada LAFVIN ESP32 – Nahrání kódu
  3. Vyberte port COM v nabídce Nástroje > Port.Základní startovací sada LAFVIN ESP32 - Port nástrojů
  4. Stiskněte tlačítko Upload v Arduino IDE a počkejte několik sekund, než se kód zkompiluje a nahraje na vaši desku.Základní startovací sada LAFVIN ESP32 - ICON 7
  5. Počkejte na zprávu „Nahrávání dokončeno“.Základní startovací sada LAFVIN ESP32 – Nahrávání dokončeno 1

Zjištění IP adresy ESP
Po nahrání kódu otevřete Serial Monitor s přenosovou rychlostí 115200.Základní startovací sada LAFVIN ESP32 - IP adresa ESPStiskněte tlačítko ESP32 EN (reset). ESP32 se připojí k Wi-Fi a odešle IP adresu ESP na sériový monitor. Zkopírujte tuto IP adresu, protože ji potřebujete pro přístup k ESP32 web server.Základní startovací sada LAFVIN ESP32 - web serverPřístup k Web Server
Pro přístup k web serveru, otevřete prohlížeč, vložte IP adresu ESP32 a uvidíte následující stránku.
Poznámka: Váš prohlížeč a ESP32 by měly být připojeny ke stejné LAN.Základní startovací sada LAFVIN ESP32 – Přístup k Web ServerPokud se podíváte na sériový monitor, můžete vidět, co se děje na pozadí. ESP obdrží požadavek HTTP od nového klienta (v tomto případě vašeho prohlížeče).LAFVIN ESP32 Basic Starter Kit - HTTP požadavekMůžete také zobrazit další informace o požadavku HTTP.
Demonstrace
Nyní můžete otestovat, zda vaše web server funguje správně. Klikněte na tlačítka pro ovládání LED.Základní startovací sada LAFVIN ESP32 - pozadíZároveň se můžete podívat na sériový monitor, abyste viděli, co se děje na pozadí. Napřample, když kliknete na tlačítko pro zapnutí GPIO 26, ESP32 obdrží požadavek na /26/on URL.Základní startovací sada LAFVIN ESP32 - URLKdyž ESP32 přijme tento požadavek, zapne LED připojenou k GPIO 26 a aktualizuje svůj stav na web strana.Základní startovací sada LAFVIN ESP32 - web stranaPodobně funguje tlačítko pro GPIO 27. Otestujte, zda funguje správně.Základní startovací sada LAFVIN ESP32 - funguje správně

Jak kodex funguje

V této části se blíže podíváme na kód, abyste viděli, jak to funguje.
První věc, kterou musíte udělat, je zahrnout knihovnu WiFi.LAFVIN ESP32 Basic Starter Kit - WiFi knihovnaJak již bylo zmíněno, musíte vložit své ssid a heslo do následujících řádků do dvojitých uvozovek.Základní startovací sada LAFVIN ESP32 - dvojité uvozovkyPoté si nastavte svůj web server na port 80.Základní startovací sada LAFVIN ESP32 - web serverNásledující řádek vytvoří proměnnou pro uložení záhlaví požadavku HTTP:Základní startovací sada LAFVIN ESP32 – HTTPrequestDále vytvoříte pomocné proměnné pro uložení aktuálního stavu vašich výstupů. Pokud chcete přidat další výstupy a uložit jeho stav, musíte vytvořit více proměnných.Základní startovací sada LAFVIN ESP32 - proměnnéKaždému z vašich výstupů musíte také přiřadit GPIO. Zde používáme GPIO 26 a GPIO 27. Můžete použít jakékoli jiné vhodné GPIO.Základní startovací sada LAFVIN ESP32 - jiná vhodnánastavení()
Nyní pojďme do setup(). Nejprve zahájíme sériovou komunikaci s přenosovou rychlostí 115200 pro účely ladění.Základní startovací sada LAFVIN ESP32 - účelySvé GPIO také definujete jako OUTPUTs a nastavíte je na LOW.Základní startovací sada LAFVIN ESP32 - GPIO jako VÝSTUPYNásledující řádky zahájí připojení Wi-Fi pomocí WiFi.begin(ssid, heslo), počkejte na úspěšné připojení a vytiskněte IP adresu ESP na sériovém monitoru.Základní startovací sada LAFVIN ESP32 – sériováZákladní startovací sada LAFVIN ESP32 – sériová 1smyčka()
V loop() naprogramujeme, co se stane, když nový klient naváže spojení s web server.
ESP32 vždy naslouchá příchozím klientům s následujícím řádkem:Základní startovací sada LAFVIN ESP32 - smyčkaKdyž obdržíme požadavek od klienta, uložíme příchozí data. Smyčka while, která následuje, poběží tak dlouho, dokud klient zůstane připojen. Nedoporučujeme měnit následující část kódu, pokud přesně nevíte, co děláte.Základní startovací sada LAFVIN ESP32 - přesněZákladní startovací sada LAFVIN ESP32 - přesně 1Základní startovací sada LAFVIN ESP32 - přesně 2Další část příkazů if a else kontroluje, které tlačítko bylo stisknuto ve vašem web stránku a podle toho řídí výstupy. Jak jsme viděli dříve, žádáme o jiné URLs v závislosti na stisknutém tlačítku.Základní startovací sada LAFVIN ESP32 - tlačítko stisknutoZákladní startovací sada LAFVIN ESP32 – tlačítko stisknuto 1Napřample, pokud stisknete tlačítko GPIO 26 ON, ESP32 obdrží požadavek na /26/ON URL (můžeme vidět, že tato informace v záhlaví HTTP na Serial Monitor). Můžeme tedy zkontrolovat, zda hlavička obsahuje výraz GET /26/on. Pokud obsahuje, změníme proměnnou output26state na ON a ESP32 rozsvítí LED.
U ostatních tlačítek to funguje podobně. Pokud tedy chcete přidat další výstupy, měli byste upravit tuto část kódu tak, aby je obsahovala.
Zobrazení HTML web strana
Další věc, kterou musíte udělat, je vytvořit web strana. ESP32 odešle do vašeho prohlížeče odpověď s nějakým HTML kódem pro sestavení web strana.
The web stránka je odeslána klientovi pomocí tohoto výrazu client.println(). Měli byste zadat, co chcete poslat klientovi jako argument.
První věc, kterou bychom měli odeslat, je vždy následující řádek, který označuje, že posíláme HTML.LAFVIN ESP32 Basic Starter Kit - odesílání HTMLPoté následující řádek vytvoří web stránka responzivní v libovolném web prohlížeč.Základní startovací sada LAFVIN ESP32 - web prohlížečA následující se používá k zamezení požadavků na favicon. – O tuto linku se nemusíte starat.Základní startovací sada LAFVIN ESP32 - client.println

Stylování Web Strana

Dále máme nějaký text CSS pro stylování tlačítek a web vzhled stránky.
Zvolíme font Helvetica, definujeme obsah, který se má zobrazit jako blok a zarovnat na střed.Základní startovací sada LAFVIN ESP32 – styling Web StranaNaše tlačítka stylujeme barvou #4CAF50, bez ohraničení, textem v bílé barvě as tímto odsazením: 16px 40px. Nastavíme také dekoraci textu na none, definujeme velikost písma, okraj a kurzor na ukazatel.Základní startovací sada LAFVIN ESP32 - ukazatelTaké definujeme styl pro druhé tlačítko se všemi vlastnostmi tlačítka, které jsme definovali dříve, ale s jinou barvou. Toto bude styl tlačítka vypnutí.Základní startovací sada LAFVIN ESP32 - client.println 1

Nastavení Web První nadpis stránky
V dalším řádku můžete nastavit první nadpis svého web strana. Zde máme „ESP32 Web Server“, ale tento text můžete změnit na libovolný.Základní startovací sada LAFVIN ESP32 - Web Záhlaví stránkyZobrazení tlačítek a odpovídajícího stavu
Poté napíšete odstavec pro zobrazení aktuálního stavu GPIO 26. Jak můžete vidět, používáme proměnnou output26State, takže stav se aktualizuje okamžitě, když se tato proměnná změní.Základní startovací sada LAFVIN ESP32 - variabilní změnyPoté zobrazíme tlačítko zapnutí nebo vypnutí v závislosti na aktuálním stavu GPIO. Pokud je aktuální stav GPIO vypnutý, zobrazíme tlačítko ON, pokud ne, zobrazíme tlačítko OFF.Základní startovací sada LAFVIN ESP32 – zobrazte tlačítko OFFStejný postup používáme pro GPIO 27.
Uzavření připojení
Nakonec, když odpověď skončí, vymažeme proměnnou hlavičky a zastavíme spojení s klientem pomocí client.stop().Základní startovací sada LAFVIN ESP32 - Uzavření připojení

Zabalit se

V tomto tutoriálu jsme vám ukázali, jak vytvořit a web server s ESP32. Ukázali jsme vám jednoduchého example, který ovládá dvě LED, ale myšlenkou je nahradit tyto LED relé nebo jiným výstupem, který chcete ovládat.

Projekt 6 RGB LED Web Server

V tomto projektu vám ukážeme, jak vzdáleně ovládat RGB LED s deskou ESP32 pomocí a web server s výběrem barvy.
Projekt skončilview
Než začneme, podívejme se, jak tento projekt funguje:Základní startovací sada LAFVIN ESP32 – konec projektuview

  • ESP32 web server zobrazí výběr barvy.
  • Když vyberete barvu, váš prohlížeč odešle požadavek na a URL který obsahuje parametry R, ​​G a B vybrané barvy.
  • Váš ESP32 přijme požadavek a rozdělí hodnotu pro každý parametr barvy.
  • Poté odešle PWM signál s odpovídající hodnotou do GPIO, které řídí RGB LED.

Jak fungují RGB LED?
V RGB LED se společnou katodou sdílejí všechny tři LED záporné spojení (katodu). Všechny součásti sady jsou RGB se společnou katodou.Základní startovací sada LAFVIN ESP32 - RGB LED diody fungujíJak vytvořit různé barvy?
S RGB LED můžete samozřejmě produkovat červené, zelené a modré světlo a konfigurací intenzity každé LED můžete vytvářet i jiné barvy.
NapřampChcete-li produkovat čistě modré světlo, nastavili byste modrou LED na nejvyšší intenzitu a zelenou a červenou LED na nejnižší intenzitu. Pro bílé světlo byste nastavili všechny tři LED na nejvyšší intenzitu.
Míchání barev
Chcete-li vytvořit jiné barvy, můžete kombinovat tři barvy v různé intenzitě. Pro nastavení intenzity každé LED můžete použít PWM signál.
Protože jsou LED diody velmi blízko u sebe, naše oči vidí výsledek kombinace barev spíše než tři barvy jednotlivě.
Chcete-li mít představu, jak barvy kombinovat, podívejte se na následující tabulku.
Toto je nejjednodušší tabulka míchání barev, ale dává vám představu, jak to funguje a jak vyrábět různé barvy.Základní startovací sada LAFVIN ESP32 - různé barvyPotřebné díly
Pro tento projekt potřebujete následující díly:

  • Deska ESP32 DEVKIT V1
  • RGB LED
  • 3x 220 ohm rezistory
  • Startovací dráty
  • Breadboard

SchématickýZákladní startovací sada LAFVIN ESP32 – schémaKód
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)

  • Instalace doplňku ESP32 v Arduino IDE

Po sestavení obvodu otevřete kód
Project_6_RGB_LED_Web_Server.ino v arduino IDE.
Před nahráním kódu nezapomeňte vložit své síťové přihlašovací údaje, aby se ESP mohl připojit k vaší místní síti.Základní startovací sada LAFVIN ESP32 - lokální síťJak kód funguje
Skica ESP32 využívá knihovnu WiFi.h.Základní startovací sada LAFVIN ESP32 - knihovna WiFi.hNásledující řádky definují řetězcové proměnné pro uložení parametrů R, G a B z požadavku.LAFVIN ESP32 Basic Starter Kit - String redStringDalší čtyři proměnné se používají k pozdějšímu dekódování požadavku HTTP.LAFVIN ESP32 Basic Starter Kit - HTTP požadavekVytvořte tři proměnné pro GPIO, které budou řídit parametry R, ​​G a B proužku. V tomto případě používáme GPIO 13, GPIO 12 a GPIO 14.Základní startovací sada LAFVIN ESP32 – potřebují GPIOTyto GPIO potřebují vydávat signály PWM, takže musíme nejprve nakonfigurovat vlastnosti PWM. Nastavte frekvenci signálu PWM na 5000 Hz. Poté pro každou barvu přidružte kanál PWMZákladní startovací sada LAFVIN ESP32 - každá barvaA nakonec nastavte rozlišení PWM kanálů na 8 bitůZákladní startovací sada LAFVIN ESP32 - PWM kanályV setup() přiřaďte vlastnosti PWM kanálům PWMZákladní startovací sada LAFVIN ESP32 - PWM kanályPřipojte PWM kanály k odpovídajícím GPIOZákladní startovací sada LAFVIN ESP32 - odpovídající GPIONásledující část kódu zobrazuje výběr barvy ve vašem web stránku a vytvoří požadavek na základě barvy, kterou jste vybrali.Základní startovací sada LAFVIN ESP32 - vybránoZákladní startovací sada LAFVIN ESP32 - client.printlnZákladní startovací sada LAFVIN ESP32 - client.println 1Když vyberete barvu, obdržíte požadavek v následujícím formátu.Základní startovací sada LAFVIN ESP32 - následující formát

Musíme tedy tento řetězec rozdělit, abychom získali parametry R, ​​G a B. Parametry jsou uloženy v proměnných redString, greenString a blueString a mohou mít hodnoty mezi 0 a 255.Základní startovací sada LAFVIN ESP32 - hlavičkaZákladní startovací sada LAFVIN ESP32 – hlavička 1Pro ovládání proužku pomocí ESP32 použijte funkci ledcWrite() pro generování PWM signálů s hodnotami dekódovanými z HTTP žádost.Základní startovací sada LAFVIN ESP32 – požadavek HTTP 1Poznámka: zjistěte více o PWM s ESP32: Project 3 ESP32 PWM (analogový výstup)
K ovládání proužku pomocí ESP8266 stačí použít
funkce analogWrite() pro generování PWM signálů s hodnotami dekódovanými z požadavku HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Protože získáváme hodnoty v řetězcové proměnné, musíme je převést na celá čísla pomocí metody toInt().
Demonstrace
Po vložení vašich síťových přihlašovacích údajů vyberte správnou desku a COM port a nahrajte kód do vašeho ESP32.Nahrajte referenční kroky kódu.
Po nahrání otevřete Serial Monitor s přenosovou rychlostí 115200 a stiskněte tlačítko ESP Enable/Reset. Měli byste získat IP adresu desky.Základní startovací sada LAFVIN ESP32 - stejná LANOtevřete prohlížeč a vložte IP adresu ESP. Nyní pomocí nástroje pro výběr barvy vyberte barvu RGB LED.
Poté musíte stisknout tlačítko „Změnit barvu“, aby se barva projevila.Základní startovací sada LAFVIN ESP32 - RGB LEDChcete-li RGB LED vypnout, vyberte černou barvu.
Nejsilnější barvy (v horní části výběru barvy) poskytnou lepší výsledky.Základní startovací sada LAFVIN ESP32 – lepší výsledky

Relé projektu 7 ESP32 Web Server

Použití relé s ESP32 je skvělý způsob, jak ovládat AC domácí spotřebiče na dálku. Tento tutoriál vysvětluje, jak ovládat reléový modul pomocí ESP32.
Podíváme se na to, jak funguje reléový modul, jak připojit relé k ESP32 a postavit a web server pro vzdálené ovládání relé.
Představujeme relé
Relé je elektricky ovládaný spínač a jako každý jiný spínač lze zapnout nebo vypnout, přičemž proud prochází nebo ne. Lze jej ovládat pomocí nízkého objtages, jako je 3.3 V poskytované ESP32 GPIO a umožňuje nám ovládat vysoké obj.tages jako 12V, 24V nebo síťový objtage (230 V v Evropě a 120 V v USA).Základní startovací sada LAFVIN ESP32 - Představení reléNa levé straně jsou dvě sady po třech zásuvkách pro připojení vysokého objtages a kolíky na pravé straně (nízkovoltage) připojte se k ESP32 GPIO.
Síť Voltage PřipojeníZákladní startovací sada LAFVIN ESP32 - Síťový svtage PřipojeníReléový modul zobrazený na předchozí fotografii má dva konektory, každý se třemi zásuvkami: společný (COM), normálně zavřený (NC) a normálně otevřený (NO).

  • COM: připojte proud, který chcete ovládat (síťový objtagE).
  • NC (Normally Closed): Konfigurace normálně sepnutá se používá, když chcete, aby bylo relé standardně sepnuto. Piny NC jsou připojeny, což znamená, že proud teče, pokud nevyšlete signál z ESP32 do reléového modulu, abyste otevřeli obvod a zastavili tok proudu.
  • NO (Normally Open): normálně otevřená konfigurace funguje obráceně: mezi piny NO a COM není žádné spojení, takže obvod je přerušený, pokud nevyšlete signál z ESP32 k uzavření obvodu.

Kontrolní kolíkyZákladní startovací sada LAFVIN ESP32 - Ovládací kolíkyNízkoobjemovýtagStrana má sadu čtyř kolíků a sadu tří kolíků. První sada se skládá z VCC a GND pro napájení modulu a vstupu 1 (IN1) a vstupu 2 (IN2) pro ovládání spodního a horního relé.
Pokud má váš reléový modul pouze jeden kanál, budete mít pouze jeden pin IN. Pokud máte čtyři kanály, budete mít čtyři piny IN a tak dále.
Signál, který posíláte na piny IN, určuje, zda je relé aktivní nebo ne. Relé se spustí, když vstup klesne pod přibližně 2V. To znamená, že budete mít následující scénáře:

  • Normálně zavřená konfigurace (NC):
  • Signál HIGH – teče proud
  • Signál LOW – neteče proud
  • Normálně otevřená konfigurace (NO):
  • Signál HIGH – neteče proud
  • LOW signál – protékající proud

Měli byste použít normálně uzavřenou konfiguraci, když by měl proud téci většinu času a chcete jej zastavit jen občas.
Normálně otevřenou konfiguraci použijte, když chcete, aby proud protékal příležitostně (napřample, zapni alamp občas).
Výběr zdroje napájeníZákladní startovací sada LAFVIN ESP32 – výběr napájecího zdrojeDruhá sada kolíků se skládá z kolíků GND, VCC a JD-VCC.
Vývod JD-VCC napájí elektromagnet relé. Všimněte si, že modul má propojku spojující kolíky VCC a JD-VCC; zde zobrazená je žlutá, ale vaše může mít jinou barvu.
S nasazenou krytkou propojky jsou propojeny kolíky VCC a JD-VCC. To znamená, že elektromagnet relé je napájen přímo z napájecího kolíku ESP32, takže modul relé a obvody ESP32 nejsou od sebe fyzicky izolovány.
Bez krytky propojky musíte zajistit nezávislý zdroj napájení pro napájení elektromagnetu relé přes kolík JD-VCC. Tato konfigurace fyzicky izoluje relé od ESP32 pomocí vestavěného optočlenu modulu, což zabraňuje poškození ESP32 v případě elektrických špiček.
SchématickýZákladní startovací sada LAFVIN ESP32 – schémaVarování: Použití vysokého objtagNapájecí zdroje mohou způsobit vážné zranění.
Proto se místo vysokého napájecího obj. používají 5mm LEDtage žárovky v experimentu. Pokud nejste obeznámeni s mains voltagzeptejte se někoho, kdo vám má pomoci. Při programování ESP nebo zapojování vašeho obvodu se ujistěte, že je vše odpojeno od sítě voltage.Základní startovací sada LAFVIN ESP32 - síťová objtageInstalace knihovny pro ESP32
Tohle postavit web server, používáme ESPAsyncWebServerová knihovna a AsyncTCP Library.
Instalace ESPAsyncWebServerová knihovna
Při instalaci postupujte podle následujících kroků ESPAsyncWebServer knihovna:

  1. Klikněte zde pro stažení ESPAsyncWebServerová knihovna. Měl bys mít
    složku .zip ve složce Stažené soubory
  2. Rozbalte složku .zip a měli byste získat ESPAsyncWebHlavní složka serveru
  3. Přejmenujte svou složku z ESPAsyncWebServer-master na ESPAsyncWebServer
  4. Přesuňte ESPAsyncWebSložka serveru do složky instalačních knihoven Arduino IDE

Případně ve vašem Arduino IDE můžete přejít na Sketch > Include
Knihovna > Přidat knihovnu .ZIP… a vyberte knihovnu, kterou jste právě stáhli.
Instalace knihovny AsyncTCP pro ESP32
The ESPAsyncWebServer knihovna vyžaduje AsyncTCP knihovna do práce. Následovat
další kroky k instalaci této knihovny:

  1. Kliknutím sem stáhnete knihovnu AsyncTCP. Ve složce Stažené soubory byste měli mít složku .zip
  2. Rozbalte složku .zip a měli byste získat složku AsyncTCP-master
    1. Přejmenujte složku z AsyncTCP-master na AsyncTCP
    3. Přesuňte složku AsyncTCP do složky instalačních knihoven Arduino IDE
    4. Nakonec znovu otevřete své Arduino IDE

Případně ve vašem Arduino IDE můžete přejít na Sketch > Include
Knihovna > Přidat knihovnu .ZIP… a vyberte knihovnu, kterou jste právě stáhli.
Kód
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDE
Po instalaci požadovaných knihoven otevřete kód Project_7_ESP32_Relay_Web_Server.ino v arduino IDE.
Před nahráním kódu nezapomeňte vložit své síťové přihlašovací údaje, aby se ESP mohl připojit k vaší místní síti.Základní startovací sada LAFVIN ESP32 - lokální síťDemonstrace
Po provedení nezbytných změn nahrajte kód do referenčních kroků ESP32.Nahrát kód.
Otevřete Serial Monitor s přenosovou rychlostí 115200 a stisknutím tlačítka ESP32 EN získejte jeho IP adresu. Poté otevřete prohlížeč v místní síti a zadejte IP adresu ESP32, abyste získali přístup k web server.
Otevřete Serial Monitor s přenosovou rychlostí 115200 a stisknutím tlačítka ESP32 EN získejte jeho IP adresu. Poté otevřete prohlížeč v místní síti a zadejte IP adresu ESP32, abyste získali přístup k web server.Základní startovací sada LAFVIN ESP32 - web serverPoznámka: Váš prohlížeč a ESP32 by měly být připojeny ke stejné LAN.
Měli byste získat něco následujícího se dvěma tlačítky, jako je počet relé, které jste definovali ve svém kódu.Základní startovací sada LAFVIN ESP32 - smartphoneNyní můžete pomocí tlačítek ovládat relé pomocí smartphonu.Základní startovací sada LAFVIN ESP32 - smartphone 1

Project_8_Output_State_Synchronization_ Web_Server

Tento projekt ukazuje, jak ovládat výstupy ESP32 nebo ESP8266 pomocí a web server a fyzické tlačítko současně. Stav výstupu se aktualizuje na web stránku, zda se změní pomocí fyzického tlačítka nebo web server.
Projekt skončilview
Pojďme se v rychlosti podívat na to, jak projekt funguje.Základní startovací sada LAFVIN ESP32 – konec projektuviewESP32 nebo ESP8266 hostí a web server, který umožňuje řídit stav výstupu;

  • Aktuální stav výstupu je zobrazen na web server;
  • ESP je také připojen k fyzickému tlačítku, které ovládá stejný výstup;
  • Pokud změníte stav výstupu pomocí fyzického tlačítka, jeho aktuální stav se také aktualizuje na web server.

Stručně řečeno, tento projekt vám umožňuje ovládat stejný výstup pomocí a web server a tlačítko současně. Kdykoli se změní stav výstupu, web server je aktualizován.
Potřebné díly
Zde je seznam dílů, které potřebujete k sestavení obvodu:

  • Deska ESP32 DEVKIT V1
  • 5mm LED
  • odpor 220 ohmů
  • Stiskněte tlačítko
  • 10k Ohm odpor
  • Breadboard
  • Startovací dráty

SchématickýZákladní startovací sada LAFVIN ESP32 – schéma 1Instalace knihovny pro ESP32
Tohle postavit web server, používáme ESPAsyncWebKnihovna serveru a knihovna AsyncTCP. (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace ESPAsyncWebServerová knihovna
Při instalaci ESPAsync postupujte podle následujících krokůWebServerová knihovna:

  1. Klikněte zde pro stažení ESPAsyncWebServerová knihovna. Měl bys mít
    složku .zip ve složce Stažené soubory
  2. Rozbalte složku .zip a měli byste získat ESPAsyncWebHlavní složka serveru
  3. Přejmenujte svou složku z ESPAsyncWebServer-master na ESPAsyncWebServer
  4. Přesuňte ESPAsyncWebSložka serveru do složky instalačních knihoven Arduino IDE
    Případně ve vašem Arduino IDE můžete přejít na Sketch > Include
    Knihovna > Přidat knihovnu .ZIP… a vyberte knihovnu, kterou jste právě stáhli.

Instalace knihovny AsyncTCP pro ESP32
ESPAsyncWebKnihovna serveru vyžaduje, aby knihovna AsyncTCP fungovala. Pro instalaci této knihovny postupujte podle následujících kroků:

  1. Kliknutím sem stáhnete knihovnu AsyncTCP. Ve složce Stažené soubory byste měli mít složku .zip
  2. Rozbalte složku .zip a měli byste získat složku AsyncTCP-master
  3. Přejmenujte složku z AsyncTCP-master na AsyncTCP
  4. Přesuňte složku AsyncTCP do složky instalačních knihoven Arduino IDE
  5. Nakonec znovu otevřete své Arduino IDE
    Případně ve vašem Arduino IDE můžete přejít na Sketch > Include
    Knihovna > Přidat knihovnu .ZIP… a vyberte knihovnu, kterou jste právě stáhli.

Kód
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDE
Po instalaci požadovaných knihoven otevřete kód
Project_8_Output_State_Synchronization_Web_Server.ino v arduino IDE.
Před nahráním kódu nezapomeňte vložit své síťové přihlašovací údaje, aby se ESP mohl připojit k vaší místní síti.Základní startovací sada LAFVIN ESP32 – kód

Jak kodex funguje

Stav tlačítka a stav výstupu
Proměnná ledState uchovává stav výstupu LED. Pro výchozí, když web server se spustí, je NÍZKÁ.Základní startovací sada LAFVIN ESP32 – kód funguje

ButtonState a lastButtonState se používají ke zjištění, zda bylo tlačítko stisknuto nebo ne.Základní startovací sada LAFVIN ESP32 - byla vylisovánaTlačítko (web server)
Nezahrnuli jsme HTML k vytvoření tlačítka v proměnné index_html.
To proto, že chceme mít možnost jej změnit v závislosti na aktuálním stavu LED, který lze také změnit pomocí tlačítka.
Vytvořili jsme tedy zástupný symbol pro tlačítko %BUTTONPLACEHOLDER%, který bude nahrazen textem HTML, aby se tlačítko vytvořilo později v kódu (to se provádí ve funkci procesor()).Základní startovací sada LAFVIN ESP32 - byla vylisována 1procesor()
Funkce procesor() nahradí všechny zástupné symboly v textu HTML skutečnými hodnotami. Nejprve zkontroluje, zda HTML texty nějaké obsahují
zástupné symboly %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - procesorPoté zavolejte funkci outputState(), která vrátí aktuální stav výstupu. Uložíme do proměnné outputStateValue.Základní startovací sada LAFVIN ESP32 - outputStatePoté použijte tuto hodnotu k vytvoření textu HTML pro zobrazení tlačítka se správným stavem:Základní startovací sada LAFVIN ESP32 – kód 4Požadavek HTTP GET na změnu stavu výstupu (JavaScript)
Když stisknete tlačítko, zavolá se funkce toggleCheckbox(). Tato funkce vytvoří požadavek na jiný URLs pro zapnutí nebo vypnutí LED.Základní startovací sada LAFVIN ESP32 - JavaScriptPro rozsvícení LED provede požadavek na /update?state=1 URL:Základní startovací sada LAFVIN ESP32 - element.kontrolovánoV opačném případě vytvoří požadavek na /update?state=0 URL.
Požadavek HTTP GET na aktualizaci stavu (JavaScript)
Chcete-li udržovat aktuální stav výstupu na web server, zavoláme následující funkci, která vytvoří nový požadavek na /state URL každou vteřinu.Základní startovací sada LAFVIN ESP32 – stav aktualizaceZákladní startovací sada LAFVIN ESP32 – stav aktualizace 1Zpracovat požadavky
Potom musíme zvládnout, co se stane, když ESP32 nebo ESP8266 obdrží požadavky na ně URLs.
Když je přijat požadavek na root /URL, zasíláme HTML stránku i zpracovateli.Základní startovací sada LAFVIN ESP32 – vyřiďte požadavkyZákladní startovací sada LAFVIN ESP32 – vyřízení požadavků 1Následující řádky zkontrolují, zda jste obdrželi požadavek na /update?state=1 nebo /update?state=0 URL a podle toho změní ledState.Základní startovací sada LAFVIN ESP32 - ledStateZákladní startovací sada LAFVIN ESP32 - vstupParamKdyž je přijat požadavek na /state URL, posíláme aktuální stav výstupu:Základní startovací sada LAFVIN ESP32 - stav výstupusmyčka()
Ve smyčce () vypneme tlačítko a zapneme nebo vypneme LED v závislosti na hodnotě ledState variabilní.Základní startovací sada LAFVIN ESP32 - smyčka 1Demonstrace
Nahrajte kód na vaši desku ESP32. Nahrajte referenční kroky pro kód.
Poté otevřete sériový monitor s přenosovou rychlostí 115200. Stisknutím integrovaného tlačítka EN/RST získáte IP adresu.Základní startovací sada LAFVIN ESP32 – ukázkaOtevřete prohlížeč v místní síti a zadejte adresu IP ESP. Měli byste mít přístup k web server, jak je uvedeno níže.
Poznámka: Váš prohlížeč a ESP32 by měly být připojeny ke stejné LAN.LAFVIN ESP32 Basic Starter Kit – prohlížečMůžete přepínat tlačítko na web serveru pro rozsvícení LED.Základní startovací sada LAFVIN ESP32 - web 1 serveruStejnou LED můžete ovládat také fyzickým tlačítkem. Jeho stav bude vždy automaticky aktualizován na web server.

Projekt 9 ESP32 DHT11 Web Server

V tomto projektu se naučíte, jak vytvořit asynchronní ESP32 web server s DHT11, který zobrazuje teplotu a vlhkost pomocí Arduino IDE.
Předpoklady
The web serveru budeme vytvářet aktualizace načtení automaticky bez nutnosti obnovovat web strana.
S tímto projektem se naučíte:

  • Jak číst teplotu a vlhkost ze senzorů DHT;
  • Sestavte asynchronní web server pomocí ESPAsyncWebServerová knihovna;
  • Aktualizujte hodnoty senzoru automaticky bez nutnosti obnovovat web strana.

Asynchronní Web Server
K vybudování web server, který použijeme ESPAsyncWebServerová knihovna který poskytuje snadný způsob, jak vytvořit asynchronní web server. Budování asynchronního web server má několik výhodtages, jak je uvedeno na stránce knihovny GitHub, jako například:

  • „Obsluhovat více než jedno připojení současně“;
  • „Když odešlete odpověď, jste okamžitě připraveni zvládnout další připojení, zatímco server se postará o odeslání odpovědi na pozadí“;
  • „Jednoduchý nástroj pro zpracování šablon pro zpracování šablon“;

Potřebné díly
K dokončení tohoto tutoriálu potřebujete následující části:

  • Vývojová deska ESP32
  • Modul DHT11
  • Breadboard
  • Startovací dráty

SchématickýZákladní startovací sada LAFVIN ESP32 – schéma 2Instalace knihoven
Pro tento projekt musíte nainstalovat několik knihoven:

Instalace knihovny snímačů DHT
Chcete-li číst ze senzoru DHT pomocí Arduino IDE, musíte nainstalovat Knihovna senzorů DHT. Při instalaci knihovny postupujte podle následujících kroků.

  1. Kliknutím sem stáhnete knihovnu senzorů DHT. Ve složce Stažené soubory byste měli mít složku .zip
  2. Rozbalte složku .zip a měli byste získat složku DHT-sensor-library-master
  3. Přejmenujte svou složku z DHT-sensor-library-master na DHT_sensor
  4. Přesuňte složku DHT_sensor do složky instalačních knihoven Arduino IDE
  5. Nakonec znovu otevřete své Arduino IDE

Instalace ovladače Adafruit Unified Sensor Driver
Musíte také nainstalovat Knihovna Adafruit Unified Sensor Driver pro práci se senzorem DHT. Při instalaci knihovny postupujte podle následujících kroků.

  1. Klikněte sem a stáhněte si knihovnu Adafruit Unified Sensor. Ve složce Stažené soubory byste měli mít složku .zip
  2. Rozbalte složku .zip a měli byste získat složku Adafruit_sensor-master
  3. Přejmenujte svou složku z Adafruit_sensor-master na Adafruit_sensor
  4. Přesuňte složku Adafruit_sensor do složky instalačních knihoven Arduino IDE
  5. Nakonec znovu otevřete své Arduino IDE

Instalace ESPAsyncWebServerová knihovna

Při instalaci postupujte podle následujících kroků ESPAsyncWebServer knihovna:

  1. Klikněte zde pro stažení ESPAsyncWebServerová knihovna. Měl bys mít
    složku .zip ve složce Stažené soubory
  2. Rozbalte složku .zip a měli byste
    získat ESPAsyncWebHlavní složka serveru
  3. Přejmenujte svou složku z ESPAsyncWebServer-master na ESPAsyncWebServer
  4. Přesuňte ESPAsyncWebSložka serveru do složky instalačních knihoven Arduino IDE

Instalace knihovny Async TCP pro ESP32
The ESPAsyncWebServer knihovna vyžaduje AsyncTCP knihovna do práce. Pro instalaci této knihovny postupujte podle následujících kroků:

  1. Kliknutím sem stáhnete knihovnu AsyncTCP. Ve složce Stažené soubory byste měli mít složku .zip
  2. Rozbalte složku .zip a měli byste získat složku AsyncTCP-master
  3. Přejmenujte složku z AsyncTCP-master na AsyncTCP
  4. Přesuňte složku AsyncTCP do složky instalačních knihoven Arduino IDE
  5. Nakonec znovu otevřete své Arduino IDE

Kód
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDE
Po instalaci požadovaných knihoven otevřete kód
Project_9_ESP32_DHT11_Web_Server.ino v arduino IDE.
Před nahráním kódu nezapomeňte vložit své síťové přihlašovací údaje, aby se ESP mohl připojit k vaší místní síti.Základní startovací sada LAFVIN ESP32 – kódJak kodex funguje
V následujících odstavcích vysvětlíme, jak kód funguje. Pokračujte ve čtení, pokud se chcete dozvědět více, nebo přejděte do sekce Ukázka a podívejte se na konečný výsledek.
Import knihoven
Nejprve importujte požadované knihovny. WiFi, ESPAsyncWebK sestavení je potřeba server a ESPAsyncTCP web server. Adafruit_Sensor a knihovny DHT jsou potřebné pro čtení ze senzorů DHT11 nebo DHT22.Základní startovací sada LAFVIN ESP32 – Import knihovenZákladní startovací sada LAFVIN ESP32 – Jak kód fungujeDefinice proměnných
Definujte GPIO, ke kterému je připojen datový kolík DHT. V tomto případě je připojen k GPIO 4.Základní startovací sada LAFVIN ESP32 – definice proměnnýchPoté vyberte typ senzoru DHT, který používáte. V naší example, používáme DHT22. Pokud používáte jiný typ, stačí odkomentovat váš senzor a okomentovat všechny ostatní.Základní startovací sada LAFVIN ESP32 – definice proměnných 1

Vytvořte instanci objektu DHT s typem a pinem, který jsme definovali dříve.Základní startovací sada LAFVIN ESP32 – definice proměnných 2Vytvořte asynchronníWebObjekt serveru na portu 80.Základní startovací sada LAFVIN ESP32 – definice proměnných 3Přečtěte si o funkcích teploty a vlhkosti
Vytvořili jsme dvě funkce: jednu pro čtení teploty Vytvořili jsme dvě funkce: jednu pro čtení teploty (readDHTTemperature()) a druhou pro čtení vlhkosti (readDHTHumidity()).Základní startovací sada LAFVIN ESP32 – čtení DHTHvlhkostiZákladní startovací sada LAFVIN ESP32 – údaje ze snímačůZískávání hodnot senzoru je stejně jednoduché jako použití Získávání hodnot senzoru je stejně jednoduché jako použití metod readTemperature() a readHumidity() na objektu dht.Základní startovací sada LAFVIN ESP32 - objektMáme také podmínku, která vrací dvě pomlčky (–) v případě, že senzor selže při získávání hodnot.Základní startovací sada LAFVIN ESP32 – odečtyHodnoty jsou vráceny jako typ řetězce. Chcete-li převést float na řetězec, použijte funkci String().Základní startovací sada LAFVIN ESP32 - výpletStandardně čteme teplotu ve stupních Celsia. Chcete-li získat teplotu ve stupních Fahrenheita, okomentujte teplotu ve stupních Celsia a odečtěte teplotu ve stupních Fahrenheita, abyste získali následující:Základní startovací sada LAFVIN ESP32 - FahrenheitZákladní startovací sada LAFVIN ESP32 - Fahrenheit 1Nahrajte kód
Nyní nahrajte kód do svého ESP32. Ujistěte se, že jste vybrali správnou desku a COM port. Nahrajte referenční kroky kódu.
Po nahrání otevřete sériový monitor s přenosovou rychlostí 115200. Stiskněte resetovací tlačítko ESP32. IP adresa ESP32 by měla být vytištěna v seriálu monitor.Základní startovací sada LAFVIN ESP32 – nahrajte kódDemonstrace
Otevřete prohlížeč a zadejte adresu IP ESP32. Vaše web server by měl zobrazovat nejnovější hodnoty senzoru.
Poznámka: Váš prohlížeč a ESP32 by měly být připojeny ke stejné LAN.
Všimněte si, že naměřené hodnoty teploty a vlhkosti se aktualizují automaticky, aniž by bylo nutné je obnovovat web strana.Základní startovací sada LAFVIN ESP32 – ukázka 1

Project_10_ESP32_OLED_Display

Tento projekt ukazuje, jak používat 0.96palcový OLED displej SSD1306 s ESP32 pomocí Arduino IDE.
Představujeme 0.96palcový OLED displej
The OLED displej V tomto tutoriálu použijeme model SSD1306: jednobarevný 0.96palcový displej s rozlišením 128 × 64 pixelů, jak je znázorněno na následujícím obrázku.Základní startovací sada LAFVIN ESP32 - OLEDdisplejOLED displej nevyžaduje podsvícení, což má za následek velmi pěkný kontrast v tmavém prostředí. Navíc jeho pixely spotřebovávají energii, pouze když jsou zapnuté, takže OLED displej spotřebovává méně energie než ostatní displeje.
Protože OLED displej používá komunikační protokol I2C, je zapojení velmi jednoduché. Jako referenci můžete použít následující tabulku.

OLED pin ESP32
Vin 3.3V
GND GND
SCL GPIO 22
SDA GPIO 21

SchématickýZákladní startovací sada LAFVIN ESP32 – schémaInstalace knihovny SSD1306 OLED – ESP32
Pro ovládání OLED displeje pomocí ESP32 je k dispozici několik knihoven.
V tomto tutoriálu použijeme dvě knihovny Adafruit: Knihovna Adafruit_SSD1306 a Knihovna Adafruit_GFX.
Při instalaci těchto knihoven postupujte podle následujících kroků.

  1. Otevřete své Arduino IDE a přejděte na Sketch > Include Library > Manage Libraries. Měl by se otevřít Správce knihovny.
  2. Do vyhledávacího pole zadejte „SSD1306“ a nainstalujte knihovnu SSD1306 od Adafruit.Základní startovací sada LAFVIN ESP32 – OLEDLibrary–
  3. Po instalaci knihovny SSD1306 od Adafruit zadejte do vyhledávacího pole „GFX“ a nainstalujte knihovnu.LAFVIN ESP32 Basic Starter Kit - knihovna
  4. Po instalaci knihoven restartujte své Arduino IDE.

Kód
Po instalaci požadovaných knihoven otevřete Project_10_ESP32_OLED_Display.ino v arduino IDE. kód
ESP32 naprogramujeme pomocí Arduino IDE, takže se před pokračováním ujistěte, že máte nainstalovaný doplněk ESP32: (Pokud jste tento krok již provedli, můžete přeskočit k dalšímu kroku.)
Instalace doplňku ESP32 v Arduino IDEZákladní startovací sada LAFVIN ESP32 – kód 1Základní startovací sada LAFVIN ESP32 – kód 2Základní startovací sada LAFVIN ESP32 – kód 3Jak kodex funguje
Import knihoven
Nejprve je třeba importovat potřebné knihovny. Knihovna Wire pro použití I2C a knihovny Adafruit pro zápis na displej: Adafruit_GFX a Adafruit_SSD1306.Základní startovací sada LAFVIN ESP32 – kód funguje 1Základní startovací sada LAFVIN ESP32 – kód funguje 2Inicializujte OLED displej
Poté definujete šířku a výšku OLED. V tomto example, používáme 128×64 OLED displej. Pokud používáte jiné velikosti, můžete to změnit v proměnných SCREEN_WIDTH a SCREEN_HEIGHT.Základní startovací sada LAFVIN ESP32 - OLED displejPoté inicializujte objekt zobrazení s šířkou a výškou definovanou dříve pomocí komunikačního protokolu I2C (&Wire).LAFVIN ESP32 Basic Starter Kit - komunikační protokolParametr (-1) znamená, že váš OLED displej nemá RESET pin. Pokud váš OLED displej má RESET pin, měl by být připojen ke GPIO. V takovém případě byste měli předat číslo GPIO jako parametr.
V setup() inicializujte Serial Monitor na přenosovou rychlost 115200 pro účely ladění.Základní startovací sada LAFVIN ESP32 - účelyInicializujte OLED displej pomocí metody begin() takto:Základní startovací sada LAFVIN ESP32 - display.beginZákladní startovací sada LAFVIN ESP32 - Serial.printlnTento úryvek také vytiskne zprávu na sériovém monitoru pro případ, že bychom se nemohli připojit k displeji.

Základní startovací sada LAFVIN ESP32 - Serial.println 1V případě, že používáte jiný OLED displej, možná budete muset změnit OLED adresu. V našem případě je adresa 0x3C.Základní startovací sada LAFVIN ESP32 – adresaPo inicializaci displeje přidejte dvousekundové zpoždění, aby měl OLED dostatek času na inicializaci před psaním textu:Základní startovací sada LAFVIN ESP32 - zpožděníPřehledný displej, nastavení velikosti písma, barvy a psaní textu
Po inicializaci displeje vymažte vyrovnávací paměť displeje pomocí metody clearDisplay():Základní startovací sada LAFVIN ESP32 - displej

Před psaním textu je potřeba nastavit velikost textu, barvu a kde se bude text zobrazovat v OLED.
Nastavte velikost písma pomocí metody setTextSize():Základní startovací sada LAFVIN ESP32 – displej 1Nastavte barvu písma pomocí metody setTextColor():
WHITE nastaví bílé písmo a černé pozadí.
Pomocí metody setCursor(x,y) definujte pozici, kde text začíná. V tomto případě nastavujeme text tak, aby začínal na souřadnicích (0,0) – v levém horním rohu.Základní startovací sada LAFVIN ESP32 - setTextColor 1Nakonec můžete text odeslat na displej pomocí metody println() následovněZákladní startovací sada LAFVIN ESP32 – kód 5Potom musíte zavolat metodu display(), aby se text skutečně zobrazil na obrazovce.Základní startovací sada LAFVIN ESP32 - displej

Knihovna Adafruit OLED poskytuje užitečné metody pro snadné posouvání textu.

  • begincrollright(0x00, 0x0F): rolování textu zleva doprava
  • begincrollleft(0x00, 0x0F): rolování textu zprava doleva
  • begincrolldiagright(0x00, 0x07): rolování textu z levého dolního rohu do pravého horního rohu begincrolldiagleft(0x00, 0x07): rolování textu z pravého dolního rohu do levého horního rohu

Nahrajte kód
Nyní nahrajte kód do referenčních kroků ESP32.Upload kódu.
Po nahrání kódu OLED zobrazí rolující text.Základní startovací sada LAFVIN ESP32 - rolování textuLogo LAFVIN

Dokumenty / zdroje

Základní startovací sada LAFVIN ESP32 [pdfNávod k obsluze
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *