Turinys:

Internetu valdomas šviesos diodas naudojant ESP32 pagrįstą žiniatinklio serverį: 10 žingsnių
Internetu valdomas šviesos diodas naudojant ESP32 pagrįstą žiniatinklio serverį: 10 žingsnių

Video: Internetu valdomas šviesos diodas naudojant ESP32 pagrįstą žiniatinklio serverį: 10 žingsnių

Video: Internetu valdomas šviesos diodas naudojant ESP32 pagrįstą žiniatinklio serverį: 10 žingsnių
Video: Как отслеживать и контролировать ESP32 из любой точки мира с помощью RemoteXY IoT Cloud 2024, Lapkritis
Anonim
Internetu valdomas šviesos diodas naudojant ESP32 pagrįstą žiniatinklio serverį
Internetu valdomas šviesos diodas naudojant ESP32 pagrįstą žiniatinklio serverį

Projekto apžvalga

Šiame pavyzdyje mes išsiaiškinsime, kaip sukurti ESP32 pagrįstą žiniatinklio serverį, kad būtų galima valdyti šviesos diodų būseną, kuri yra prieinama iš bet kurios pasaulio vietos. Šiam projektui jums reikės „Mac“kompiuterio, tačiau šią programinę įrangą galite paleisti net nebrangiame ir mažai energijos naudojančiame kompiuteryje, pvz., „Raspberry Pi“.

ESP32 paruošimas naudojant „Arduino IDE“

Norėdami pradėti programuoti ESP32 naudodami „Arduino IDE“ir „Arduino“programavimo kalbą, jums reikės specialaus priedo. Skaitykite apie tai, kaip paruošti „Arduino IDE“ESP32 „Mac OS“, naudodami šią nuorodą.

Prekės

Šiai pamokai jums reikės šių elementų:

  • ESP32 kūrimo plokštė 5 mm
  • LED rezistorius 220 omų
  • 16x2 LCD ekranas su I2C moduliu
  • Bandomoji Lenta
  • Jumperio laidai
  • Mikro USB kabelis

1 žingsnis: sukurkite grandinę

Grandinės kūrimas
Grandinės kūrimas

Prijunkite, kaip parodyta žemiau esančioje schemoje

Pradėkite prijungdami 3V3 maitinimo įtampos išvestį ESP32 ir GND prie duonos plokštės. Prijunkite šviesos diodą per rezistorių prie ESP32 naudodami GPIO kaištį 23 kaip skaitmeninį išvesties kaištį. Po to prijunkite 16x2 LCD ekrano SDA kaištį prie GPIO kaiščio 21, o SCL prie GPIO kaiščio 22.

2 žingsnis: Greita SPIFFS failų sistemos apžvalga

SPIFFS reiškia „Serial Peripheral Interface Flash File System“, tai yra „flash“atminties failų sistema, perduodanti duomenis per SPI. Atitinkamai, SPIFFS yra supaprastinta failų sistema, skirta mikrovaldikliams su „flash“mikroschemomis, kurios perduoda duomenis per SPI magistralę (pvz., ESP32 „flash“atmintį).

SPIFFS yra naudingiausias naudoti su ESP32 šiose situacijose:

  • Failų kūrimas nustatymams saugoti
  • Nuolatinis duomenų saugojimas.
  • Failų kūrimas nedideliam duomenų kiekiui saugoti (užuot tam nenaudojus „microSD“kortelės).
  • HTML ir CSS failų saugojimas žiniatinklio serveriui sukurti.

3 veiksmas: „SPIFFS Bootloader“diegimas „Mac OS“

„SPIFFS Bootloader“diegimas „Mac OS“
„SPIFFS Bootloader“diegimas „Mac OS“

Galite kurti, išsaugoti ir įrašyti duomenis į failus, saugomus ESP32 failų sistemoje, tiesiogiai naudodami „Arduino IDE“papildinį.

Pirmiausia įsitikinkite, kad įdiegta naujausia „Arduino IDE“versija, tada atlikite šiuos veiksmus:

  • Atidarykite šią nuorodą ir atsisiųskite archyvą „ESP32FS-1.0.zip“
  • Eikite į „Arduino IDE“katalogą, esantį aplanke „Dokumentai“.
  • Sukurkite įrankių aplanką, jei jo nėra. Įrankių katalogo viduje sukurkite kitą aplanką ESP32FS. ESP32FS viduje sukurkite kitą, vadinamą įrankiu.
  • Išpakuokite 1 veiksme atsisiųstą ZIP archyvą į įrankių aplanką.
  • Iš naujo paleiskite „Arduino IDE“.
  • Norėdami patikrinti, ar papildinys buvo sėkmingai įdiegtas, atidarykite „Arduino IDE“, spustelėkite „Įrankiai“ir patikrinkite, ar šiame meniu yra elementas „ESP32 eskizo duomenų įkėlimas“.

4 žingsnis: bibliotekų diegimas

ESPAsyncWebServer ir AsyncTCP bibliotekos leidžia jums sukurti žiniatinklio serverį naudojant failus iš ESP32 failų sistemos. Norėdami gauti daugiau informacijos apie šias bibliotekas, patikrinkite šią nuorodą.

Įdiekite ESPAsyncWebServer biblioteką

  • Spustelėkite čia, kad atsisiųstumėte bibliotekos ZIP archyvą.
  • Išpakuokite šį archyvą. Turėtumėte gauti aplanką ESPAsyncWebServer-master.
  • Pervardykite jį į „ESPAsyncWebServer“.

Įdiekite „AsyncTCP“biblioteką

  • Spustelėkite čia, kad atsisiųstumėte bibliotekos ZIP archyvą.
  • Išpakuokite šį archyvą. Turėtumėte gauti aplanką „AsyncTCP-master“.
  • Pervardykite jį į „AsyncTCP“.

Perkelkite aplankus ESPAsyncWebServer ir AsyncTCP į bibliotekų aplanką, esantį dokumentų kataloge.

Galiausiai iš naujo paleiskite „Arduino IDE“.

5 veiksmas: sukurkite „Index.html“ir „Style.css“failus su šiuo turiniu

Perjungimo mygtuko HTML/CSS šablonas buvo paimtas iš šio šaltinio.

6 veiksmas: „Arduino“kodas

Iš esmės kodas buvo pagrįstas „Arduino“kodu, kuris buvo paimtas iš ESP32 žiniatinklio serverio naudojant SPIFFS ir kaip naudoti „I2C LCD“su ESP32 „Arduino IDE“.

7 veiksmas: įkelkite „Arduino“kodą ir failus naudodami „SPIFFS Loader“

  • Atidarykite „Arduino“kodo eskizų aplanką.
  • Šio aplanko viduje sukurkite naują aplanką pavadinimu „data“.
  • Duomenų aplanke turite įdėti index.html ir style.css.
  • Įkelkite „Arduino“kodą
  • Tada, norėdami įkelti failus, spustelėkite „Arduino IDE“, esantį Įrankiai> ESP32 eskizo duomenų įkėlimas

8 veiksmas: nustatykite ESP32 žiniatinklio serverio IP adresą

Nustatykite ESP32 žiniatinklio serverio IP adresą
Nustatykite ESP32 žiniatinklio serverio IP adresą

Tai galima rasti dviem būdais.

  • „Arduino IDE“serijos monitorius (Įrankiai> Serijinis monitorius)
  • LCD ekrane

9 veiksmas: vietinio žiniatinklio serverio testavimas

Vietinio žiniatinklio serverio testavimas
Vietinio žiniatinklio serverio testavimas

Tada atidarykite pasirinktą žiniatinklio naršyklę ir įklijuokite šį IP adresą į adreso juostą. Turėtumėte gauti išvestį, panašią į žemiau pateiktą ekrano kopiją.

10 veiksmas: prieiga prie vietinio žiniatinklio serverio iš bet kurios pasaulio vietos naudojant „Ngrok“

Prieiga prie vietinio žiniatinklio serverio iš bet kurios pasaulio vietos naudojant „Ngrok“
Prieiga prie vietinio žiniatinklio serverio iš bet kurios pasaulio vietos naudojant „Ngrok“

„Ngrok“yra platforma, leidžianti organizuoti nuotolinę prieigą prie žiniatinklio serverio ar kitos paslaugos, veikiančios jūsų kompiuteryje iš išorinio interneto. Prieiga organizuojama per saugų tunelį, sukurtą ngrok pradžioje.

  • Sekite šią nuorodą ir užsiregistruokite.
  • Sukūrę paskyrą, prisijunkite ir eikite į skirtuką „Autentifikuoti“. Nukopijuokite eilutę iš lauko „Jūsų tunelio autostopas“.
  • Naršymo juostoje spustelėkite skirtuką „Atsisiųsti“. Pasirinkite jūsų OS atitinkančią „ngrok“versiją ir atsisiųskite ją.
  • Išpakuokite atsisiųstą aplanką ir paleiskite komandų eilutę.
  • Prijunkite paskyrą įvesdami šią komandą

./ngrok authtoken

Paleiskite HTTP tunelį 80 prievade

./ngrok http Jūsų_IP_Adresas: 80

Jei viskas buvo padaryta teisingai, tunelio būsena turėtų pasikeisti į „online“, o stulpelyje „Persiuntimas“turėtų būti rodoma peradresavimo nuoroda. Įvedę šią nuorodą į savo naršyklę, galite pasiekti žiniatinklio serverį iš bet kurios pasaulio vietos.

Rekomenduojamas: