Лого на LAFVINESP32 Основен стартер
Комплет

Список за пакување

LAFVIN ESP32 Основен почетен комплет - Список за пакување

ESP32 Вовед

Нов на ESP32? Започнете овде! ESP32 е серија на евтини и евтини микроконтролери Систем на чип (SoC) развиени од Espressif кои вклучуваат безжични можности за Wi-Fi и Bluetooth и процесор со две јадра. Ако сте запознаени со ESP8266, ESP32 е негов наследник, полн со многу нови функции.LAFVIN ESP32 Basic Starter Kit - ESP32 ВоведESP32 Спецификации
Ако сакате да добиете малку повеќе технички и специфични, можете да ги погледнете следните детални спецификации на ESP32 (извор: http://esp32.net/) - за повеќе детали, проверете го листот со податоци):

  • Безжично поврзување WiFi: брзина на податоци од 150.0 Mbps со HT40
  • Bluetooth: BLE (Bluetooth Low Energy) и Bluetooth Classic
  • Процесор: Tensilica Xtensa Dual-Core 32-битен микропроцесор LX6, работи на 160 или 240 MHz
  • Меморија:
  • ROM: 448 KB (за подигање и основни функции)
  • SRAM: 520 KB (за податоци и инструкции)
  • RTC fas SRAM: 8 KB (за складирање податоци и главен процесор за време на RTC подигање од режим на длабок сон)
  • RTC бавен SRAM: 8KB (за пристап до копроцесор за време на режимот на длабок сон) eFuse: 1 Kbit (од кои 256 бита се користат за системот (MAC адреса и конфигурација на чипот) а останатите 768 бита се резервирани за апликации на клиентите, вклучувајќи Flash-енкрипција и чип-ID)

Вграден блиц: внатрешно поврзан блиц преку IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 и SD_DATA_1 на ESP32-D2WD и ESP32-PICO-D4.

  • 0 MiB (чипови ESP32-D0WDQ6, ESP32-D0WD и ESP32-S0WD)
  • 2 MiB (чип ESP32-D2WD)
  • 4 MiB (ESP32-PICO-D4 SiP модул)

Ниска моќност: гарантира дека сè уште можете да користите ADC конверзии, на прampЛе, за време на длабок сон.
Периферен влез/излез:

  • периферен интерфејс со DMA кој вклучува капацитивен допир
  • ADCs (аналогно-дигитален конвертор)
  • DAC (дигитално-аналоген конвертор)
  • I²C (Интегрирано коло)
  • UART (универзален асинхрон ресивер/предавател)
  • SPI (сериски периферен интерфејс)
  • I²S (Интегриран меѓучипски звук)
  • RMII (Намален интерфејс независен од медиумите)
  • PWM (Модулација на ширина на пулсот)

Безбедност: хардверски акцелератори за AES и SSL/TLS

Одбори за развој на ESP32

ESP32 се однесува на голиот ESP32 чип. Сепак, терминот „ESP32“ исто така се користи за да се однесува на развојните табли ESP32. Користењето на голи чипови ESP32 не е лесно или практично, особено кога се учи, тестира и прави прототипови. Поголемиот дел од времето, ќе сакате да користите плочка за развој на ESP32.
Ќе ја користиме плочката ESP32 DEVKIT V1 како референца. Сликата подолу ја прикажува плочката ESP32 DEVKIT V1, верзија со 30 GPIO пинови.LAFVIN ESP32 Basic Starter Kit - ESP32 Development BoardsСпецификации – ESP32 DEVKIT V1
Следната табела покажува резиме на карактеристиките и спецификациите на плочката ESP32 DEVKIT V1 DOIT:

Број на јадра 2 (двојно јадро)
Wi-Fi 2.4 GHz до 150 Mbits/s
Bluetooth BLE (Bluetooth Low Energy) и наследен Bluetooth
Архитектура 32 бита
Фреквенција на часовник До 240 MHz
RAM меморија 512 KB
Иглички 30 (во зависност од моделот)
Периферни уреди Капацитивен допир, ADC (конвертор од аналогно во дигитално), DAC (конвертор од дигитално во аналогно), 12C (интегрирано коло), UART (универзален асинхрон приемник/предавател), CAN 2.0 (Netwokr со област на контролорот), SPI (сериски периферен интерфејс) , 12S (Интегриран меѓу IC
Звук), RMII (редуциран медиумски независен интерфејс), PWM (модулација на ширина на пулсот) и многу повеќе.
Вградени копчиња Копчињата RESET и BOOT
Вградени LED диоди вградена сина LED диода поврзана со GPIO2; вградена црвена ЛЕД што покажува дека плочата се напојува
USB до UART
мост
CP2102

LAFVIN ESP32 Basic Starter Kit - ESP32 DEVKITДоаѓа со microUSB интерфејс што можете да го користите за да ја поврзете плочата со вашиот компјутер за да поставите код или да примените напојување.
Го користи чипот CP2102 (USB во UART) за да комуницира со вашиот компјутер преку COM порта користејќи сериски интерфејс. Друг популарен чип е CH340. Проверете што е конверторот на USB во UART чип на вашата плочка бидејќи ќе треба да ги инсталирате потребните драјвери за да може вашиот компјутер да комуницира со плочата (повеќе информации за ова подоцна во ова упатство).
Оваа плочка доаѓа и со копче RESET (може да биде означено со EN) за рестартирање на плочата и копче BOOT за ставање на плочата во режим на трепкање (достапно за примање код). Имајте предвид дека некои табли можеби немаат копче BOOT.
Доаѓа и со вградена сина LED диода која е внатрешно поврзана со GPIO 2. Оваа LED е корисна за дебагирање за да даде некој вид визуелен физички излез. Има и црвена LED диода која свети кога ќе ја напојувате плочата.LAFVIN ESP32 Basic Starter Kit - таблаESP32 Pinout
Периферните уреди ESP32 вклучуваат:

  • 18 канали за аналогно-дигитален конвертор (ADC).
  • 3 SPI интерфејси
  • 3 UART интерфејси
  • 2 I2C интерфејси
  • 16 излезни PWM канали
  • 2 дигитално-аналогни конвертори (DAC)
  • 2 I2S интерфејси
  • 10 GPIO со капацитивни сензори

Карактеристиките ADC (аналоген во дигитален конвертор) и DAC (дигитален кон аналоген конвертор) се доделуваат на одредени статички пинови. Сепак, можете да одлучите кои пинови се UART, I2C, SPI, PWM итн - само треба да ги доделите во кодот. Ова е можно поради мултиплексирачката карактеристика на чипот ESP32.
Иако можете да ги дефинирате својствата на пиновите на софтверот, има стандардно доделени пинови како што е прикажано на следната сликаLAFVIN ESP32 Basic Starter Kit - ESP32 PinoutДополнително, постојат иглички со специфични карактеристики што ги прават соодветни или не за одреден проект. Следната табела покажува кои пинови се најдобро да се користат како влезови, излези и кои треба да бидете претпазливи.
Пиновите означени со зелено се во ред за употреба. Оние означени со жолто се во ред за употреба, но треба да обрнете внимание бидејќи тие може да имаат неочекувано однесување главно при подигање. Пиновите означени со црвено не се препорачуваат да се користат како влезни или излези.

GP IO Влез Излез Белешки
0 повлечен нагоре OK излегува PWM сигнал при подигање, мора да биде LOW за да влезе во режим на трепкање
1 TX пин OK излез од грешки при подигнување
2 OK OK поврзан со LED LED, мора да се остави лебдечки или НИСКИ за да влезе во режим на трепкање
3 OK RX пин ВИСОКО при подигање
4 OK OK
5 OK OK излегува PWM сигнал при подигање, игла за врзување
12 OK OK багажникот не успева ако се повлече високо, игла за ремени
13 OK OK
14 OK OK излегува PWM сигнал при подигање
15 OK OK излегува PWM сигнал при подигање, игла за врзување
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 само внесување
35 OK само внесување
36 OK само внесување
39 OK само внесување

Продолжете со читање за подетална и длабинска анализа на ESP32 GPIO и неговите функции.
Внесете само пинови
GPIO од 34 до 39 се GPI - внесуваат само пинови. Овие пинови немаат внатрешни отпорници за повлекување или спуштање. Тие не можат да се користат како излези, затоа користете ги овие пинови само како влезови:

  • ГПИО 34
  • ГПИО 35
  • ГПИО 36
  • ГПИО 39

SPI блиц интегриран на ESP-WROOM-32
GPIO 6 до GPIO 11 се изложени во некои развојни табли ESP32. Сепак, овие пинови се поврзани со интегрираниот SPI блиц на чипот ESP-WROOM-32 и не се препорачуваат за друга употреба. Затоа, не користете ги овие пинови во вашите проекти:

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

GPIO со капацитивен допир
ESP32 има 10 внатрешни капацитивни сензори за допир. Тие можат да почувствуваат варијации во сè што има електричен полнеж, како човечката кожа. Така тие можат да детектираат варијации предизвикани при допирање на GPIO со прст. Овие пинови може лесно да се интегрираат во капацитивни влошки и да ги заменат механичките копчиња. Капацитивните иглички на допир може да се користат и за будење на ESP32 од длабок сон. Овие внатрешни сензори за допир се поврзани со овие 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)

Аналоген кон дигитален конвертор (ADC)
ESP32 има 18 x 12 бита ADC влезни канали (додека ESP8266 има само 1x 10 бита ADC). Ова се GPIO кои можат да се користат како ADC и соодветни канали:

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

Забелешка: ADC2 пиновите не може да се користат кога се користи Wi-Fi. Значи, ако користите Wi-Fi и имате проблем да ја добиете вредноста од ADC2 GPIO, може да размислите наместо тоа да користите ADC1 GPIO. Тоа треба да ви го реши проблемот.
Влезните ADC канали имаат 12-битна резолуција. Ова значи дека можете да добиете аналогни отчитувања кои се движат од 0 до 4095, во кои 0 одговара на 0V и 4095 до 3.3V. Можете исто така да ја поставите резолуцијата на вашите канали на кодот и опсегот ADC.
ESP32 ADC пиновите немаат линеарно однесување. Веројатно нема да можете да разликувате помеѓу 0 и 0.1V или помеѓу 3.2 и 3.3V. Треба да го имате на ум тоа кога ги користите ADC пиновите. Ќе добиете однесување слично на она што е прикажано на следната слика.LAFVIN ESP32 Основен стартер комплет - однесувањеДигитален кон аналоген конвертор (DAC)
Има 2 x 8 битни DAC канали на ESP32 за конвертирање на дигитални сигнали во аналогни јачинаtage сигнални излези. Ова се DAC каналите:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

RTC GPIO
Има поддршка за RTC GPIO на ESP32. GPIO-овите насочени кон потсистемот RTC со мала моќност може да се користат кога ESP32 е во длабок сон. Овие RTC GPIO може да се користат за будење на ESP32 од длабок сон кога е Ultra Low
Копроцесорот за напојување (ULP) работи. Следниве GPIO може да се користат како надворешен извор за будење.

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

PWM
ESP32 LED PWM контролерот има 16 независни канали кои можат да се конфигурираат да генерираат PWM сигнали со различни својства. Сите пинови кои можат да дејствуваат како излези може да се користат како пинови PWM (GPIO од 34 до 39 не може да генерира PWM).
За да поставите PWM сигнал, треба да ги дефинирате овие параметри во кодот:

  • фреквенција на сигналот;
  • Работен циклус;
  • PWM канал;
  • GPIO каде што сакате да го емитувате сигналот.

I2C
ESP32 има два I2C канали и кој било пин може да се постави како SDA или SCL. Кога користите ESP32 со Arduino IDE, стандардните I2C пинови се:

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

Ако сакате да користите други пинови кога ја користите библиотеката со жици, само треба да повикате:
Wire.begin (SDA, SCL);
СПИ
Стандардно, мапирањето на пиновите за SPI е:

СПИ МОСИ МИСО CLK CS
ВСПИ ГПИО 23 ГПИО 19 ГПИО 18 ГПИО 5
HSPI ГПИО 13 ГПИО 12 ГПИО 14 ГПИО 15

Прекинува
Сите GPIO може да се конфигурираат како прекини.
Иглички за прерамки
Чипот ESP32 ги има следните иглички за прицврстување:

  • GPIO 0 (мора да биде НИСКО за да влезете во режим на подигање)
  • GPIO 2 (мора да лебди или НИСКИ за време на подигањето)
  • ГПИО 4
  • GPIO 5 (мора да биде ВИСОК при подигање)
  • GPIO 12 (мора да биде НИСК за време на подигањето)
  • GPIO 15 (мора да биде ВИСОК при подигање)

Тие се користат за ставање на ESP32 во режим на подигнувач или трепкање. На повеќето развојни табли со вграден USB/Serial, не треба да се грижите за состојбата на овие пинови. Плочката ги става пиновите во вистинската состојба за трепкање или режим на подигање. Повеќе информации за ESP32 Boot Mode Selection може да најдете овде.
Меѓутоа, ако имате периферни уреди поврзани со тие пинови, може да имате проблем да прикачите нов код, да трепкате ESP32 со нов фирмвер или да ја ресетирате плочата. Ако имате некои периферни уреди поврзани со игличките за поврзување и имате проблеми со поставувањето на кодот или трепкањето на ESP32, можеби тоа е затоа што тие периферни уреди го спречуваат ESP32 да влезе во вистинскиот режим. Прочитајте ја документацијата за избор на режим за подигање за да ве води во вистинската насока. По ресетирање, трепкање или подигнување, тие пинови работат како што се очекуваше.
Пиновите HIGH при подигање
Некои GPIO ја менуваат нивната состојба во HIGH или излегуваат PWM сигнали при подигање или ресетирање.
Ова значи дека ако имате излези поврзани со овие GPIO, може да добиете неочекувани резултати кога ESP32 ќе се ресетира или ќе се подигне.

  • ГПИО 1
  • ГПИО 3
  • ГПИО 5
  • GPIO 6 до GPIO 11 (поврзан со интегрираната SPI флеш меморија ESP32 – не се препорачува да се користи).
  • ГПИО 14
  • ГПИО 15

Овозможи (EN)
Enable (EN) е пин за овозможување на регулаторот 3.3V. Тој е повлечен нагоре, затоа поврзете се со земјата за да го оневозможите регулаторот на 3.3V. Ова значи дека можете да го користите овој пин поврзан со копче за да го рестартирате вашиот ESP32, на прampле.
Извлечена е струјата на GPIO
Апсолутна максимална струја повлечена по GPIO е 40 mA според делот „Препорачани работни услови“ во листот со податоци ESP32.
ESP32 вграден сензор за ефект на сала
ESP32, исто така, располага со вграден сензор за ефект на сала што ги детектира промените во магнетното поле во неговата околина
ESP32 Arduino IDE
Има додаток за Arduino IDE кој ви овозможува да го програмирате ESP32 користејќи го Arduino IDE и неговиот програмски јазик. Во ова упатство ќе ви покажеме како да ја инсталирате плочата ESP32 во Arduino IDE без разлика дали користите Windows, Mac OS X или Linux.
Предуслови: Инсталиран Arduino IDE
Пред да ја започнете оваа процедура за инсталација, треба да имате инсталирано Arduino IDE на вашиот компјутер. Постојат две верзии на Arduino IDE што можете да ги инсталирате: верзија 1 и верзија 2.
Можете да преземете и инсталирате Arduino IDE со кликнување на следнава врска: arduino.cc/en/Main/Software
Која верзија Arduino IDE ја препорачуваме? Во моментов има такви plugins за ESP32 (како SPIFFS FileSystem Uploader Plugin) кои сè уште не се поддржани на Arduino 2. Значи, ако имате намера да го користите приклучокот SPIFFS во иднина, препорачуваме да ја инсталирате старата верзија 1.8.X. Само треба да скролувате надолу на страницата со софтверот Arduino за да ја најдете.
Инсталирање на додаток ESP32 во Arduino IDE
За да ја инсталирате плочката ESP32 во вашиот Arduino IDE, следете ги следните упатства:

  1. Во вашиот Arduino IDE, одете на File> ПреференциОсновен комплет за стартер LAFVIN ESP32 - Преференци
  2. Внесете го следново во „Дополнителен менаџер на одборот URLs” поле:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Потоа, кликнете на копчето „OK“:LAFVIN ESP32 Basic Starter Kit - копче „OK“.Забелешка: ако веќе ги имате плочките ESP8266 URL, можете да ги одделите URLs со запирка како што следува:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Отворете го Менаџерот на одбори. Одете во Алатки > Табла > Менаџер на табли…LAFVIN ESP32 Basic Starter Kit - EspressifПребарај за ESP32 and press install button for the “ESP32 by Espressif Systems“:LAFVIN ESP32 Basic Starter Kit - EspressifТоа е тоа. Треба да се инсталира по неколку секунди.LAFVIN ESP32 Basic Starter Kit - инсталиран

Поставете тест код

Приклучете ја плочката ESP32 на вашиот компјутер. Со отворениот Arduino IDE, следете ги овие чекори:

  1. Изберете ја вашата табла во менито Алатки > Табла (во мојот случај тоа е модулот ESP32 DEV)LAFVIN ESP32 Basic Starter Kit - Tools Board
  2. Изберете ја порта (ако не ја гледате COM портата во вашиот Arduino IDE, треба да ги инсталирате CP210x USB на UART Bridge VCP драјвери):LAFVIN ESP32 Basic Starter Kit - UART Bridge
  3. Отворете го следниот прampле под File > Прamples > WiFi
    (ESP32) > WiFiScanLAFVIN ESP32 Основен стартер комплет - WiFiScanLAFVIN ESP32 Основен стартер комплет - WiFiScan 1
  4. Се отвора нова скица во вашиот Arduino IDE:LAFVIN ESP32 Основен стартер комплет - Arduino IDE
  5. Притиснете го копчето Upload во Arduino IDE. Почекајте неколку секунди додека кодот се компајлира и се прикачува на вашата табла.LAFVIN ESP32 Basic Starter Kit - табла
  6. Ако сè се одвиваше како што се очекуваше, треба да видите „Прикачувањето е завршено“. порака.LAFVIN ESP32 Основен стартер комплет - Прикачувањето е завршено
  7. Отворете го Arduino IDE серискиот монитор со брзина на бауд од 115200:LAFVIN ESP32 Основен стартер комплет - монитор
  8. Притиснете го копчето Овозможи вградена ESP32 и треба да ги видите мрежите достапни во близина на вашиот ESP32:LAFVIN ESP32 Basic Starter Kit - Копче за овозможување

Решавање проблеми

Ако се обидете да поставите нова скица на вашиот ESP32 и ја добиете оваа порака за грешка „Се случи фатална грешка: Не успеа да се поврзе со ESP32: истече времето… Се поврзува…“. Тоа значи дека вашиот ESP32 не е во режим на трепкање/поставување.
Имајќи го избраното вистинското име на таблата и COM por, следете ги овие чекори:
Држете го копчето „BOOT“ на вашата плочка ESP32LAFVIN ESP32 Основен стартер комплет - „BOOT“

  • Притиснете го копчето „Подигни“ во Arduino IDE за да ја поставите вашата скица:LAFVIN ESP32 Основен стартер комплет - ICON 6
  • Откако ќе го видите „Поврзување…“. порака во вашиот Arduino IDE, отпуштете го прстот од копчето „BOOT“:LAFVIN ESP32 Basic Starter Kit - „Завршено поставување
  • После тоа, треба да ја видите пораката „Заврши поставувањето“.
    Тоа е тоа. На вашиот ESP32 треба да работи новата скица. Притиснете го копчето „ENABLE“ за да го рестартирате ESP32 и да ја извршите новата поставена скица.
    Исто така, ќе мора да ја повторувате таа низа на копчиња секогаш кога сакате да прикачите нова скица.

Проект 1 ESP32 Влезни излези

Во овој водич за почеток, ќе научите како да читате дигитални влезови како прекинувач со копчиња и да ги контролирате дигиталните излези како LED со помош на ESP32 со Arduino IDE.
Предуслови
Ќе го програмираме ESP32 користејќи Arduino IDE. Затоа, проверете дали сте го инсталирале додатокот за ESP32 плочите пред да продолжите:

  • Инсталирање на додаток ESP32 во Arduino IDE

ESP32 Контролни дигитални излези
Прво, треба да го поставите GPIO што сакате да го контролирате како OUTPUT. Користете ја функцијата pinMode() на следниов начин:
pinMode (GPIO, OUTPUT);
За да контролирате дигитален излез, само треба да ја користите функцијата digitalWrite(), која ги прифаќа како аргументи, GPIO (int број) на којшто се повикувате и состојбата, или HIGH или LOW.
digitalWrite (GPIO, STATE);
Сите GPIO може да се користат како излези освен GPIO од 6 до 11 (поврзани со интегрираниот SPI блиц) и GPIO 34, 35, 36 и 39 (внесувајте само GPIO);
Дознајте повеќе за ESP32 GPIO: ESP32 GPIO Reference Guide
ESP32 Читање на дигитални влезови
Прво, поставете го GPIO што сакате да го прочитате како INPUT, користејќи ја функцијата pinMode() на следниов начин:
pinMode (GPIO, INPUT);
За да прочитате дигитален влез, како копче, ја користите функцијата digitalRead(), која како аргумент го прифаќа GPIO (int број) на којшто се повикувате.
digitalRead (GPIO);
Сите ESP32 GPIO може да се користат како влезови, освен GPIO од 6 до 11 (поврзани со интегрираниот SPI блиц).
Дознајте повеќе за ESP32 GPIO: ESP32 GPIO Reference Guide
Проект Прample
За да ви покажеме како да користите дигитални влезови и дигитални излези, ќе изградиме едноставен проект на прampЛе со копче и ЛЕД. Ќе ја прочитаме состојбата на копчето и соодветно ќе ја запалиме LED како што е илустрирано на следната слика.LAFVIN ESP32 Basic Starter Kit - Проект прample

Потребни делови
Еве список на делови што ви се потребни за да го изградите колото:

  • ESP32 DEVKIT V1
  • LED 5 mm
  • Отпорник од 220 Ом
  • Притискање на копчето
  • Отпорник од 10 k Ohm
  • Даска за леб
  • Скокачки жици

Шематски дијаграм
Пред да продолжите, треба да составите коло со LED и копче.
Ќе го поврземе ЛЕР-то со GPIO 5, а копчето со GPIO 4.LAFVIN ESP32 Basic Starter Kit - Шематски дијаграмКод
Отворете го кодот Project_1_ESP32_Inputs_Outputs.ino во arduino IDELAFVIN ESP32 Основен стартер комплет - кодОсновен стартер комплет LAFVIN ESP32 - Код 1Како работи кодот
Во следните две линии, креирате променливи за доделување пинови:

LAFVIN ESP32 Basic Starter Kit - Code WorksКопчето е поврзано со GPIO 4 и ЛЕР е поврзано со GPIO 5. Кога користите Arduino IDE со ESP32, 4 одговара на GPIO 4, а 5 одговара на GPIO 5.
Следно, креирате променлива за да ја задржите состојбата на копчето. Стандардно, тоа е 0 (не е притиснато).
int копчеСостојба = 0;
Во поставувањето(), го иницијализирате копчето како ВЛЕЗ, а ЛЕР како ИЗЛЕЗ.
За тоа, ја користите функцијата pinMode() која го прифаќа пинот на којшто се повикувате и режимот: INPUT или OUTPUT.
pinMode (копчеPin, INPUT);
pinMode (ledPin, OUTPUT);
Во јамката () е местото каде што ја читате состојбата на копчето и соодветно ја поставувате ЛЕД-то.
Во следниот ред, ја читате состојбата на копчето и ја зачувувате во променливата buttonState.
Како што видовме претходно, ја користите функцијата digitalRead().
buttonState = digitalRead (buttonPin);
Следната изјава if проверува дали состојбата на копчето е ВИСОКА. Ако е така, ја вклучува ЛЕР со помош на функцијата digitalWrite() која како аргумент ги прифаќа ledPin-от и состојбата HIGH.
ако (копче Состојба == ВИСОКО)LAFVIN ESP32 Basic Starter Kit - Code Works 1Ако состојбата на копчето не е ВИСОКА, ќе ја исклучите ЛЕД-то. Само поставете LOW како втор аргумент во функцијата digitalWrite().LAFVIN ESP32 Basic Starter Kit - digitalWriteПоставување на кодот
Пред да кликнете на копчето за поставување, одете во Tools > Board и изберете ја таблата :DOIT ESP32 DEVKIT V1.
Одете во Tools > Port и изберете ја COM портата на која е поврзан ESP32. Потоа, притиснете го копчето за поставување и почекајте ја пораката „Заврши поставувањето“.LAFVIN ESP32 Основен стартер комплет - ICON 7Забелешка: Ако видите многу точки (се поврзуваат…__…__) на прозорецот за отстранување грешки и пораката „Не успеав да се поврзам со ESP32: истече времето на чекање за заглавие на пакетот“, тоа значи дека треба да го притиснете ESP32 вградениот BOOT копчето по точките
почне да се појавува.Решавање проблеми

Демонстрација

Откако ќе го поставите кодот, тестирајте го вашето коло. Вашата ЛЕД треба да светне кога ќе го притиснете копчето:LAFVIN ESP32 Основен стартер комплет - демонстрацијаИ исклучете го кога ќе го ослободите:LAFVIN ESP32 Basic Starter Kit - пресврт на

Проект 2 ESP32 Аналогни влезови

Овој проект покажува како да читате аналогни влезови со ESP32 користејќи Arduino IDE.
Аналогното читање е корисно за читање вредности од променливи отпорници како потенциометри или аналогни сензори.
Аналогни влезови (ADC)
Читањето аналогна вредност со ESP32 значи дека можете да измерите различен волуменtage нивоа помеѓу 0 V и 3.3 V.
Волtage измерено потоа се доделува на вредност помеѓу 0 и 4095, во која 0 V одговара на 0, а 3.3 V одговара на 4095. Било кој волtage помеѓу 0 V и 3.3 V ќе се даде соодветната вредност помеѓу.LAFVIN ESP32 Basic Starter Kit - Аналогни влезовиADC е нелинеарен
Идеално, би очекувале линеарно однесување при користење на ESP32 ADC пиновите.
Сепак, тоа не се случува. Она што ќе го добиете е однесување како што е прикажано на следната табела:LAFVIN ESP32 Основен стартер комплет - нелинеаренОва однесување значи дека вашиот ESP32 не може да разликува 3.3 V од 3.2 V.
Ќе ја добиете истата вредност за двата томtagес: 4095.
Истото се случува и за многу низок волуменtage вредности: за 0 V и 0.1 V ќе ја добиете истата вредност: 0. Треба да го имате на ум ова кога користите ESP32 ADC пиновите.
Функција analogRead().
Читањето аналоген влез со ESP32 со помош на Arduino IDE е едноставно како и користењето на функцијата analogRead(). Го прифаќа како аргумент, GPIO што сакате да го прочитате:
analogRead (GPIO);
Само 15 се достапни на таблата DEVKIT V1 (верзија со 30 GPIO).
Зграпчете го пиновиот на плочката ESP32 и лоцирајте ги ADC игличките. Тие се означени со црвена граница на сликата подолу.LAFVIN ESP32 Основен стартер комплет - рабОвие аналогни влезни пинови имаат 12-битна резолуција. Ова значи дека кога читате аналоген влез, неговиот опсег може да варира од 0 до 4095.
Забелешка: ADC2 пиновите не може да се користат кога се користи Wi-Fi. Значи, ако користите Wi-Fi и имате проблем да ја добиете вредноста од ADC2 GPIO, може да размислите да користите ADC1 GPIO наместо тоа, што треба да го реши вашиот проблем.
За да видиме како сè е поврзано, ќе направиме едноставен ексample да чита аналогна вредност од потенциометар.
Потребни делови
За оваа ексampле, ви требаат следниве делови:

  • Табла ESP32 DEVKIT V1
  • Potentiometer
  • Даска за леб
  • Скокачки жици

Шематски
Поврзете потенциометар на вашиот ESP32. Средниот пин на потенциометарот треба да се поврзе со GPIO 4. Можете да го користите следниов шематски дијаграм како референца.LAFVIN ESP32 Basic Starter Kit - ШематскиКод
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDE
Отворете го кодот Project_2_ESP32_Inputs_Outputs.ino во arduino IDEОсновен стартер комплет LAFVIN ESP32 - Код 2Овој код едноставно ги чита вредностите од потенциометарот и ги печати тие вредности во Серискиот монитор.
Во кодот, започнувате со дефинирање на GPIO на кој е поврзан потенциометарот. Во овој ексample, GPIO 4.LAFVIN ESP32 Основен стартер комплет - прampleВо поставувањето(), иницијализирајте сериска комуникација со брзина на бауд од 115200.LAFVIN ESP32 Основен стартер комплет - прamp1Во loop(), користете ја функцијата analogRead() за да го прочитате аналогниот влез од potPin-от.LAFVIN ESP32 Основен стартер комплет - прamp2Конечно, испечатете ги вредностите прочитани од потенциометарот во серискиот монитор.LAFVIN ESP32 Основен стартер комплет - прamp3Поставете го кодот даден на вашиот ESP32. Проверете дали сте ја одбрале вистинската плочка и COM порта во менито Tools.
Тестирање на Прample
Откако ќе го поставите кодот и ќе го притиснете копчето за ресетирање ESP32, отворете го Серискиот монитор со брзина на бауд од 115200. Завртете го потенциометарот и видете како се менуваат вредностите.Максималната вредност што ќе ја добиете е 4095, а минималната вредност е 0.LAFVIN ESP32 Basic Starter Kit -максимална вредност

Завиткување

Во оваа статија научивте како да читате аналогни влезови користејќи ESP32 со Arduino IDE. Накратко:

  • Плочката ESP32 DEVKIT V1 DOIT (верзија со 30 пинови) има 15 ADC пинови што можете да ги користите за читање аналогни влезови.
  • Овие пинови имаат резолуција од 12 бита, што значи дека можете да добиете вредности од 0 до 4095.
  • За да прочитате вредност во Arduino IDE, едноставно ја користите функцијата analogRead().
  • ESP32 ADC пиновите немаат линеарно однесување. Веројатно нема да можете да разликувате помеѓу 0 и 0.1V или помеѓу 3.2 и 3.3V. Треба да го имате на ум тоа кога ги користите ADC пиновите.

Project 3 ESP32 PWM (аналоген излез)

Во ова упатство ќе ви покажеме како да генерирате PWM сигнали со ESP32 користејќи Arduino IDE. Како ексampќе изградиме едноставно коло што го затемнува LED со помош на LED PWM контролер на ESP32.LAFVIN ESP32 Основен стартер комплет - аналоген излезESP32 LED PWM контролер
ESP32 има LED PWM контролер со 16 независни канали кои можат да се конфигурираат да генерираат PWM сигнали со различни својства.
Еве ги чекорите што треба да ги следите за да затемните LED со PWM користејќи Arduino IDE:

  1. Прво, треба да изберете PWM канал. Има 16 канали од 0 до 15.
  2. Потоа, треба да ја поставите фреквенцијата на сигналот PWM. За ЛЕР, фреквенција од 5000 Hz е добра за употреба.
  3. Исто така, треба да ја поставите резолуцијата на работниот циклус на сигналот: имате резолуции од 1 до 16 бита. Ќе користиме 8-битна резолуција, што значи дека можете да ја контролирате осветленоста на LED диодата користејќи вредност од 0 до 255.
  4.  Следно, треба да одредите на кои GPIO или GPIO ќе се појави сигналот. За тоа ќе ја користите следнава функција:
    ledcAttachPin (GPIO, канал)
    Оваа функција прифаќа два аргументи. Првиот е GPIO кој ќе го емитува сигналот, а вториот е каналот што ќе го генерира сигналот.
  5. Конечно, за да ја контролирате светлината на LED со помош на PWM, ја користите следнава функција:

ledcWrite (канал, работен циклус)
Оваа функција ги прифаќа како аргументи каналот што го генерира PWM сигналот и работниот циклус.
Потребни делови
За да го следите ова упатство, потребни ви се овие делови:

  • Табла ESP32 DEVKIT V1
  • 5мм ЛЕР
  • Отпорник од 220 Ом
  •  Даска за леб
  • Скокачки жици

Шематски
Поврзете ЛЕР на вашиот ESP32 како на следниот шематски дијаграм. ЛЕР треба да биде поврзан со GPIO 4.LAFVIN ESP32 Basic Starter Kit - ШематскиЗабелешка: можете да користите кој било пин што го сакате, се додека може да дејствува како излез. Сите пинови кои можат да дејствуваат како излези може да се користат како пинови PWM. За повеќе информации за ESP32 GPIO, прочитајте: ESP32 Pinout Reference: Кои GPIO пинови треба да ги користите?
Код
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDE
Отворете го кодот Project_3_ESP32_PWM.ino во arduino IDEОсновен стартер комплет LAFVIN ESP32 - Код 3Основен стартер комплет LAFVIN ESP32 - Код 4Започнувате со дефинирање на пинот на кој е прикачен ЛЕР. Во овој случај, ЛЕР е прикачен на GPIO 4.Основен стартер комплет LAFVIN ESP32 - Код 5Потоа, ги поставувате својствата на сигналот PWM. Вие дефинирате фреквенција од 5000 Hz, избирате канал 0 за генерирање на сигналот и поставувате резолуција од 8 бита. Можете да изберете други својства, различни од овие, за да генерирате различни PWM сигнали.Основен стартер комплет LAFVIN ESP32 - Код 6Во setup(), треба да го конфигурирате LED PWM со својствата што сте ги дефинирале претходно со користење на функцијата ledcSetup() која ги прифаќа како аргументи, ledChannel, фреквенцијата и резолуцијата, на следниов начин:Основен стартер комплет LAFVIN ESP32 - Код 8Следно, треба да го изберете GPIO од кој ќе го добивате сигналот. За тоа користете ја функцијата ledcAttachPin() која ги прифаќа како аргументи GPIO каде што сакате да го добиете сигналот и каналот што го генерира сигналот. Во овој ексample, ќе го добиеме сигналот во ledPin GPIO, што одговара на GPIO 4. Каналот што го генерира сигналот е ledChannel, што одговара на каналот 0.Основен стартер комплет LAFVIN ESP32 - Код 9Во циклусот, ќе го менувате работниот циклус помеѓу 0 и 255 за да ја зголемите светлината на LED.LAFVIN ESP32 Basic Starter Kit - осветленостИ потоа, помеѓу 255 и 0 за да се намали осветленоста.LAFVIN ESP32 Основен стартер комплет - осветленост 1За да ја поставите осветленоста на ЛЕР, само треба да ја користите функцијата ledcWrite() која го прифаќа како аргумент каналот што го генерира сигналот и работниот циклус.LAFVIN ESP32 Основен стартер комплет - осветленост 2Бидејќи користиме 8-битна резолуција, работниот циклус ќе се контролира со помош на вредност од 0 до 255. Забележете дека во функцијата ledcWrite() го користиме каналот што го генерира сигналот, а не GPIO.

Тестирање на Прample

Поставете го кодот на вашиот ESP32. Проверете дали сте ја одбрале вистинската плочка и COM порта. Погледнете го вашето коло. Треба да имате ЛЕД со затемнување што ја зголемува и намалува осветленоста.LAFVIN ESP32 Основен стартер комплет - Тестирање на прample

Проект 4 ESP32 PIR сензор за движење

Овој проект покажува како да детектира движење со ESP32 со помош на PIR сензор за движење. Сирената ќе се огласи со аларм кога ќе се открие движење и ќе го запре алармот кога не се открие движење за претходно поставено време (како 4 секунди)
Како работи сензорот за движење HC-SR501
.LAFVIN ESP32 Basic Starter Kit - Сензорот за движење работиПринципот на работа на сензорот HC-SR501 се заснова на промената на инфрацрвеното зрачење на подвижниот објект. За да биде откриен од сензорот HC-SR501, објектот мора да исполнува две барања:

  • Објектот емитира на инфрацрвен начин.
  • Предметот се движи или се тресе

Значи:
Ако некој објект емитира инфрацрвен зрак, но не се движи (на пр., човек стои во место без да се движи), тој не е откриен од сензорот.
Ако некој предмет се движи, но не емитира инфрацрвен зрак (на пример, робот или возило), тој НЕ е откриен од сензорот.
Ви ги претставуваме тајмерите
Во овој ексampќе воведеме и тајмери. Сакаме ЛЕР да остане вклучен предодреден број секунди откако ќе се открие движењето. Наместо да користиме функција delay() која го блокира вашиот код и не дозволува да правите ништо друго одреден број секунди, треба да користиме тајмер.LAFVIN ESP32 Basic Starter Kit - Ви ги претставуваме тајмеритеФункцијата delay().
Треба да сте запознаени со функцијата delay() бидејќи таа е широко користена. Оваа функција е прилично едноставна за користење. Прифаќа единечен int број како аргумент.
Овој број го претставува времето во милисекунди кога програмата треба да чека додека не премине на следната линија на код.LAFVIN ESP32 Basic Starter Kit - кодКога ќе направите delay (1000), вашата програма запира на таа линија за 1 секунда.
delay() е блокирачка функција. Функциите за блокирање ја спречуваат програмата да прави нешто друго додека не се заврши таа одредена задача. Ако ви треба повеќе задачи да се случуваат истовремено, не можете да користите delay().
За повеќето проекти треба да избегнувате да користите одложувања и наместо тоа да користите тајмери.
Функцијата millis().
Користејќи ја функцијата наречена millis() можете да го вратите бројот на милисекунди што поминале од првиот старт на програмата.LAFVIN ESP32 Basic Starter Kit - програмата првпат започнаЗошто е корисна таа функција? Бидејќи со користење на некоја математика, можете лесно да потврдите колку време поминало без да го блокирате вашиот код.
Потребни делови
За да го следите ова упатство ви требаат следните делови

  • Табла ESP32 DEVKIT V1
  • PIR сензор за движење (HC-SR501)
  • Активно зуи
  • Скокачки жици
  • Даска за леб

ШематскиОсновен стартер комплет LAFVIN ESP32 - Шематски 1Забелешка: Работниот томtage на HC-SR501 е 5V. Користете го Vin пинот за да го напојувате.
Код
Пред да продолжите со ова упатство, треба да го инсталирате додатокот ESP32 во вашиот Arduino IDE. Следете едно од следните упатства за да го инсталирате ESP32 на Arduino IDE, ако веќе не сте го направиле. (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDE
Отворете го кодот Project_4_ESP32_PIR_Motion_Sensor.ino во arduino IDE.
Демонстрација
Поставете го кодот на вашата плочка ESP32. Проверете дали сте ја одбрале вистинската плочка и COM порта. Поставете референтни чекори за кодот.
Отворете го серискиот монитор со брзина на бауд од 115200.LAFVIN ESP32 Основен стартер комплет - демонстрација 1Движете ја раката пред PIR сензорот. Звучникот треба да се вклучи, а пораката се печати во серискиот монитор велејќи „Движење е откриено! Аларм со звучен сигнал“.
По 4 секунди, звучникот треба да се исклучи.LAFVIN ESP32 Основен стартер комплет - звучник

Проект 5 Прекинувач ESP32 Web Сервер

Во овој проект ќе создадете самостоен web сервер со ESP32 кој ги контролира излезите (две LED диоди) користејќи ја програмската средина Arduino IDE. На web серверот е одговорен за мобилни телефони и може да се пристапи со кој било уред што е прелистувач на локалната мрежа. Ќе ви покажеме како да го креирате web сервер и како функционира кодот чекор-по-чекор.
Проектот завршиview
Пред да одите директно на проектот, важно е да се наведе што е нашето web серверот ќе го стори тоа, така што подоцна ќе биде полесно да се следат чекорите.

  • На web серверот што ќе го изградите контроли на две LED диоди поврзани со ESP32 GPIO 26 и GPIO 27;
  • Можете да пристапите до ESP32 web сервер со внесување на IP адресата ESP32 на прелистувач во локалната мрежа;
  • Со кликнување на копчињата на вашиот web сервер можете веднаш да ја промените состојбата на секоја LED диода.

Потребни делови
За ова упатство ќе ви требаат следниве делови:

  • Табла ESP32 DEVKIT V1
  • 2 x 5 mm LED
  • Отпорник 2x200 Ohm
  • Даска за леб
  • Скокачки жици

Шематски
Започнете со градење на колото. Поврзете две LED диоди на ESP32 како што е прикажано на следниот шематски дијаграм - едната LED е поврзана на GPIO 26, а другата на GPIO 27.
Забелешка: Ја користиме плочката ESP32 DEVKIT DOIT со 36 пинови. Пред да го монтирате колото, проверете дали сте го проверувале пинот за плочата што ја користите.LAFVIN ESP32 Basic Starter Kit - ШематскиКод
Овде го даваме кодот што го создава ESP32 web сервер. Отворете го кодот Project_5_ESP32_Switch _Web_Server.ino во arduino IDE, но сè уште не го поставувајте. Треба да направите некои промени за да функционира за вас.
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDE
Поставување на вашите мрежни акредитиви
Треба да ги измените следните линии со вашите мрежни ингеренции: SSID и лозинка. Кодот е добро коментиран за тоа каде треба да ги направите промените.LAFVIN ESP32 Basic Starter Kit - Мрежни акредитивиПоставување на кодот
Сега, можете да го испратите кодот и и на web серверот ќе работи веднаш.
Следете ги следните чекори за да поставите код на ESP32:

  1. Приклучете ја вашата ESP32 плоча во вашиот компјутер;
  2. Во Arduino IDE изберете ја вашата табла во Tools > Board (во нашиот случај ја користиме плочката ESP32 DEVKIT DOIT);LAFVIN ESP32 Basic Starter Kit - Поставување на кодот
  3. Изберете ја портата COM во Алатки > Порта.LAFVIN ESP32 Basic Starter Kit - Tools Port
  4. Притиснете го копчето Upload во Arduino IDE и почекајте неколку секунди додека кодот се компајлира и се поставува на вашата табла.LAFVIN ESP32 Основен стартер комплет - ICON 7
  5. Почекајте ја пораката „Заврши поставувањето“.Основен стартер комплет LAFVIN ESP32 - Прикачувањето заврши 1

Наоѓање на ESP IP адресата
Откако ќе го поставите кодот, отворете го серискиот монитор со брзина на бауд од 115200.LAFVIN ESP32 Basic Starter Kit - ESP IP адресаПритиснете го копчето ESP32 EN (ресетирање). ESP32 се поврзува со Wi-Fi и ја емитува ESP IP адресата на серискиот монитор. Копирајте ја таа IP адреса, бидејќи ви е потребна за пристап до ESP32 web сервер.Основен стартер комплет LAFVIN ESP32 - web серверПристапување до Web Сервер
За пристап до web сервер, отворете го вашиот прелистувач, залепете ја IP адресата на ESP32 и ќе ја видите следната страница.
Забелешка: Вашиот прелистувач и ESP32 треба да бидат поврзани на истата LAN.LAFVIN ESP32 Основен стартер комплет - Пристап до Web СерверАко го погледнете серискиот монитор, можете да видите што се случува на позадината. ESP добива HTTP барање од нов клиент (во овој случај, вашиот прелистувач).LAFVIN ESP32 Basic Starter Kit - барање HTTPМоже да видите и други информации за барањето HTTP.
Демонстрација
Сега можете да тестирате дали вашиот web серверот работи правилно. Кликнете на копчињата за да ги контролирате LED диодите.LAFVIN ESP32 Основен стартер комплет - позадинаВо исто време, можете да го погледнете серискиот монитор за да видите што се случува во позадина. За прample, кога ќе кликнете на копчето за да го вклучите GPIO 26, ESP32 добива барање на /26/on URL.Основен стартер комплет LAFVIN ESP32 - URLКога ESP32 ќе го прими тоа барање, ја вклучува LED сијаличката прикачена на GPIO 26 и ја ажурира својата состојба на web страница.Основен стартер комплет LAFVIN ESP32 - web страницаКопчето за GPIO 27 работи на сличен начин. Тестирајте дали работи правилно.Основен комплет за стартер LAFVIN ESP32 - работи правилно

Како работи кодот

Во овој дел ќе го разгледаме подетално кодот за да видите како функционира.
Првото нешто што треба да направите е да ја вклучите библиотеката WiFi.LAFVIN ESP32 Basic Starter Kit - WiFi библиотекаКако што споменавме претходно, треба да ги вметнете вашите ssid и лозинка во следните редови во двојните наводници.LAFVIN ESP32 Основен стартер комплет - двојни наводнициПотоа, вие го поставите вашиот web сервер до порта 80.Основен стартер комплет LAFVIN ESP32 - web серверСледната линија создава променлива за складирање на заглавието на барањето HTTP:LAFVIN ESP32 Основен стартер комплет - барање HTTPСледно, креирате помошни променливи за да ја зачувате моменталната состојба на вашите излези. Ако сакате да додадете повеќе излези и да ја зачувате нејзината состојба, треба да креирате повеќе променливи.LAFVIN ESP32 Basic Starter Kit - променливиИсто така, треба да доделите GPIO на секој од вашите излези. Овде користиме GPIO 26 и GPIO 27. Можете да користите кои било други соодветни GPIO.LAFVIN ESP32 Basic Starter Kit - друго погоднопоставување ()
Сега, ајде да одиме во поставувањето(). Прво, започнуваме сериска комуникација со брзина на бауд од 115200 за цели на отстранување грешки.LAFVIN ESP32 Основен стартер комплет - намениВие исто така ги дефинирате вашите GPIO како ИЗЛЕЗ и ги поставувате на LOW.LAFVIN ESP32 Основен стартер комплет - GPIO како излезиСледните редови ја започнуваат врската Wi-Fi со WiFi.begin (ssid, лозинка), почекајте успешно поврзување и испечатете ја ESP IP адресата во Серискиот монитор.LAFVIN ESP32 Основен стартер комплет - серискиОсновен стартер комплет LAFVIN ESP32 - Сериски 1јамка ()
Во loop() програмираме што се случува кога нов клиент воспоставува врска со web сервер.
ESP32 секогаш ги слуша дојдовните клиенти со следнава линија:LAFVIN ESP32 Основен стартер комплет - јамкаКога ќе се прими барање од клиент, ќе ги зачуваме дојдовните податоци. Јамката while што следи ќе работи се додека клиентот остане поврзан. Не препорачуваме менување на следниот дел од кодот освен ако не знаете што точно правите.LAFVIN ESP32 Основен стартер комплет - точноLAFVIN ESP32 Основен стартер комплет - точно 1LAFVIN ESP32 Основен стартер комплет - точно 2Следниот дел од изјавите if и else проверува кое копче е притиснато во вашето web страница, и соодветно ги контролира излезите. Како што видовме претходно, поднесуваме барање за различни URLs во зависност од притиснато копче.LAFVIN ESP32 Basic Starter Kit - копчето е притиснатоLAFVIN ESP32 Basic Starter Kit - копчето е притиснато 1За прampако сте го притиснале копчето GPIO 26 ON, ESP32 добива барање на /26/ON URL (можеме да видиме дека тие информации на заглавието на HTTP на серискиот монитор). Значи, можеме да провериме дали заглавието го содржи изразот GET /26/on. Ако содржи, ја менуваме променливата output26state во ON, а ESP32 ја вклучува ЛЕД-то.
Ова функционира слично и за другите копчиња. Значи, ако сакате да додадете повеќе излези, треба да го измените овој дел од кодот за да ги вклучите.
Прикажување на HTML web страница
Следното нешто што треба да направите е да го креирате web страница. ESP32 ќе испрати одговор до вашиот прелистувач со некој HTML код за да го изгради web страница.
На web страницата се испраќа до клиентот користејќи го овој изразувачки клиент.println(). Треба да внесете што сакате да му испратите на клиентот како аргумент.
Првото нешто што треба да го испратиме е секогаш следната линија, што покажува дека испраќаме HTML.LAFVIN ESP32 Basic Starter Kit - испраќање HTMLПотоа, следната линија го прави web страница одговора во која било web прелистувач.Основен стартер комплет LAFVIN ESP32 - web прелистувачИ следново се користи за да се спречат барањата на фавиконот. – Не треба да се грижите за оваа линија.LAFVIN ESP32 Basic Starter Kit - client.println

Стајлирање на Web Страница

Следно, имаме малку CSS текст за стилизирање на копчињата и на web изглед на страницата.
Го избираме фонтот Helvetica, ја дефинираме содржината што треба да се прикаже како блок и да се порамни во центарот.Основен стартер комплет LAFVIN ESP32 - Стајлирање на Web СтраницаГи стилизираме нашите копчиња со бојата #4CAF50, без раб, текст во бела боја, и со ова полнење: 16px 40px. Ние, исто така, поставивме декорација на текст на none, ја дефиниравме големината на фонтот, маргината и курсорот на покажувач.LAFVIN ESP32 Basic Starter Kit - покажувачГо дефинираме и стилот за второ копче, со сите својства на копчето што ги дефиниравме претходно, но со различна боја. Ова ќе биде стилот на копчето за исклучување.LAFVIN ESP32 Basic Starter Kit - client.println 1

Поставување на Web Првиот наслов на страницата
Во следната линија можете да го поставите првиот наслов на вашиот web страница. Тука имаме „ESP32 Web Сервер“, но можете да го промените овој текст во што сакате.Основен стартер комплет LAFVIN ESP32 - Web Заглавие на страницатаПрикажување на копчињата и соодветната состојба
Потоа, пишувате пасус за прикажување на моменталната состојба на GPIO 26. Како што можете да видите, ја користиме променливата output26State, така што состојбата веднаш се ажурира кога оваа променлива се менува.LAFVIN ESP32 Basic Starter Kit - промени на променливитеПотоа, го прикажуваме копчето за вклучување или исклучување, во зависност од моменталната состојба на GPIO. Ако моменталната состојба на GPIO е исклучена, го прикажуваме копчето ON, ако не, го прикажуваме копчето OFF.LAFVIN ESP32 Basic Starter Kit - прикажете го копчето OFFЈа користиме истата процедура за GPIO 27.
Затворање на врската
Конечно, кога ќе заврши одговорот, ја бришеме променливата за заглавие и ја прекинуваме врската со клиентот со client.stop().LAFVIN ESP32 Основен стартер комплет - затворање на врската

Завиткување

Во ова упатство ви покажавме како да изградите а web сервер со ESP32. Ви покажавме едноставен бившиampшто контролира две LED диоди, но идејата е да ги замените тие LED диоди со реле или кој било друг излез што сакате да го контролирате.

Проект 6 RGB LED Web Сервер

Во овој проект ќе ви покажеме како далечински да контролирате RGB LED со плочка ESP32 користејќи web сервер со избирач на бои.
Проектот завршиview
Пред да започнеме, да видиме како функционира овој проект:LAFVIN ESP32 Basic Starter Kit - Проектот завршиview

  • ESP32 web серверот прикажува избирач на бои.
  • Кога избирате боја, вашиот прелистувач испраќа барање на a URL што ги содржи R, G и B параметрите на избраната боја.
  • Вашиот ESP32 го прима барањето и ја дели вредноста за секој параметар на бојата.
  • Потоа, тој испраќа PWM сигнал со соодветната вредност до GPIO кои го контролираат RGB LED.

Како работат RGB LED диоди?
Во заедничка катодна RGB LED, сите три LED диоди споделуваат негативна врска (катода). Сите вклучени во комплетот се RGB со заедничка катодна.LAFVIN ESP32 Basic Starter Kit - RGB LED диоди работатКако да креирате различни бои?
Со RGB LED, се разбира, можете да произведувате црвено, зелено и сино светло, а со конфигурирање на интензитетот на секоја LED диода, можете да произведувате и други бои.
За прampЗа да произведете чисто сина светлина, ќе ја поставите сината LED на највисок интензитет и зелените и црвените LED диоди на најмал интензитет. За бело светло, ќе ги поставите сите три LED диоди на највисок интензитет.
Мешање бои
За да произведете други бои, можете да ги комбинирате трите бои во различен интензитет. За да го прилагодите интензитетот на секоја LED, можете да користите PWM сигнал.
Бидејќи LED диодите се многу блиску една до друга, нашите очи го гледаат резултатот од комбинацијата на бои, наместо трите бои поединечно.
За да имате идеја како да ги комбинирате боите, погледнете ја следната табела.
Ова е наједноставната табела за мешање на бои, но ви дава идеја како функционира и како да произведувате различни бои.LAFVIN ESP32 Basic Starter Kit - различни боиПотребни делови
За овој проект ви се потребни следните делови:

  • Табла ESP32 DEVKIT V1
  • RGB LED
  • Отпорници од 3 x 220 оми
  • Скокачки жици
  • Даска за леб

ШематскиLAFVIN ESP32 Basic Starter Kit - ШематскиКод
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)

  • Инсталирање на додаток ESP32 во Arduino IDE

Откако ќе го склопите колото, отворете го кодот
Проект_6_RGB_LED_Web_Server.ino во arduino IDE.
Пред да го поставите кодот, не заборавајте да ги вметнете вашите мрежни ингеренции за да може ESP да се поврзе со вашата локална мрежа.LAFVIN ESP32 Basic Starter Kit - локална мрежаКако функционира кодот
Скицата ESP32 ја користи библиотеката WiFi.h.LAFVIN ESP32 Basic Starter Kit - библиотека WiFi.hСледниве линии ги дефинираат променливите низа за да ги задржат параметрите R, G и B од барањето.LAFVIN ESP32 Basic Starter Kit - String redStringСледните четири променливи се користат за декодирање на барањето HTTP подоцна.LAFVIN ESP32 Basic Starter Kit - барање HTTPНаправете три променливи за GPIO кои ќе ги контролираат параметрите на лентата R, G и B. Во овој случај користиме GPIO 13, GPIO 12 и GPIO 14.LAFVIN ESP32 Basic Starter Kit - потребни се GPIOОвие GPIO треба да излезат PWM сигнали, така што прво треба да ги конфигурираме својствата на PWM. Поставете ја фреквенцијата на сигналот PWM на 5000 Hz. Потоа, поврзете PWM канал за секоја бојаLAFVIN ESP32 Basic Starter Kit - секоја бојаИ, конечно, поставете ја резолуцијата на PWM каналите на 8-битниLAFVIN ESP32 Basic Starter Kit - PWM каналиВо поставувањето(), доделете ги својствата на PWM на каналите PWMLAFVIN ESP32 Basic Starter Kit - PWM каналиПрикачете ги PWM каналите на соодветните GPIOLAFVIN ESP32 Основен стартер комплет - соодветните GPIOСледниот дел за код го прикажува избирачот на бои во вашиот web страница и поднесува барање врз основа на бојата што сте ја одбрале.Основен стартер комплет LAFVIN ESP32 - избранLAFVIN ESP32 Basic Starter Kit - client.printlnLAFVIN ESP32 Basic Starter Kit - client.println 1Кога избирате боја, добивате барање со следниов формат.LAFVIN ESP32 Basic Starter Kit - следниов формат

Значи, треба да ја поделиме оваа низа за да ги добиеме параметрите R, G и B. Параметрите се зачувани во променливите redString, greenString и blueString и може да имаат вредности помеѓу 0 и 255.LAFVIN ESP32 Основен стартер комплет - заглавиеLAFVIN ESP32 Основен стартер комплет - заглавие 1За да ја контролирате лентата со ESP32, користете ја функцијата ledcWrite() за да генерирате PWM сигнали со вредностите декодирани од HTTP барање.LAFVIN ESP32 Basic Starter Kit - HTTP барање 1Забелешка: дознајте повеќе за PWM со ESP32: Project 3 ESP32 PWM (аналоген излез)
За да ја контролираме лентата со ESP8266, само треба да користиме
функцијата analogWrite() за генерирање на PWM сигнали со вредностите декодирани од барањето HTPP.
analogWrite(redPin, redString.toInt());
analogWrite(greenPin, greenString.toInt());
analogWrite(bluePin, blueString.toInt())
Бидејќи ги добиваме вредностите во променливата низа, треба да ги претвориме во цели броеви користејќи го методот toInt().
Демонстрација
Откако ќе ги вметнете вашите мрежни акредитиви, изберете ја десната плочка и COM порта и поставете ја шифрата на вашиот ESP32. Референтни чекори за испраќање код.
По поставувањето, отворете го серискиот монитор со брзина на бауд од 115200 и притиснете го копчето ESP Enable/Reset. Треба да ја добиете IP адресата на таблата.LAFVIN ESP32 Basic Starter Kit - истиот LANОтворете го вашиот прелистувач и вметнете ја ESP IP адресата. Сега, користете го избирачот на бои за да изберете боја за RGB LED.
Потоа, треба да го притиснете копчето „Промени боја“ за бојата да стапи на сила.LAFVIN ESP32 Basic Starter Kit - RGB LEDЗа да го исклучите RGB LED, изберете ја црната боја.
Најсилните бои (на врвот на избирачот на бои) се оние кои ќе дадат подобри резултати.LAFVIN ESP32 Basic Starter Kit - подобри резултати

Проект 7 ESP32 реле Web Сервер

Користењето реле со ESP32 е одличен начин за далечинско контролирање на апаратите за домаќинство со наизменична струја. Ова упатство објаснува како да контролирате реле модул со ESP32.
Ќе погледнеме како работи модулот за реле, како да го поврзете релето со ESP32 и да изградите web сервер за далечинско управување со реле.
Воведување на релеи
Релето е прекинувач со електрична енергија и како и секој друг прекинувач, може да се вклучи или исклучи, оставајќи ја струјата да помине или не. Може да се контролира со низок волуменtages, како 3.3V обезбедени од ESP32 GPIO и ни овозможува да контролираме висока јачинаtagе како 12V, 24V или мрежен волtage (230V во Европа и 120V во САД).Основен комплет за стартер LAFVIN ESP32 - Воведување на релеиНа левата страна, има два комплети од три приклучоци за поврзување со висока јачинаtages, и игличките на десната страна (низок волуменtagд) поврзете се со ESP32 GPIO.
Mains Voltagд ВрскиLAFVIN ESP32 Basic Starter Kit - Mains Voltagд ВрскиМодулот за реле прикажан на претходната фотографија има два конектори, секој со три приклучоци: заеднички (COM), нормално затворени (NC) и нормално отворени (NO).

  • COM: поврзете ја струјата што сакате да ја контролирате (главна томtagд)
  • NC (нормално затворено): нормално затворената конфигурација се користи кога сакате релето да биде стандардно затворено. NC се поврзани иглички COM, што значи дека струјата тече освен ако не испратите сигнал од ESP32 до релејниот модул за да се отвори колото и да се запре протокот на струја.
  • NO (Normally Open): нормално отворената конфигурација работи обратно: нема врска помеѓу пиновите NO и COM, така што колото е прекинато освен ако не испратите сигнал од ESP32 за затворање на колото.

Контролни пиновиLAFVIN ESP32 Основен стартер комплет - контролни пиновиНиско-волtage страна има сет од четири пина и сет од три пина. Првиот сет се состои од VCC и GND за напојување на модулот, и влез 1 (IN1) и влез 2 (IN2) за контрола на долниот и горниот реле, соодветно.
Ако вашиот реле модул има само еден канал, ќе имате само еден IN пин. Ако имате четири канали, ќе имате четири IN пинови и така натаму.
Сигналот што го испраќате до пиновите IN, одредува дали релето е активно или не. Релето се активира кога влезот оди под околу 2V. Ова значи дека ќе ги имате следниве сценарија:

  • Нормално затворена конфигурација (NC):
  • ВИСОК сигнал - тече струја
  • LOW сигнал - струјата не тече
  • Нормално отворена конфигурација (НЕ):
  • ВИСОК сигнал - струјата не тече
  • НИСКИ сигнал - тече струја

Треба да користите нормално затворена конфигурација кога струјата треба да тече најчесто, а сакате само повремено да ја прекинувате.
Користете нормално отворена конфигурација кога сакате струјата да тече повремено (на прampле, вклучи алamp повремено).
Избор на напојувањеLAFVIN ESP32 Basic Starter Kit - Избор на напојувањеВториот сет на пинови се состои од иглички GND, VCC и JD-VCC.
Пинот JD-VCC го напојува електромагнетот на релето. Забележете дека модулот има капаче за скокач што ги поврзува пиновите VCC и JD-VCC; онаа прикажана овде е жолта, но вашата може да биде со различна боја.
Со вклучено капачето на скокачот, пиновите VCC и JD-VCC се поврзани. Тоа значи дека релејниот електромагнет директно се напојува од напојувањето на ESP32, така што релејниот модул и колата ESP32 не се физички изолирани едни од други.
Без капачето на скокачот, треба да обезбедите независен извор на енергија за да го напојувате електромагнетот на релето преку иглата JD-VCC. Таа конфигурација физички ги изолира релеите од ESP32 со вградениот оптоспојувач на модулот, кој спречува оштетување на ESP32 во случај на електрични шила.
ШематскиLAFVIN ESP32 Basic Starter Kit - ШематскиПредупредување: Употреба на висок волуменtage напојувањето може да предизвика сериозни повреди.
Затоа, се користат LED диоди од 5 мм наместо високо напојувањеtagсветилки во експериментот. Ако не сте запознаени со електричната мрежа волtagпрашајте некој кој ќе ви помогне. Додека го програмирате ESP или го поврзувате вашето коло, проверете дали сè е исклучено од електричната јачинаtage.LAFVIN ESP32 Basic Starter Kit - мрежен волtageИнсталирање на библиотеката за ESP32
За да се изгради ова web сервер, ние користиме ESPAsyncWebСерверска библиотека и библиотека AsyncTCP.
Инсталирање на ESPAsyncWebСерверска библиотека
Следете ги следните чекори за да го инсталирате ESPAsyncWebСервер библиотека:

  1. Кликнете овде за да ја преземете ESPAsyncWebСерверска библиотека. Треба да имате
    папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба да добиете ESPAsyncWebСервер-главна папка
  3. Преименувајте ја вашата папка од ESPAsyncWebСервер-мајстор до ESPAsyncWebСервер
  4. Преместете ја ESPAsyncWebСерверска папка во папката библиотеки за инсталација на Arduino IDE

Алтернативно, во вашиот Arduino IDE, можете да отидете во Sketch > Include
Библиотека > Додајте .ZIP библиотека… и изберете ја библиотеката што штотуку сте ја преземале.
Инсталирање на библиотеката AsyncTCP за ESP32
На ESPAsyncWebСервер библиотеката бара AsyncTCP библиотека да работи. Следете
следните чекори за инсталирање на таа библиотека:

  1. Кликнете овде за да ја преземете библиотеката AsyncTCP. Треба да имате папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба да ја добиете папката AsyncTCP-master
    1. Преименувајте ја вашата папка од AsyncTCP-master во AsyncTCP
    3. Преместете ја папката AsyncTCP во папката библиотеки за инсталација на Arduino IDE
    4. Конечно, повторно отворете го вашиот Arduino IDE

Алтернативно, во вашиот Arduino IDE, можете да отидете во Sketch > Include
Библиотека > Додајте .ZIP библиотека… и изберете ја библиотеката што штотуку сте ја преземале.
Код
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDE
Откако ќе ги инсталирате потребните библиотеки, отворете го кодот Project_7_ESP32_Relay_Web_Server.ino во arduino IDE.
Пред да го поставите кодот, не заборавајте да ги вметнете вашите мрежни ингеренции за да може ESP да се поврзе со вашата локална мрежа.LAFVIN ESP32 Basic Starter Kit - локална мрежаДемонстрација
Откако ќе ги направите потребните промени, поставете го кодот на вашиот ESP32. Референтни чекори за испраќање код.
Отворете го серискиот монитор со брзина на бауд од 115200 и притиснете го копчето ESP32 EN за да ја добиете неговата IP адреса. Потоа, отворете прелистувач во вашата локална мрежа и напишете ја IP адресата ESP32 за да добиете пристап до web сервер.
Отворете го серискиот монитор со брзина на бауд од 115200 и притиснете го копчето ESP32 EN за да ја добиете неговата IP адреса. Потоа, отворете прелистувач во вашата локална мрежа и напишете ја IP адресата ESP32 за да добиете пристап до web сервер.Основен стартер комплет LAFVIN ESP32 - web серверЗабелешка: Вашиот прелистувач и ESP32 треба да бидат поврзани на истата LAN.
Треба да добиете нешто како што следува со две копчиња како бројот на релеи што сте ги дефинирале во вашиот код.LAFVIN ESP32 Basic Starter Kit - паметен телефонСега, можете да ги користите копчињата за да ги контролирате вашите релеи користејќи го вашиот паметен телефон.LAFVIN ESP32 Основен стартер комплет - паметен телефон 1

Project_8_Output_State_Synchronization_ Web_Сервер

Овој проект покажува како да ги контролирате излезите ESP32 или ESP8266 користејќи a web сервер и физичко копче истовремено. Излезната состојба се ажурира на web страница без разлика дали се менува преку физичко копче или web сервер.
Проектот завршиview
Ајде брзо да погледнеме како функционира проектот.LAFVIN ESP32 Basic Starter Kit - Проектот завршиviewESP32 или ESP8266 е домаќин на a web сервер кој ви овозможува да ја контролирате состојбата на излезот;

  • Тековната излезна состојба се прикажува на web сервер;
  • ESP е поврзан и со физичко копче кое го контролира истиот излез;
  • Ако ја промените излезната состојба користејќи го физичкото копче, нејзината моментална состојба исто така се ажурира на web сервер.

Накратко, овој проект ви овозможува да го контролирате истиот излез користејќи a web сервер и копче истовремено. Секогаш кога се менува излезната состојба, на web серверот е ажуриран.
Потребни делови
Еве список на делови што ви се потребни за да го изградите колото:

  • Табла ESP32 DEVKIT V1
  • LED 5 mm
  • Отпорник од 220 оми
  • Притискање на копчето
  • Отпорник од 10 k Ohm
  • Даска за леб
  • Скокачки жици

ШематскиОсновен стартер комплет LAFVIN ESP32 - Шематски 1Инсталирање на библиотеката за ESP32
За да се изгради ова web сервер, ние користиме ESPAsyncWebСерверска библиотека и библиотека AsyncTCP. (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на ESPAsyncWebСерверска библиотека
Следете ги следните чекори за да го инсталирате ESPAsyncWebСерверска библиотека:

  1. Кликнете овде за да ја преземете ESPAsyncWebСерверска библиотека. Треба да имате
    папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба да добиете ESPAsyncWebСервер-главна папка
  3. Преименувајте ја вашата папка од ESPAsyncWebСервер-мајстор до ESPAsyncWebСервер
  4. Преместете ја ESPAsyncWebСерверска папка во папката библиотеки за инсталација на Arduino IDE
    Алтернативно, во вашиот Arduino IDE, можете да отидете во Sketch > Include
    Библиотека > Додајте .ZIP библиотека… и изберете ја библиотеката што штотуку сте ја преземале.

Инсталирање на библиотеката AsyncTCP за ESP32
ESPAsyncWebСерверската библиотека бара библиотеката AsyncTCP да работи. Следете ги следните чекори за да ја инсталирате таа библиотека:

  1. Кликнете овде за да ја преземете библиотеката AsyncTCP. Треба да имате папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба да ја добиете папката AsyncTCP-master
  3. Преименувајте ја вашата папка од AsyncTCP-master во AsyncTCP
  4. Преместете ја папката AsyncTCP во папката библиотеки за инсталација на Arduino IDE
  5. Конечно, повторно отворете го вашиот Arduino IDE
    Алтернативно, во вашиот Arduino IDE, можете да отидете во Sketch > Include
    Библиотека > Додајте .ZIP библиотека… и изберете ја библиотеката што штотуку сте ја преземале.

Код
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDE
Откако ќе ги инсталирате потребните библиотеки, отворете го кодот
Project_8_Output_State_Synchronization_Web_Server.ino во arduino IDE.
Пред да го поставите кодот, не заборавајте да ги вметнете вашите мрежни ингеренции за да може ESP да се поврзе со вашата локална мрежа.LAFVIN ESP32 Основен стартер комплет - код

Како работи кодот

Состојба на копче и излезна состојба
Променливата ledState ја задржува излезната состојба на LED. За стандардно, кога на web серверот стартува, НИСК е.LAFVIN ESP32 Basic Starter Kit - Code Works

КопчињатаState и lastButtonState се користат за да се открие дали копчето е притиснато или не.LAFVIN ESP32 Basic Starter Kit - беше притиснатоКопче (web сервер)
Не го вклучивме HTML за да го креираме копчето на променливата index_html.
Тоа е затоа што сакаме да можеме да го смениме во зависност од моменталната состојба на ЛЕД која исто така може да се смени со копче.
Значи, создадовме место за копчето %BUTTONPLACEHOLDER% што ќе биде заменето со HTML текст за да го креираме копчето подоцна на кодот (ова се прави во функцијата процесор()).LAFVIN ESP32 Basic Starter Kit - беше притиснато 1процесор ()
Функцијата processor() ги заменува сите локали на HTML текстот со вистинските вредности. Прво, проверува дали текстовите на HTML содржат некој
местенка %BUTTONPLACEHOLDER%.LAFVIN ESP32 Basic Starter Kit - процесорПотоа, повикајте ја функцијата theoutputState() која ја враќа моменталната излезна состојба. Го зачувуваме во променливата outputStateValue.LAFVIN ESP32 Basic Starter Kit - outputStateПосле тоа, користете ја таа вредност за да креирате HTML текст за да го прикажете копчето со вистинската состојба:LAFVIN ESP32 Основен стартер комплет - шифра 4Барање HTTP GET за промена на излезната состојба (JavaScript)
Кога ќе го притиснете копчето, се повикува функцијата toggleCheckbox(). Оваа функција ќе поднесе барање за различни URLs за вклучување или исклучување на ЛЕР.LAFVIN ESP32 Основен стартер комплет - JavaScriptЗа да се вклучи ЛЕР, таа испраќа барање на /update?state=1 URL:LAFVIN ESP32 Basic Starter Kit - елемент.провереноВо спротивно, прави барање на /update?state=0 URL.
HTTP GET барање за ажурирање на државата (JavaScript)
За да ја одржувате состојбата на излезот ажурирана на web сервер, ја повикуваме следната функција која прави ново барање на /state URL секоја секунда.LAFVIN ESP32 Основен почетен комплет - состојба на ажурирањеLAFVIN ESP32 Основен стартер комплет - Ажурирана состојба 1Ракувајте со барања
Потоа, треба да се справиме со она што се случува кога ESP32 или ESP8266 добиваат барања за тие URLs.
Кога ќе се прими барање на root /URL, ја испраќаме страницата HTML како и процесорот.Основен комплет за стартер LAFVIN ESP32 - Ракувајте со барањаLAFVIN ESP32 Основен почетен комплет - Ракувајте со барања 1Следните редови проверуваат дали сте примиле барање за /update?state=1 или /update?state=0 URL и соодветно ја менува ledState.LAFVIN ESP32 Основен стартер комплет - ledStateLAFVIN ESP32 Basic Starter Kit - inputParamКога ќе се прими барање на /state URL, ја испраќаме моменталната излезна состојба:LAFVIN ESP32 Basic Starter Kit - излезна состојбајамка ()
Во јамката(), го отфрламе копчето и ја вклучуваме или исклучуваме ЛЕР во зависност од вредноста на ledState променлива.LAFVIN ESP32 Основен стартер комплет - јамка 1Демонстрација
Поставете го кодот на вашата плочка ESP32. Поставете референтни чекори за кодот.
Потоа, отворете го серискиот монитор со брзина на бауд од 115200. Притиснете го копчето EN/RST за да добиете IP адреса.LAFVIN ESP32 Основен стартер комплет - демонстрацијаОтворете прелистувач на вашата локална мрежа и напишете ја ESP IP адресата. Треба да имате пристап до web сервер како што е прикажано подолу.
Забелешка: Вашиот прелистувач и ESP32 треба да бидат поврзани на истата LAN.LAFVIN ESP32 Basic Starter Kit - прелистувачМожете да го вклучите копчето на web сервер за вклучување на ЛЕР.Основен стартер комплет LAFVIN ESP32 - web 1 серверМожете исто така да ја контролирате истата LED со физичкото копче. Неговата состојба секогаш ќе се ажурира автоматски на web сервер.

Проект 9 ESP32 DHT11 Web Сервер

Во овој проект, ќе научите како да изградите асинхрон ESP32 web сервер со DHT11 кој прикажува температура и влажност со помош на Arduino IDE.
Предуслови
На web серверот ние ќе изградиме ажурирања на читањата автоматски без потреба да се освежува web страница.
Со овој проект ќе научите:

  • Како да читате температура и влажност од сензорите за DHT;
  • Изградете асинхрон web сервер со користење на ESPAsyncWebСерверска библиотека;
  • Ажурирајте ги отчитувањата на сензорот автоматски без потреба од освежување web страница.

Асинхрони Web Сервер
Да се ​​изгради на web серверот што ќе го користиме ESPAsyncWebСерверска библиотека што обезбедува лесен начин да се изгради асинхрон web сервер. Градење на асинхрони web серверот има неколку авансиtagе како што е споменато на страницата на библиотеката GitHub, како што се:

  • „Справувајте со повеќе од една врска во исто време“;
  • „Кога ќе го испратите одговорот, веднаш сте подготвени да се справите со други врски додека серверот се грижи за испраќање на одговорот во позадина“;
  • „Едноставен мотор за обработка на шаблони за ракување со шаблони“;

Потребни делови
За да го завршите ова упатство, потребни ви се следниве делови:

  • Развојна табла ESP32
  • Модул DHT11
  • Даска за леб
  • Скокачки жици

ШематскиОсновен стартер комплет LAFVIN ESP32 - Шематски 2Инсталирање библиотеки
Треба да инсталирате неколку библиотеки за овој проект:

Инсталирање на библиотеката со сензори за DHT
За да читате од сензорот DHT користејќи Arduino IDE, треба да го инсталирате Библиотека со сензори за DHT. Следете ги следните чекори за да ја инсталирате библиотеката.

  1. Кликнете овде за да ја преземете библиотеката со сензори за DHT. Треба да имате папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба да ја добиете папката DHT-sensor-library-master
  3. Преименувајте ја вашата папка од DHT-sensor-library-master во DHT_sensor
  4. Преместете ја папката DHT_sensor во папката библиотеки за инсталација на Arduino IDE
  5. Конечно, повторно отворете го вашиот Arduino IDE

Инсталирање на двигателот на унифициран сензор Adafruit
Исто така, треба да го инсталирате Библиотека за двигател на унифициран сензор Adafruit за работа со сензорот DHT. Следете ги следните чекори за да ја инсталирате библиотеката.

  1. Кликнете овде за да ја преземете библиотеката Adafruit Unified Sensor. Треба да имате папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба да ја добиете папката Adafruit_sensor-master
  3. Преименувајте ја вашата папка од Adafruit_sensor-master во Adafruit_sensor
  4. Преместете ја папката Adafruit_sensor во папката библиотеки за инсталација на Arduino IDE
  5. Конечно, повторно отворете го вашиот Arduino IDE

Инсталирање на ESPAsyncWebСерверска библиотека

Следете ги следните чекори за да го инсталирате ESPAsyncWebСервер библиотека:

  1. Кликнете овде за да ја преземете ESPAsyncWebСерверска библиотека. Треба да имате
    папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба
    добие ESPAsyncWebСервер-главна папка
  3. Преименувајте ја вашата папка од ESPAsyncWebСервер-мајстор до ESPAsyncWebСервер
  4. Преместете ја ESPAsyncWebСерверска папка во папката библиотеки за инсталација на Arduino IDE

Инсталирање на Async TCP библиотека за ESP32
На ESPAsyncWebСервер библиотеката бара AsyncTCP библиотека да работи. Следете ги следните чекори за да ја инсталирате таа библиотека:

  1. Кликнете овде за да ја преземете библиотеката AsyncTCP. Треба да имате папка .zip во папката Преземања
  2. Отпакувајте ја папката .zip и треба да ја добиете папката AsyncTCP-master
  3. Преименувајте ја вашата папка од AsyncTCP-master во AsyncTCP
  4. Преместете ја папката AsyncTCP во папката библиотеки за инсталација на Arduino IDE
  5. Конечно, повторно отворете го вашиот Arduino IDE

Код
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (Ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDE
Откако ќе ги инсталирате потребните библиотеки, отворете го кодот
Project_9_ESP32_DHT11_Web_Server.ino во arduino IDE.
Пред да го поставите кодот, не заборавајте да ги вметнете вашите мрежни ингеренции за да може ESP да се поврзе со вашата локална мрежа.LAFVIN ESP32 Основен стартер комплет - кодКако работи кодот
Во следните параграфи ќе објасниме како функционира кодот. Продолжете да читате ако сакате да дознаете повеќе или скокнете во делот „Демонстрации“ за да го видите конечниот резултат.
Увоз на библиотеки
Прво, увезете ги потребните библиотеки. WiFi, ESPAsyncWebСерверот и ESPAsyncTCP се потребни за да се изгради web сервер. Библиотеките Adafruit_Sensor и DHT се потребни за читање од сензорите DHT11 или DHT22.LAFVIN ESP32 Basic Starter Kit - Увоз на библиотекиОсновен комплет за стартер LAFVIN ESP32 - Како функционира кодотДефиниција на променливи
Дефинирајте го GPIO на кој е поврзан иглата за податоци DHT. Во овој случај, тој е поврзан со GPIO 4.LAFVIN ESP32 Basic Starter Kit - Дефиниција на променливиПотоа, изберете го типот на сензор DHT што го користите. Во нашиот поранешенampЛе, ние го користиме DHT22. Ако користите друг тип, само треба да го откоментирате вашиот сензор и да ги коментирате сите останати.LAFVIN ESP32 Basic Starter Kit - Дефиниција за променливи 1

Инстанцирајте објект DHT со типот и пинот што ги дефиниравме претходно.LAFVIN ESP32 Basic Starter Kit - Дефиниција за променливи 2Направете асинхронизацијаWebОбјект на серверот на портата 80.LAFVIN ESP32 Basic Starter Kit - Дефиниција за променливи 3Прочитајте ги функциите за температура и влажност
Создадовме две функции: едната за читање на температурата Создадовме две функции: едната за читање на температурата (readDHTTemperature()) и другата за читање на влажноста (readDHTHumidity()).LAFVIN ESP32 Основен комплет за стартување - читајDHTHвлажностLAFVIN ESP32 Basic Starter Kit - отчитувања на сензоритеДобивањето читања на сензорот е исто толку едноставно како и користењето Добивањето отчитувања на сензорот е исто толку едноставно како и користењето на методите readTemperature() и readHumidity() на објектот dht.LAFVIN ESP32 Basic Starter Kit - објектИмаме и услов кој враќа две цртички (–) во случај сензорот да не ги добие отчитувањата.LAFVIN ESP32 Основен стартер комплет - читањаЧитањата се враќаат како тип на стринг. За да конвертирате float во стринг, користете ја функцијата String().LAFVIN ESP32 Basic Starter Kit - StringСтандардно, ја читаме температурата во Целзиусови степени. За да ја добиете температурата во Фаренхајтови степени, коментирајте ја температурата во Целзиусови и откажете ја температурата во Фаренхајт, за да го имате следново:LAFVIN ESP32 Основен стартер комплет - ФаренхајтLAFVIN ESP32 Основен почетен комплет - Фаренхајт 1Поставете го кодот
Сега, поставете го кодот на вашиот ESP32. Проверете дали сте ја одбрале вистинската плочка и COM порта. Поставете референтни чекори за кодот.
По поставувањето, отворете го серискиот монитор со брзина на бауд од 115200. Притиснете го копчето за ресетирање ESP32. IP-адресата ESP32 треба да се испечати во серијата монитор.LAFVIN ESP32 Основен стартер комплет - Поставете го кодотДемонстрација
Отворете прелистувач и напишете ја IP адресата ESP32. Вашиот web серверот треба да ги прикаже најновите отчитувања на сензорот.
Забелешка: Вашиот прелистувач и ESP32 треба да бидат поврзани на истата LAN.
Забележете дека отчитувањата за температурата и влажноста се ажурираат автоматски без потреба од освежување web страница.LAFVIN ESP32 Основен стартер комплет - демонстрација 1

Project_10_ESP32_OLED_Display

Овој проект покажува како да се користи 0.96 инчниот SSD1306 OLED дисплеј со ESP32 користејќи Arduino IDE.
Ви претставуваме 0.96 инчен OLED дисплеј
На OLED дисплеј што ќе го користиме во ова упатство е моделот SSD1306: еднобоен дисплеј од 0.96 инчи со 128×64 пиксели како што е прикажано на следната слика.Основен комплет за стартер LAFVIN ESP32 - OLED дисплејOLED дисплејот не бара позадинско осветлување, што резултира со многу убав контраст во темни средини. Дополнително, неговите пиксели трошат енергија само кога се вклучени, така што OLED дисплејот троши помалку енергија во споредба со другите екрани.
Бидејќи OLED дисплејот користи I2C комуникациски протокол, поврзувањето со жици е многу едноставно. Можете да ја користите следната табела како референца.

OLED пин ESP32
Вин 3.3V
ГНД ГНД
SCL ГПИО 22
СДА ГПИО 21

ШематскиLAFVIN ESP32 Basic Starter Kit - ШематскиИнсталирање на SSD1306 OLED библиотека – ESP32
Достапни се неколку библиотеки за контрола на OLED дисплејот со ESP32.
Во ова упатство ќе користиме две библиотеки Adafruit: Библиотека Adafruit_SSD1306 и Библиотека Adafruit_GFX.
Следете ги следните чекори за да ги инсталирате тие библиотеки.

  1. Отворете го вашиот Arduino IDE и одете во Sketch > Include Library > Manage Library. Управникот на библиотеката треба да се отвори.
  2. Внесете „SSD1306“ во полето за пребарување и инсталирајте ја библиотеката SSD1306 од Adafruit.LAFVIN ESP32 Основен комплет за стартер - OLEDLibrary–
  3. Откако ќе ја инсталирате библиотеката SSD1306 од Adafruit, напишете „GFX“ во полето за пребарување и инсталирајте ја библиотеката.LAFVIN ESP32 Basic Starter Kit - библиотека
  4. Откако ќе ги инсталирате библиотеките, рестартирајте го вашиот Arduino IDE.

Код
Откако ќе ги инсталирате потребните библиотеки, отворете го Project_10_ESP32_OLED_Display.ino во arduino IDE. код
Ќе го програмираме ESP32 користејќи Arduino IDE, затоа проверете дали сте го инсталирале додатокот ESP32 пред да продолжите: (ако веќе сте го направиле овој чекор, можете да прескокнете на следниот чекор.)
Инсталирање на додаток ESP32 во Arduino IDEОсновен стартер комплет LAFVIN ESP32 - Код 1Основен стартер комплет LAFVIN ESP32 - Код 2Основен стартер комплет LAFVIN ESP32 - Код 3Како работи кодот
Увоз на библиотеки
Прво, треба да ги увезете потребните библиотеки. Библиотеката Wire за користење на I2C и библиотеките Adafruit за пишување на екранот: Adafruit_GFX и Adafruit_SSD1306.LAFVIN ESP32 Basic Starter Kit - Code Works 1LAFVIN ESP32 Basic Starter Kit - Code Works 2Иницијализирајте го OLED дисплејот
Потоа, ја дефинирате вашата OLED ширина и висина. Во овој ексampние користиме 128×64 OLED дисплеј. Ако користите други големини, можете да го промените тоа во променливите SCREEN_WIDTH и SCREEN_HEIGHT.LAFVIN ESP32 Basic Starter Kit - OLED дисплејПотоа, иницијализирајте објект за прикажување со ширина и висина дефинирани претходно со протоколот за комуникација I2C (&Wire).LAFVIN ESP32 Basic Starter Kit - протокол за комуникацијаПараметарот (-1) значи дека вашиот OLED дисплеј нема пин за RESET. Ако вашиот OLED дисплеј навистина има игла за RESET, тој треба да биде поврзан со GPIO. Во тој случај, треба да го пренесете бројот на GPIO како параметар.
Во поставувањето(), иницијализирајте го серискиот монитор со брзина од 115200 за дебагирање.LAFVIN ESP32 Основен стартер комплет - намениИницијализирајте го OLED дисплејот со методот start() на следниов начин:LAFVIN ESP32 Basic Starter Kit - дисплеј.почетокLAFVIN ESP32 Basic Starter Kit - Serial.printlnОвој фрагмент печати и порака на серискиот монитор, во случај да не можеме да се поврземе на екранот.

LAFVIN ESP32 Basic Starter Kit - Serial.println 1Во случај да користите различен OLED дисплеј, можеби ќе треба да ја промените OLED адресата. Во нашиот случај, адресата е 0x3C.LAFVIN ESP32 Basic Starter Kit - адресаПо иницијализирањето на екранот, додајте задоцнување од две секунди, така што OLED има доволно време да се иницијализира пред да напише текст:LAFVIN ESP32 Основен стартер комплет - доцнењеИсчистете го екранот, поставете ја големината на фонтот, бојата и пишувајте текст
По иницијализирањето на екранот, исчистете го баферот на екранот со методот clearDisplay():LAFVIN ESP32 Basic Starter Kit - дисплеј

Пред да пишувате текст, треба да ја поставите големината на текстот, бојата и каде текстот ќе се прикажува во OLED.
Поставете ја големината на фонтот користејќи го методот setTextSize():LAFVIN ESP32 Основен стартер комплет - дисплеј 1Поставете ја бојата на фонтот со методот setTextColor():
WHITE поставува бел фонт и црна позадина.
Дефинирајте ја позицијата каде што започнува текстот користејќи го методот setCursor(x,y). Во овој случај, го поставуваме текстот да започнува од (0,0) координатите - во горниот лев агол.LAFVIN ESP32 Основен стартер комплет - setTextColor 1Конечно, можете да го испратите текстот на екранот користејќи го методот println(), на следниов начинLAFVIN ESP32 Основен стартер комплет - шифра 5Потоа, треба да го повикате методот display() за да се прикаже текстот на екранот.LAFVIN ESP32 Basic Starter Kit - дисплеј

OLED библиотеката Adafruit обезбедува корисни методи за лесно лизгање текст.

  • startscrollright (0x00, 0x0F): скролувајте текст од лево кон десно
  • startscrollleft(0x00, 0x0F): скролувајте текст од десно кон лево
  • startscrolldiagright(0x00, 0x07): лизгај текст од левиот долен агол до горниот десен агол startscrolldiagleft(0x00, 0x07): скролувај текст од долниот десен агол до левиот горен агол

Поставете го кодот
Сега, поставете ја шифрата на вашиот ESP32. Поставете референтни чекори за кодот.
По поставувањето на кодот, OLED-от ќе прикаже текст за скролување.LAFVIN ESP32 Основен почетен комплет - текст за скролувањеЛого на LAFVIN

Документи / ресурси

Основен стартер комплет LAFVIN ESP32 [pdf] Упатство за употреба
ESP32 Basic Starter Kit, ESP32, Basic Starter Kit, Starter Kit

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *