Sisukord:
- Tarvikud
- Samm: pange see tööle
- Samm: kuidas kood töötab
- Samm: määrake NODEMCU serveriks
- Samm: laadige HTML -fail
- Samm: proovige seda
Video: ESP8266 kasutamine veebiserverina: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Tere, ma kasutan praegu aknaid 10, NodeMCU 1.0 ja siin on kasutatud tarkvara loend ja installijuhendid, mida järgisin:
- Arduino IDE
- Täiendavad tahvlid esp8266 jaoks
- Spiff
Kasutatud raamatukogu:
Veebipistik
Kasutasin NodeMCU -d serverina, et teenida HTML -faili, mille tegin sellest juhendist. Selle faili esitamiseks laadisin faili Spiffsi abil üles nodemcu failisüsteemi. HTML -fail saadab andmed nodemcu -le, kasutades selleks veebipõhiseid pistikupesasid, mida selle jaoks seeriamonitorile printida. Kiire kahesuunaline side serveri ja kliendi veebipistikute kaudu võimaldas seda kaugjuhtimispuldina kasutada. Järgmistes sammudes ei selgita ma, kuidas minu kood töötab
Tarvikud
NodeMCU
Samm: pange see tööle
Siin on sammud, kuidas see toimib
- Laadige alla lisatud fail ja avage fail mousebot.ino
- Minge visandile> kuva visandikaust ja looge uus kaust nimega andmed
- Salvestage selle õpetuse html -fail nimega kausta. Ma nimetasin enda nimeks "Joystick"
- Veenduge, et teie spiff on juba funktsionaalne, minnes tööriistadesse ja nähes esk8266 eskiisandmete üleslaadimist
- Laadige html -fail üles nodemcu, klõpsates "esp8266 eskiisandmete üleslaadimine"
- Pärast faili üleslaadimist laadige nodemcu üles hiirebot.ino fail, avades arduino IDE ja vajutades ctrl U
Samm: kuidas kood töötab
Esiteks kaasame teegid, mida see kood kasutab
// lubamaks ESP8266 ühendada WIFI -ga
#include #include #include // Võimaldab ESP8266 -l toimida serverina #include // võimaldab suhtlemist serveri ja kliendiga (teie ühendatud seadmega) #include #include // Üleslaetud faili avamiseks nodemcu #include
Seadistage esp8266 porti 80 avatud veebiserveriks. Pordid on teed, millest andmed läbi lähevad. Serveripordina saadab see HTML -faili kliendile (sellega ühendatud seadmed).
Lisab veebipesa ühenduse pordi 81 abil, et kuulata kliendi sõnumeid
Veebipesadel on parameeter num, WStype_t, kasulik koormus ja suurus. Number määrab kliendi numbri, kasulik koormus on sõnum, mille ta saadab, suurus on sõnumi pikkus ja WStype_t on erinevate sündmuste jaoks, näiteks
- WStype_DISCONNECTED - kliendi lahtiühendamisel.
- WStype_CONNECTED: - kui klient loob ühenduse
- WStype_TEXT - saadud andmed kliendilt
Sõltuvalt sündmuse tüübist tehakse erinevaid toiminguid ja neid kommenteeritakse siin
void webSocketEvent (uint8_t number, WStype_t tüüp, uint8_t * kasulik koormus, size_t pikkus) {
switch (type) {case WStype_DISCONNECTED: Serial.printf ("[%u] Katkestatud! / n", number); // prindib andmed jadamonitori pausile; juhtum WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (number); // saab kliendi IP -aadressi Serial.printf ("[%u] Ühendatud%d.%d.%d.%d url:%s / n", num, ip [0], ip [1], ip [2], ip [3], kasulik koormus); webSocket.sendTXT (number, "Ühendatud"); // saadab brauseri konsoolile "conencted"} break; case WStype_TEXT: Serial.printf ("[%u] Andmed: %s / n", number, kasulik koormus); // prindib kliendi numbri %u ja stringidena saadud andmed %s / n pausi;}}
Samm: määrake NODEMCU serveriks
määrab SSID ja parooli, mida kasutate sellega hiljem ühenduse loomiseks
const char *ssid = "Proovi";
const char *parool = "12345678";
seadistamisel määrame kindlaks kiiruse, millega meie nodemcu ja arvuti suhtlevad, mis on 115200.
tühine seadistus (tühine) {
Seriaalne algus (115200); Serial.print ("\ n");
seadistage ka tõele, vaadake serila terminali wifi diagnostikaväljundit
Serial.setDebugOutput (tõene);
initsialiseerida failisüsteem
SPIFFS.begin ();
Seadistage nodemcu varem juurdepääsupunktiks ssid -i ja parooli defiendiga ning prindige selle nodemcu ip, millega te varem ühenduse loote. vaikimisi on see 192.168.4.1
Serial.print ("Pöörduspunkti seadistamine …");
WiFi -režiim (WIFI_AP); WiFi.softAP (ssid, parool); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP -aadress:"); Serial.println (myIP);
Initsialiseerige nodemcu veebipistik, mis on pur server
webSocket.begin ();
Helistab funktsiooni webSocketEvent, kui ilmub veebipistiku sündmus.
webSocket.onEvent (webSocketEvent);
Silumiseks printige "WebSocket server start" uuele reale. Selle eesmärk on määrata koodirida, mida nodemcu töötleb
Serial.println ("WebSocket server käivitati.");
kui klient külastab aadressi 192.168.4.1, kutsub ta funktsiooni handleFileRead ja saadab koos sellega parameetriserveri URI, mis antud juhul on meie nodemcu teave. Funktsioon handleFileRead teenib html -faili nodemcu -failisüsteemist
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
kui seda ei leita, kuvatakse see "FileNotFound"
server.send (404, "tekst/tavaline", "FileNotFound");
});
Alustab serverit ja prindib HTTP -serverit.
server.begin (); Serial.println ("HTTP -server käivitati");
Oma tühjusahelas lubame serveril pidevalt käidelda kliendi ja selle veebipistikute suhtlust järgmiselt.
void loop (void) {
server.handleClient (); webSocket.loop ();}
Samm: laadige HTML -fail
me kasutame funktsiooni nimega handleFileRead avamiseks ja html -faili nodemcu failisüsteemist. see tagastab väärtuse boolean, et teha kindlaks, kas see on laaditud või mitte.
Kui klient avab "192.168.4.1/", määrame faili tee "/Joystick.html, meie faili nime andmekaustas
bool handleFileRead (stringi tee) {
Serial.println ("handleFileRead:" + tee); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS. olemas (tee)) {Failifail = SPIFFS.open (tee, "r"); size_t saadetud = server.streamFile (fail, "tekst/html"); file.close (); tagastama tõene; } return false; }
Kontrollige, kas failitee "/Joystick.html" on olemas
if (SPIFFS.exists (path)) {
Kui see on olemas, avage tee selle lugemiseks, mille määrab r. Minge siia rohkem eesmärkidel.
Failifail = SPIFFS.open (tee, "r");
Saadab faili serverisse nagu sisutüübiga "text/html"
size_t saadetud = server.streamFile (fail, "tekst/html");
sulgege fail
file.close ();
funktsioon handleFileRead tagastab tõese
tagastama tõsi;}
kui failiteed pole olemas, tagastab funktsioon handleFileRead väärtuse false
tagastama tõene; }
Samm: proovige seda
Ühendage sõlmMCU -ga ja minge jaotisse "192.168.4.1" ja proovige seda!:)
Soovitan:
Analoogandurite kasutamine koos ESP8266 -ga: 5 sammu
Analoogandurite kasutamine koos ESP8266-ga: analoog-digitaalmuundur (ADC, A/D, A-D või A-to-D) on süsteem, mis muudab analoogsignaali digitaalsignaaliks. A/D muundurid tõlgivad andmetöötluse eesmärgil analoog -elektrisignaale. Tooted vastavad jõudlusele, võimsusele
Garaažiukseavaja tagasisidega, kasutades veebiserverina Esp8266 .: 6 sammu
Garaažiukseavaja tagasisidega, kasutades veebiserverina Esp8266. Tere, ma näitan teile, kuidas teha lihtne viis garaažiukse avamiseks.-ESP8266 on kodeeritud veebiserverina, uks saab olla avatud kõikjal maailmas tagasisidet, teate, kas uks on reaalajas avatud või suletud-lihtne, vaid üks otsetee
WiFi automaatühenduse kasutamine ESP8266/ESP32 tahvlitega: 3 sammu
WiFi automaatühenduse kasutamine koos ESP8266/ESP32 tahvlitega: õpime kasutama teeki AutoConnect, mis võimaldab meil nutitelefoni abil WiFi -pöörduspunktidega ühenduse luua ja neid hallata. Ülaltoodud video juhendab teid protsessis koos vajalike ekraanidega. juurde pääseda, et saada teavet selle kohta
ESP8266-01 4 tihvti kasutamine: 3 sammu
ESP8266-01 nelja tihvti kasutamine: Märkus. See projekt on põhimõtteliselt varasema juhendi laiendus, mis kasutas ainult 2 tihvti. ESP8266-01 GPIO-tihvtide piiratud arv (4) võib tunduda takistuseks tõsine rakendus. Kuid kui tihvte kasutatakse nutikalt, on see
MQTT kasutamine koos Raspberry Pi ja ESP8266/sonoff: 4 sammu
Kuidas kasutada MQTT -d koos Raspberry Pi ja ESP8266/sonoffiga: Tere kõigile! Täna näitan teile, kuidas konfigureerida vaarika pi ja ESP8266 -põhist sonoff wifi releelülitit, et juhtida oma kodumasinaid kõikjal maailmas. sellest juhendatavast, kui olete minu juhiseid hoolikalt järginud