Satura rādītājs:

Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32: 10 soļi
Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32: 10 soļi

Video: Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32: 10 soļi

Video: Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32: 10 soļi
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, Novembris
Anonim
Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32
Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32

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

Ķēdes veidošana
Ķēdes veidošana

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

SPIFFS sāknēšanas ielādētāja instalēšana operētājsistēmā Mac OS
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

Nosakiet ESP32 tīmekļa servera IP adresi
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

Vietējā tīmekļa servera pārbaude
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

Piekļuve vietējam tīmekļa serverim no jebkuras vietas pasaulē, izmantojot Ngrok
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: