Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Få det til å fungere
- Trinn 2: Hvordan koden fungerer
- Trinn 3: Sett NODEMCU som server
- Trinn 4: Last inn HTML -fil
- Trinn 5: Prøv det
Video: Slik bruker du ESP8266 som webserver: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Hei, jeg bruker for tiden Windows 10, NodeMCU 1.0, og her er listen over programvare jeg brukte og installasjonsguider jeg fulgte:
- Arduino IDE
- Ekstra brett for esp8266
- Spiff
Bibliotek brukt:
Websocket
Jeg brukte NodeMCU som en server for å servere en HTML -fil jeg laget fra denne veiledningen. For å servere denne filen lastet jeg opp filen til nodemcu -filsystemet ved hjelp av Spiffs. HTML -filen sender data til nodemcu ved hjelp av websockets som skal skrives ut på den serielle skjermen for dette. Den raske toveiskommunikasjonen via websockets på serveren og klienten gjorde at denne kunne brukes som fjernkontroll. I de følgende trinnene forklarer jeg ikke hvordan koden min fungerer
Rekvisita
NodeMCU
Trinn 1: Få det til å fungere
Her er trinnene for hvordan det fungerer
- Last ned den vedlagte filen og åpne filen mousebot.ino
- Gå til skisse> vis skissemappe og lag en ny mappe som heter data
- Lagre html -filen fra denne opplæringen i mappen som heter. Jeg kalte min som "joystick"
- Sørg for at spiffen din allerede er funksjonell ved å gå til verktøy og se opplasting av "esp8266 sketch data"
- Last opp html -filen til nodemcu ved å klikke "esp8266 sketch data upload"
- Etter opplasting av fil laster du opp filen mousebot.ino til nodemcu ved å gå til arduino IDE og trykke ctrl U
Trinn 2: Hvordan koden fungerer
Først inkluderer vi bibliotekene denne koden vil bruke
// for å gjøre det mulig for ESP8266 å koble til WIFI
#include #include #include // Gjør ESP8266 i stand til å fungere som en server #include // muliggjør kommunikasjon med serveren og klienten (den tilkoblede enheten) #include #include // For å åpne den opplastede filen på nodemcu #include
Sett esp8266 som en webserver som er åpnet på port 80. Portene er veier dataene vil passere gjennom. Som en serverport sender den HTML -filen til klienten (enhetene som er koblet til den).
Legger til en websocket -tilkobling med port 81 for å lytte etter meldinger fra klienten
Nettstikkene har parameteren num, WStype_t, nyttelast og størrelse. Nummeret bestemmer klientnummeret, nyttelast er meldingen den sender, størrelsen er lengden på meldingen og WStype_t er for forskjellige hendelser som f.eks.
- WStype_DISCONNECTED - ved frakobling av en klient.
- WStype_CONNECTED: - når en klient kobler seg til
- WStype_TEXT - Mottatt data fra klienten
Avhengig av hendelsestypen utføres forskjellige handlinger og kommenteres her
void webSocketEvent (uint8_t num, WStype_t type, uint8_t * nyttelast, size_t length) {
switch (type) {case WStype_DISCONNECTED: Serial.printf ("[%u] Frakoblet! / n", num); // skriver ut data til seriell skjermbrudd; case WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // får IP -adressen til klienten Serial.printf ("[%u] Tilkoblet fra%d.%d.%d.%d url:%s / n", num, ip [0], ip [1], ip [2], ip [3], nyttelast); webSocket.sendTXT (num, "Tilkoblet"); // sender "conencted" til nettleserkonsollen} pause; case WStype_TEXT: Serial.printf ("[%u] Data: %s / n", num, nyttelast); // skriver ut klientnummeret i %u og dataene som mottas som strenger i %s / n pause;}}
Trinn 3: Sett NODEMCU som server
angir ssid og passord du vil bruke til å koble til det senere
const char *ssid = "Prøv";
const char *passord = "12345678";
på oppsettet, spesifiserer vi hastigheten som vår nodemcu og pc vil kommunisere med, som er 115200.
ugyldig oppsett (void) {
Serial.begin (115200); Serial.print ("\ n");
satt til true også se wifi -diagnostikkutgangen på serila -terminalen
Serial.setDebugOutput (true);
initalisere filsystemet
SPIFFS.begin ();
Sett opp nodemcu som et tilgangspunkt med ssid og password defiend tidligere og skriver ut ip -en til nodemcu som du vil koble deg til tidligere. som standard er det 192.168.4.1
Serial.print ("Konfigurere tilgangspunkt …");
WiFi.mode (WIFI_AP); WiFi.softAP (ssid, passord); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP -adresse:"); Serial.println (myIP);
Initialiser websocket på nodemcu, som er pur server
webSocket.begin ();
Kaller funksjonen webSocketEvent når en websocket -hendelse oppstår.
webSocket.onEvent (webSocketEvent);
For feilsøking, skriv ut "WebSocket -server startet" på en ny linje. Dette er for å bestemme kodelinjen nodemcu behandler
Serial.println ("WebSocket -server startet.");
når en klient besøker 192.168.4.1, vil den kalle funksjonen handleFileRead og sende med seg parameter -serveren URI som i dette tilfellet er vår nodemcu -informasjon. Funksjonen handleFileRead vil betjene html -filen fra nodemcu -filsystemet
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
Hvis den ikke blir funnet, vil den vise "FileNotFound"
server.send (404, "text/plain", "FileNotFound");
});
Starter serveren og skriver ut HTTP -serveren startet.
server.begin (); Serial.println ("HTTP -server startet");
På vår tomgangssløyfe gjør vi det mulig for serveren å kontinuerlig håndtere klienten og dens nettkontaktkommunikasjon som følger:
void loop (void) {
server.handleClient (); webSocket.loop ();}
Trinn 4: Last inn HTML -fil
vi vil bruke en funksjon som heter handleFileRead for å åpne og html -filen fra nodemcu -filsystemet. den vil returnere en boolean av verdi for å avgjøre om den er lastet inn eller ikke.
Når "192.168.4.1/" er åpnet av klienten, setter vi filbanen til "/Joystick.html, navnet på filen vår i datamappen
bool handleFileRead (strengbane) {
Serial.println ("handleFileRead:" + bane); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS.exists (path)) {File file = SPIFFS.open (path, "r"); size_t sent = server.streamFile (fil, "text/html"); file.close (); returner sant; } returner false; }
Sjekk om filbanen "/Joystick.html" finnes
hvis (SPIFFS.exists (bane)) {
Hvis den eksisterer, åpner du banen med det formål å lese den som er spesifisert av "r". Gå hit for flere formål.
Filfil = SPIFFS.open (bane, "r");
Sender filen til serveren som med en innholdstype "tekst/html"
size_t sent = server.streamFile (fil, "text/html");
lukk filen
file.close ();
funksjonen handleFileRead returnerer true
return true;}
hvis filbanen ikke finnes, returnerer funksjonen handleFileRead usann
returner sant; }
Trinn 5: Prøv det
Koble til nodeMCU og gå til "192.168.4.1" og prøv det!:)
Anbefalt:
Opplæring: Slik bruker du ESP32-CAM i videostreaming webserver: 3 trinn
Opplæring: Hvordan bruke ESP32-CAM i videostreaming webserver: Beskrivelse: ESP32-CAM er et ESP32 trådløst IoT Vision Development Board i en veldig liten formfaktor, designet for å brukes i forskjellige IoT-prosjekter, for eksempel hjemmet smarte enheter, industrielle trådløs kontroll, trådløs overvåking, trådløs QR -identifikasjon
Slik bruker du en Android -telefon som et webkamera med Skype: 5 trinn
Hvordan bruke en Android -telefon som et webkamera med Skype: Det er et gammelt ordtak om at et bilde er verdt tusen ord … og det er et nytt ordtak om at en video er verdt en million. Nå kan det virke som en overdrivelse, men det er en stor forskjell mellom å snakke med noen i en samtale og å snakke med
Slik laster du opp C -kode til ِ AVR Bruker Arduino Uno som programmerer: 6 trinn
Slik laster du opp C -kode til ِ AVR Bruker Arduino Uno som programmerer: HI alle: D Her vil jeg dele en enkel måte å programmere en AVR -brikke med Arduino Uno R3 Alt du trenger for å brenne koden til mikrokontrolleren din er Arduino Uno i stedet for å kjøpe spesifikk programmerer som koster mye
Slik bruker du Mac Terminal og hvordan du bruker viktige funksjoner: 4 trinn
Slik bruker du Mac Terminal og hvordan du bruker viktige funksjoner: Vi viser deg hvordan du åpner MAC Terminal. Vi viser deg også noen få funksjoner i terminalen, for eksempel ifconfig, endring av kataloger, tilgang til filer og arp. Ifconfig lar deg sjekke IP -adressen din og MAC -annonsen din
Slik bruker du den interne PS3 -minnekortleseren som en USB -enhet på din PC: 6 trinn
Slik bruker du den interne PS3 -minnekortleseren som en USB -enhet på din PC: Først av alt er dette min første instruksjonsbaserte (yippie!), Jeg er sikker på at det kommer nok å komme. Så jeg hadde en ødelagt PS3 og ville gjøre bruk av arbeidskomponentene. Det første jeg gjorde var å trekke databladet for omformerbrikken på PS3 -kortet