Satura rādītājs:
- Piegādes
- 1. darbība: ķēdes izveide
- 2. darbība. Ātrs SPIFFS failu sistēmas pārskats
- 3. darbība: SPIFFS sāknēšanas ielādētāja instalēšana operētājsistēmā Mac OS
- 4. darbība: bibliotēku instalēšana
- 5. darbība: izveidojiet failu Index.html un Style.css ar šādu saturu
- 6. darbība: Arduino kods
- 7. darbība: augšupielādējiet Arduino kodu un failus, izmantojot SPIFFS ielādētāju
- 8. darbība: nosakiet ESP32 tīmekļa servera IP adresi
- 9. darbība. Vietējā tīmekļa servera pārbaude
- 10. darbība. Piekļuve vietējam tīmekļa serverim no jebkuras vietas pasaulē, izmantojot Ngrok
Video: Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32: 10 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Projekta pārskats
Šajā piemērā mēs izdomāsim, kā izveidot uz ESP32 balstītu tīmekļa serveri, lai kontrolētu LED stāvokli, kas ir pieejams no jebkuras vietas pasaulē. Šim projektam jums būs nepieciešams Mac dators, taču jūs varat palaist šo programmatūru pat lētā un mazjaudas datorā, piemēram, Raspberry Pi.
ESP32 sagatavošana ar Arduino IDE
Lai sāktu programmēt ESP32, izmantojot Arduino IDE un Arduino programmēšanas valodu, jums būs nepieciešams īpašs papildinājums. Lasiet par to, kā sagatavot Arduino IDE ESP32 operētājsistēmā Mac OS, izmantojot šo saiti.
Piegādes
Šai apmācībai jums būs nepieciešami šādi priekšmeti:
- ESP32 izstrādes dēlis 5 mm
- LED rezistors 220 omi
- 16x2 LCD displejs ar I2C moduli
- Maizes dēlis
- Jumper vadi
- Mikro USB kabelis
1. darbība: ķēdes izveide
Veiciet savienojumus, kā parādīts zemāk esošajā shematiskajā diagrammā
Sāciet, pievienojot 3V3 barošanas sprieguma izeju uz ESP32 un GND maizes dēļa. Savienojiet LED caur rezistoru ar ESP32, izmantojot GPIO pin 23 kā digitālo izejas tapu. Pēc tam pievienojiet 16x2 LCD displeja SDA tapu pie GPIO pin 21 un SCL ar GPIO pin 22.
2. darbība. Ātrs SPIFFS failu sistēmas pārskats
SPIFFS apzīmē “Serial Peripheral Interface Flash File System”, ti, zibatmiņas failu sistēma, kas pārsūta datus, izmantojot SPI. Attiecīgi SPIFFS ir vienkāršota failu sistēma, kas paredzēta mikrokontrolleriem ar zibatmiņas mikroshēmām, kas pārraida datus, izmantojot SPI kopni (piemēram, ESP32 zibatmiņu).
SPIFFS ir visnoderīgākais lietošanai kopā ar ESP32 šādās situācijās:
- Failu izveide iestatījumu saglabāšanai
- Pastāvīga datu glabāšana.
- Failu izveide neliela datu apjoma glabāšanai (tā vietā neizmantojot microSD karti).
- HTML un CSS failu glabāšana tīmekļa servera izveidei.
3. darbība: SPIFFS sāknēšanas ielādētāja instalēšana operētājsistēmā Mac OS
Jūs varat izveidot, saglabāt un rakstīt datus failos, kas saglabāti failu sistēmā ESP32, tieši izmantojot spraudni Arduino IDE.
Vispirms pārliecinieties, vai jums ir instalēta jaunākā Arduino IDE versija, un pēc tam rīkojieties šādi:
- Atveriet šo saiti un lejupielādējiet arhīvu “ESP32FS-1.0.zip”
- Dodieties uz direktoriju Arduino IDE, kas atrodas mapē Dokumenti.
- Izveidojiet rīku mapi, ja tās nav. Rīku direktorijā izveidojiet citu mapi ESP32FS. ESP32FS iekšpusē izveidojiet vēl vienu, ko sauc par rīku.
- Izsaiņojiet 1. darbībā lejupielādēto ZIP arhīvu rīku mapē.
- Restartējiet Arduino IDE.
- Lai pārbaudītu, vai spraudnis ir veiksmīgi instalēts, atveriet Arduino IDE un noklikšķiniet uz “Rīki” un pārbaudiet, vai šajā izvēlnē ir vienums “ESP32 skiču datu augšupielāde”.
4. darbība: bibliotēku instalēšana
ESPAsyncWebServer un AsyncTCP bibliotēkas ļauj izveidot tīmekļa serveri, izmantojot failus no ESP32 failu sistēmas. Lai iegūtu papildinformāciju par šīm bibliotēkām, pārbaudiet šo saiti.
Instalējiet bibliotēku ESPAsyncWebServer
- Noklikšķiniet šeit, lai lejupielādētu bibliotēkas ZIP arhīvu.
- Izpakojiet šo arhīvu. Jums vajadzētu iegūt mapi ESPAsyncWebServer-master.
- Pārdēvējiet to par "ESPAsyncWebServer".
Instalējiet AsyncTCP bibliotēku
- Noklikšķiniet šeit, lai lejupielādētu bibliotēkas ZIP arhīvu.
- Izpakojiet šo arhīvu. Jums vajadzētu iegūt mapi AsyncTCP-master.
- Pārdēvējiet to par “AsyncTCP”.
Pārvietojiet mapes ESPAsyncWebServer un AsyncTCP uz bibliotēku mapi, kas atrodas direktorijā Dokumenti.
Visbeidzot, restartējiet Arduino IDE.
5. darbība: izveidojiet failu Index.html un Style.css ar šādu saturu
Pārslēgšanas pogas HTML/CSS veidne tika ņemta no šāda avota.
6. darbība: Arduino kods
Galvenokārt kods tika balstīts uz Arduino kodu, kas tika ņemts no ESP32 tīmekļa servera, izmantojot SPIFFS, un Kā lietot I2C LCD ar ESP32 Arduino IDE.
7. darbība: augšupielādējiet Arduino kodu un failus, izmantojot SPIFFS ielādētāju
- Atveriet Arduino koda skiču mapi.
- Šajā mapē izveidojiet jaunu mapi ar nosaukumu “dati”.
- Datu mapē ir jāievieto index.html un style.css.
- Augšupielādējiet Arduino kodu
- Pēc tam, lai augšupielādētu failus, noklikšķiniet uz Arduino IDE sadaļā Rīki> ESP32 skiču datu augšupielāde
8. darbība: nosakiet ESP32 tīmekļa servera IP adresi
To var atrast divos veidos.
- Sērijas monitors Arduino IDE (Rīki> Seriālais monitors)
- Uz LCD displeja
9. darbība. Vietējā tīmekļa servera pārbaude
Pēc tam atveriet izvēlēto tīmekļa pārlūkprogrammu un adreses joslā ielīmējiet šādu IP adresi. Jums vajadzētu iegūt izvadi, kas līdzīgs zemāk redzamajam ekrānuzņēmumam.
10. darbība. Piekļuve vietējam tīmekļa serverim no jebkuras vietas pasaulē, izmantojot Ngrok
Ngrok ir platforma, kas ļauj no ārējā interneta organizēt attālu piekļuvi tīmekļa serverim vai kādam citam pakalpojumam, kas darbojas jūsu datorā. Piekļuve tiek organizēta caur drošu tuneli, kas izveidots ngrok sākumā.
- Sekojiet šai saitei un reģistrējieties.
- Pēc konta izveides piesakieties un dodieties uz cilni "Autentifikācija". Nokopējiet rindu no lauka “Jūsu tuneļa autostāvvieta”.
- Navigācijas joslā noklikšķiniet uz cilnes “Lejupielādēt”. Atlasiet ngrok versiju, kas atbilst jūsu OS, un lejupielādējiet to.
- Izsaiņojiet lejupielādēto mapi un palaidiet komandrindu.
- Pievienojiet savu kontu, ievadot šādu komandu
./ngrok authtoken
Sāciet HTTP tuneli 80. portā
./ngrok http Your_IP_Address: 80
Ja viss tika izdarīts pareizi, tuneļa statusam vajadzētu mainīties uz “tiešsaistē”, un slejā “Pārsūtīšana” jāparādās novirzīšanas saitei. Ievadot šo saiti savā pārlūkprogrammā, jūs varat piekļūt tīmekļa serverim no jebkuras vietas pasaulē.
Ieteicams:
Arduino Nano Baised IR kontrolēta RGB gaismas diode: 5 soļi
Arduino Nano Baised IR kontrolēta RGB LED: šajā mazajā projektā es vēlos jums parādīt, kā es uzbūvēju uz Arduino balstītu RGB LED, kuru kontrolē ar IR tālvadības pulti un kuru darbina ar USB kabeli
Programmējams policijas gaismas diode, izmantojot STM8 [72 gaismas diodes]: 9 soļi
Programmējams policijas LED mirgojošais signāls, izmantojot STM8 [72 gaismas diodes]: STM8S001J3 ir 8 bitu mikrokontrolleris, kas piedāvā 8 KB Flash programmas atmiņu, kā arī integrētu patiesu datu EEPROM. STM8S mikrokontrolleru saimē to sauc par zema blīvuma ierīci. Šis MCU tika piedāvāts nelielā SO8N iepakojumā
ESP 8266 Nodemcu Ws 2812 uz neopikseliem balstīta LED MOOD lampa, kas kontrolēta, izmantojot tīmekļa serveri: 6 soļi
ESP 8266 Nodemcu Ws 2812 uz neopikseliem balstīta LED MOOD lampa, kas tiek kontrolēta, izmantojot tīmekļa serveri: Šajā projektā mēs izgatavosim MOOD lampu no nodemcu & neopixel un kuru var kontrolēt jebkura pārlūkprogramma, izmantojot vietējo tīmekļa serveri
Ar internetu vadāma gaismas diode, izmantojot NodeMCU: 6 soļi
Ar internetu kontrolēta gaismas diode, izmantojot NodeMCU: lietu internets (IoT) ir savstarpēji saistītu skaitļošanas ierīču, mehānisku un digitālu mašīnu, objektu, dzīvnieku vai cilvēku sistēma, kas tiek nodrošināta ar unikāliem identifikatoriem un iespēju pārsūtīt datus tīklā, neprasot cilvēku
Pulkstenis, kura pamatā ir ESP32: 4 soļi
Pulkstenis uz ESP32 bāzes: apmācība, kā izveidot pulksteni, kura pamatā ir esp32 ar iebūvētu OLED displeju, ar skārienjūtīgu pogu, bez citām detaļām, nav nepieciešama elektroinstalācija/lodēšana