Kazalo:
- Zaloge
- 1. korak: Naj deluje
- 2. korak: Kako deluje koda
- 3. korak: NODEMCU nastavite kot strežnik
- 4. korak: Naložite datoteko HTML
- 5. korak: Poskusite
Video: Kako uporabljati ESP8266 kot spletni strežnik: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Pozdravljeni, trenutno uporabljam Windows 10, NodeMCU 1.0 in tukaj je seznam programske opreme, ki sem jo uporabil, in navodila za namestitev, ki sem jih upošteval:
- Arduino IDE
- Dodatne plošče za esp8266
- Spiff
Uporabljena knjižnica:
Websocket
NodeMCU sem uporabil kot strežnik za strežbo datotek HTML, ki sem jih naredil iz te vadnice. Za serviranje te datoteke sem jo s Spiffsom naložil v datotečni sistem nodemcu. Datoteka HTML pošlje podatke v nodemcu prek spletnih vtičnic, ki jih je treba natisniti na serijski monitor. Hitra dvosmerna komunikacija prek spletnih vtičnic strežnika in odjemalca je omogočila to uporabo kot daljinski upravljalnik. V naslednjih korakih ne bom razlagal, kako deluje moja koda
Zaloge
NodeMCU
1. korak: Naj deluje
Tukaj so koraki, kako deluje
- Prenesite priloženo datoteko in odprite datoteko mousebot.ino
- Pojdite na skico> pokaži mapo skice in ustvarite novo mapo z imenom data
- Shranite datoteko html iz te vadnice v imenovano mapo. Mojega sem poimenoval "Joystick"
- Prepričajte se, da je vaš spiff že funkcionalen, tako da odprete orodja in si ogledate »nalaganje podatkov skice esp8266«
- Naložite datoteko html v nodemcu s klikom na "esp8266 nalaganje podatkov skice"
- Po nalaganju datoteke naložite datoteko mousebot.ino v nodemcu tako, da se pomaknete do arduino IDE in pritisnete ctrl U
2. korak: Kako deluje koda
Najprej vključimo knjižnice, ki jih bo uporabljala ta koda
// omogočimo ESP8266 povezavo z WIFI
#include #include #include // Omogoča ESP8266, da deluje kot strežnik #include // omogoča komunikacijo s strežnikom in odjemalcem (vašo povezano napravo) #include #include // Za odpiranje uplitane datoteke na vozlišču #include
Nastavite esp8266 kot spletni strežnik, odprt na vratih 80. Vrata so poti, skozi katere bodo prehajali podatki. Kot vrata strežnika bo odjemalcu poslala datoteko HTML (z njo povezane naprave).
Doda povezavo spletnega vtičnice z vrati 81 za poslušanje sporočil odjemalca
Spletni vtičnice imajo parameter num, WStype_t, koristno obremenitev in velikost. Število določa številko odjemalca, koristna obremenitev je sporočilo, ki ga pošlje, velikost je dolžina sporočila, WStype_t pa za različne dogodke, kot so
- WStype_DISCONNECTED - o odklopu odjemalca.
- WStype_CONNECTED: - ko se odjemalec poveže
- WStype_TEXT - Prejeti podatki od odjemalca
Odvisno od vrste dogodka se izvedejo različna dejanja in jih tukaj komentiramo
void webSocketEvent (uint8_t num, tip WStype_t, uint8_t * koristna obremenitev, size_t dolžina) {
stikalo (tip) {case WStype_DISCONNECTED: Serial.printf ("[%u] Odklopljen! / n", num); // natisne podatke na premor serijskega monitorja; primer WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // dobi IP odjemalca Serial.printf ("[%u] Povezano s%d.%d.%d.%d.%d url:%s / n", num, ip [0], ip [1], ip [2], ip [3], koristna obremenitev); webSocket.sendTXT (num, "Connected"); // pošilja "conencted" na konzolo brskalnika} break; primer WStype_TEXT: Serial.printf ("[%u] Podatki: %s / n", število, koristna obremenitev); // natisne številko odjemalca v %u in podatke, prejete kot nize v %s / n prekinitvi;}}
3. korak: NODEMCU nastavite kot strežnik
nastavi ssid in geslo, s katerima se boste pozneje povezali
const char *ssid = "Poskusi";
const char *geslo = "12345678";
pri nastavitvi določimo hitrost, s katero bosta nodemcu in pc komunicirala, to je 115200.
void setup (void) {
Serial.begin (115200); Serial.print ("\ n");
nastavljeno na true, si oglejte diagnostični izhod wifi na terminalu serila
Serial.setDebugOutput (true);
inicializirajte datotečni sistem
SPIFFS.begin ();
Nodemcu nastavite kot dostopno točko s ssidom in geslom, ki je bila definirana prej, in natisne ip nodemcuja, s katerim se boste prej povezali. privzeto je 192.168.4.1
Serial.print ("Konfiguriranje dostopne točke …");
WiFi.mode (WIFI_AP); WiFi.softAP (ssid, geslo); IP -naslov myIP = WiFi.softAPIP (); Serial.print ("IP naslov AP:"); Serial.println (myIP);
Inicializirajte websocket na nodemcu, ki je pur strežnik
webSocket.begin ();
Pokliče funkcijo webSocketEvent, ko pride do dogodka websocket.
webSocket.onEvent (webSocketEvent);
Za odpravljanje napak v novo vrstico natisnite "WebSocket server started". To je za določitev vrstice kode, ki jo nodemcu obdeluje
Serial.println ("Zagnan strežnik WebSocket.");
ko odjemalec obišče 192.168.4.1, bo poklical funkcijo handleFileRead in s tem poslal URI strežnika parametrov, ki je v tem primeru naša informacija o nodemcu. Funkcija handleFileRead bo služila datoteki html iz datotečnega sistema nodemcu
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
če ga ni mogoče najti, se prikaže "FileNotFound"
server.send (404, "text/plain", "FileNotFound");
});
Zažene strežnik in zažene strežnik HTTP za tiskanje.
server.begin (); Serial.println ("strežnik HTTP se je zagnal");
V naši zanki void strežniku omogočamo, da dosledno obravnava odjemalca in njegove spletne vtičnice na naslednji način:
void loop (void) {
server.handleClient (); webSocket.loop ();}
4. korak: Naložite datoteko HTML
za odpiranje bomo uporabili funkcijo handleFileRead in datoteko html iz datotečnega sistema nodemcu. vrnil bo logično vrednost, da ugotovi, ali je naložen ali ne.
Ko odjemalec odpre "192.168.4.1/", pot datoteke nastavimo na "/Joystick.html, ime naše datoteke v podatkovni mapi"
bool handleFileRead (String path) {
Serial.println ("handleFileRead:" + pot); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS.exists (pot)) {File file = SPIFFS.open (pot, "r"); size_t sent = server.streamFile (datoteka, "besedilo/html"); file.close (); vrni true; } return false; }
Preverite, ali obstaja datoteka »/Joystick.html«
if (SPIFFS.exists (pot)) {
Če obstaja, odprite pot z namenom, da jo preberete, kar je podano z "r". Pojdi sem za več namenov.
Datotečna datoteka = SPIFFS.open (pot, "r");
Pošlje datoteko strežniku kot z vrsto vsebine "besedilo/html"
size_t sent = server.streamFile (datoteka, "besedilo/html");
zaprite datoteko
file.close ();
funkcija handleFileRead vrne true
vrni true;}
če pot do datoteke ne obstaja, funkcija handleFileRead vrne false
vrni true; }
5. korak: Poskusite
Povežite se z nodeMCU in pojdite na "192.168.4.1" in poskusite!:)
Priporočena:
Odpirač garažnih vrat s povratnimi informacijami, ki uporabljajo Esp8266 kot spletni strežnik .: 6 korakov
Odpirač garažnih vrat s povratnimi informacijami z uporabo Esp8266 kot spletnega strežnika. Pozdravljeni, pokazal vam bom, kako narediti preprost način za odpiranje garažnih vrat.-ESP8266 je kodiran kot spletni strežnik, vrata so lahko odprta povsod po svetu- povratne informacije, boste vedeli, ali so vrata odprta ali zaprta v realnem času-preprosto, samo ena bližnjica do
ESP8266 in Visuino: spletni strežnik za temperaturo in vlažnost DHT11: 12 korakov
ESP8266 in Visuino: DHT11 Spletni strežnik za temperaturo in vlažnost: moduli ESP8266 so odlični nizkocenovni samostojni krmilniki z vgrajenim Wi-Fi-jem, o njih pa sem že naredil vrsto navodil. DTH11/DTH21/DTH22 in AM2301 sta zelo priljubljena kombinirana temperatura in senzorji vlažnosti Arduino in naredil sem število
Visuino Kako uporabljati gumb kot vhod za nadzor stvari, kot je LED: 6 korakov
Visuino Kako uporabljati gumb kot vhod za nadzor stvari, kot je LED: V tej vadnici se bomo naučili, kako vklopiti in izklopiti LED z enostavnim gumbom in Visuinom. Oglejte si predstavitveni video
Kako narediti hitri spletni strežnik z Raspberry Pi: 10 korakov
Kako narediti hitri spletni strežnik z Raspberry Pi: Ta priročnik vam bo povedal, kako lahko vaš Raspberry Pi gosti spletni strežnik, ki ga lahko uporabite za gostovanje spletnih mest, in celo nekoliko spremenjen za gostovanje številnih drugih spletnih storitev, kot je kot strežniki iger ali strežniki za pretakanje videov. Mi bomo samo pokrov
Kako uporabljati Wiimote kot računalniško miško in uporabljati sveče kot senzor !!: 3 koraki
Kako uporabljati Wiimote kot računalniško miško in uporabljati sveče kot senzor !!: Ta priročnik vam bo pokazal, kako povezati daljinski upravljalnik Wii (Wiimote) z računalnikom in ga uporabiti kot miško