Tartalomjegyzék:
- Kellékek
- 1. lépés: Működjön
- 2. lépés: A kód működése
- 3. lépés: Állítsa be a NODEMCU -t szerverként
- 4. lépés: Töltse be a HTML -fájlt
- 5. lépés: Próbáld ki
Videó: Az ESP8266 használata webszerverként: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Szia! Jelenleg a Windows 10, NodeMCU 1.0 rendszert használom, és itt található az általam használt szoftverek listája és a telepítési útmutatók, amelyeket követtem:
- Arduino IDE
- További táblák az esp8266 készülékhez
- Spiff
Használt könyvtár:
Websocket
A NodeMCU -t kiszolgálóként használtam az oktatóanyagból készített HTML fájl kiszolgálására. Ennek a fájlnak a kiszolgálásához feltöltöttem a fájlt a nodemcu fájlrendszerbe Spiffs használatával. A HTML -fájl adatokat küld a nodemcu -nak websocket segítségével, amelyet a soros monitorra kell nyomtatni. A gyors kétirányú kommunikáció a szerver és az ügyfél websocketjein keresztül lehetővé tette, hogy ezt távirányítóként használják. A következő lépések során nem kell elmagyaráznom, hogyan működik a kódom
Kellékek
NodeMCU
1. lépés: Működjön
Íme a lépések a működéshez
- Töltse le a csatolt fájlt, és nyissa meg a mousebot.ino fájlt
- Lépjen a vázlat> vázlat mappa megjelenítéséhez, és hozzon létre egy új mappát adatokkal
- Mentse el a html fájlt ebből az oktatóanyagból az elnevezett mappába. Az enyémet "joystick" -nak neveztem el
- Győződjön meg arról, hogy a spiff már működik, menjen az eszközökhöz, és tekintse meg az "esp8266 vázlatadatok feltöltését"
- Töltse fel a html fájlt a nodemcu -ba az "esp8266 vázlatadatok feltöltése" gombra kattintva
- A fájl feltöltése után töltse fel a nodemcu -ba az egérbot.ino fájlt az arduino IDE -re és a ctrl U megnyomásával
2. lépés: A kód működése
Először is tartalmazza azokat a könyvtárakat, amelyeket ez a kód használni fog
//, hogy az ESP8266 csatlakozzon a WIFI -hez
#include #include #include // Lehetővé teszi, hogy az ESP8266 kiszolgálóként működjön #include // lehetővé teszi a kommunikációt a szerverrel és az ügyféllel (az Ön csatlakoztatott eszközével) #include #include // A feltöltött fájl megnyitásához a nodemcu -ban #include
Állítsa be az esp8266 -ot webszerverként a 80 -as porton. A portok olyan útvonalak, amelyeken az adatok áthaladnak. Kiszolgálói portként elküldi a HTML -fájlt az ügyfélnek (a hozzá kapcsolódó eszközök).
Hozzáad egy webes aljzat kapcsolatot a 81 -es porton keresztül, hogy figyelje az ügyfél üzeneteit
A websockets paramétere a num, WStype_t, hasznos terhelés és méret. A szám határozza meg az ügyfél számát, a hasznos terhelés az elküldött üzenet, a méret az üzenet hossza, a WStype_t pedig különböző eseményekhez, például
- WStype_DISCONNECTED - az ügyfél leválasztásakor.
- WStype_CONNECTED: - amikor egy ügyfél csatlakozik
- WStype_TEXT - Adatokat kapott az ügyféltől
Az esemény típusától függően különböző műveleteket hajtanak végre, amelyeket itt kommentálnak
void webSocketEvent (uint8_t szám, WStype_t típus, uint8_t * hasznos terhelés, size_t hossz) {
switch (type) {case WStype_DISCONNECTED: Serial.printf ("[%u] Leválasztva! / n", szám); // adatokat nyomtat a soros monitor szünetébe; eset WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (szám); // megkapja a Serial.printf ("[%u] kliens IP -címét ip [2], ip [3], hasznos terhelés); webSocket.sendTXT (szám, "Csatlakoztatva"); // "conencted" -t küld a böngésző konzolra} break; case WStype_TEXT: Serial.printf ("[%u] Adatok: %s / n", szám, hasznos terhelés); // kinyomtatja az ügyfélszámot %u -ban, és a karakterláncként kapott adatokat %s / n szünetben;}}
3. lépés: Állítsa be a NODEMCU -t szerverként
beállítja az SSID -t és a jelszót, amelyekkel később csatlakozhat
const char *ssid = "Próbálja ki";
const char *password = "12345678";
a beállításnál megadjuk azt a sebességet, amellyel a nodemcu és a számítógép kommunikálni fog, ami 115200.
void setup (void) {
Sorozat.kezdet (115200); Serial.print ("\ n");
igaz értékre is lásd a wifi diagnosztikai kimenetet a serila terminálon
Serial.setDebugOutput (igaz);
indítsa el a fájlrendszert
SPIFFS.begin ();
Állítsa be korábban a nodemcu -t hozzáférési pontként az ssid és a jelszó defiend használatával, és kinyomtatja a nodemcu ip -jét, amellyel korábban csatlakozni fog. alapértelmezés szerint 192.168.4.1
Serial.print ("Hozzáférési pont konfigurálása …");
WiFi.mód (WIFI_AP); WiFi.softAP (ssid, jelszó); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP -cím:"); Serial.println (myIP);
Inicializálja a websocketet a nodemcu -n, amely a pur szerver
webSocket.begin ();
Meghívja a webSocketEvent függvényt, amikor websocket esemény történik.
webSocket.onEvent (webSocketEvent);
Hibakereséshez nyomtassa ki a "WebSocket szerver elindult" új sorra. Ez határozza meg a kód sorát, amelyet a nodemcu feldolgoz
Serial.println ("A WebSocket szerver elindult.");
amikor az ügyfél meglátogatja a 192.168.4.1 -et, meghívja a handleFileRead függvényt, és elküldi vele a paraméter szerver URI -t, amely ebben az esetben a nodemcu információnk. A handleFileRead függvény kiszolgálja a html fájlt a nodemcu fájlrendszerből
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
ha nem találja, akkor megjelenik a "FileNotFound"
server.send (404, "text/plain", "FileNotFound");
});
Kezdődik a szerver és a nyomtatási HTTP szerver elindult.
szerver.begin (); Serial.println ("HTTP szerver elindult");
Az üres ciklusunkban lehetővé tesszük, hogy a szerver folyamatosan kezelje az ügyfél és webes aljzatai közötti kommunikációt az alábbiak szerint:
void loop (void) {
server.handleClient (); webSocket.loop ();}
4. lépés: Töltse be a HTML -fájlt
a handleFileRead nevű függvényt fogjuk használni a nyitáshoz és a html fájlt a nodemcu fájlrendszerből. visszaad egy logikai értéket annak megállapítására, hogy betöltött -e vagy sem.
Amikor az ügyfél megnyitja a "192.168.4.1/" fájlt, akkor a fájl elérési útját "/Joystick.html" -re állítjuk, fájlunk nevét az adatmappában
bool handleFileRead (String elérési út) {
Serial.println ("handleFileRead:" + elérési út); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS. létezik (elérési út)) {Fájl fájl = SPIFFS.open (elérési út, "r"); size_t küldött = szerver.streamFile (fájl, "text/html"); file.close (); return true; } return false; }
Ellenőrizze, hogy létezik -e a "/Joystick.html" fájl elérési útja
if (SPIFFS. létezik (elérési út)) {
Ha létezik, nyissa meg az elérési utat az "r" által meghatározott céllal. Menjen ide több célból.
Fájlfájl = SPIFFS.open (elérési út, "r");
Elküldi a fájlt a szerverre, mint "text/html" tartalomtípussal
size_t küldött = szerver.streamFile (fájl, "text/html");
zárja be a fájlt
file.close ();
a handleFileRead függvény igaz értéket ad vissza
igaz igaz;}
ha a fájl elérési útja nem létezik, a handleFileRead függvény hamis értéket ad vissza
return true; }
5. lépés: Próbáld ki
Csatlakozzon a nodeMCU -hoz, és menjen a "192.168.4.1" oldalra, és próbálja ki!:)
Ajánlott:
Analóg érzékelők használata ESP8266 -tal: 5 lépés
Analóg érzékelők használata ESP8266 segítségével: Az analóg-digitális átalakító (ADC, A/D, A – D vagy A-D) olyan rendszer, amely analóg jelet alakít át digitális jellé. Az A/D konverterek analóg elektromos jeleket fordítanak adatfeldolgozási célokra. A teljesítménynek, teljesítménynek megfelelő termékekkel
A WiFi AutoConnect használata ESP8266/ESP32 táblákkal: 3 lépés
A WiFi AutoConnect használata az ESP8266/ESP32 táblákkal: Megtanuljuk, hogyan kell használni az AutoConnect könyvtárat, amely lehetővé teszi, hogy okostelefonnal csatlakozzunk és kezeljük a WiFi hozzáférési pontokat. A fenti videó végigvezeti Önt a folyamaton, valamint a különböző képernyőkön, amelyekre szüksége van hozzáférni, hogy többet megtudjon a
IoT intelligens óra pontmátrix Wemos ESP8266 használata - ESP mátrix: 12 lépés (képekkel)
IoT intelligens óra pontmátrix Wemos ESP8266 használata-ESP mátrix: Készítse el saját IoT intelligens óráját, amely képes: Kijelzőóra gyönyörű animációs ikonnal Kijelző Emlékeztető-1-Emlékeztető-5 Megjelenítés Naptár Megjelenítés Muszlim imaidők Kijelző Időjárási információk Kijelző Hírek Kijelző Tanácsok Kijelző Bitcoin árfolyam kijelző
Otthonautomatizálás ESP8266 WiFi -vel Blynk használata nélkül!: 24 lépés (képekkel)
Otthonautomatizálás az ESP8266 WiFi segítségével, Blynk használata nélkül!: Először is szeretném megköszönni mindenkinek, hogy ezzel az ÚTMUTATÓVAL nyertem meg az Automation Contest 2016 győztesét. Tehát, ahogy megígértem, itt az útmutató az otthoni készülékek ESP8266 WiFi modullal történő vezérléséhez
I2C / IIC LCD kijelző - SPI LCD használata az I2C LCD kijelzőhöz Az SPI to IIC modul használata Arduino -val: 5 lépés
I2C / IIC LCD kijelző | Használjon SPI LCD -t az I2C LCD -kijelzőhöz Az SPI -IIC modul használata Arduino -val: Sziasztok, mivel egy normál SPI LCD 1602 -nek túl sok vezetékét kell csatlakoztatni, ezért nagyon nehéz összekapcsolni az arduino -val, de a piacon elérhető egy modul konvertálja az SPI kijelzőt IIC kijelzővé, így csak 4 vezetéket kell csatlakoztatnia