Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Tee se toimivaksi
- Vaihe 2: Kuinka koodi toimii
- Vaihe 3: Aseta NODEMCU palvelimeksi
- Vaihe 4: Lataa HTML -tiedosto
- Vaihe 5: Kokeile
Video: ESP8266: n käyttäminen verkkopalvelimena: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Hei, Käytän tällä hetkellä ikkunoita 10, NodeMCU 1.0 ja tässä on luettelo käyttämistäni ohjelmistoista ja asennusoppaista, joita seurasin:
- Arduino IDE
- Lisälevyt esp8266: lle
- Spiff
Käytetty kirjasto:
Websocket
Käytin NodeMCU: ta palvelimena palvelemaan tämän opetusohjelman tekemää HTML -tiedostoa. Palvellakseni tätä tiedostoa, latasin tiedoston nodemcu -tiedostojärjestelmään Spiffsin avulla. HTML -tiedosto lähettää tietoja nodemcu -järjestelmään käyttämällä verkkopistorasioita, jotka tulostetaan sarjamonitoriin tätä varten. Nopea kaksisuuntainen tiedonsiirto palvelimen ja asiakkaan verkkopistorasioiden kautta mahdollisti tämän käytön kauko -ohjaimena. Seuraavissa vaiheissa en selitä, miten koodini toimii
Tarvikkeet
NodeMCU
Vaihe 1: Tee se toimivaksi
Tässä on vaiheet, miten se toimii
- Lataa liitteenä oleva tiedosto ja avaa mousebot.ino -tiedosto
- Siirry luonnokseen> näytä luonnoskansio ja luo uusi kansio nimeltä data
- Tallenna html -tiedosto tästä opetusohjelmasta nimettyyn kansioon. Nimesin omani "ohjaussauvaksi"
- Varmista, että spiffisi on jo toiminnassa, menemällä työkaluihin ja katsomalla "esp8266 luonnostietojen lataus"
- Lataa html -tiedosto nodemcuun napsauttamalla "esp8266 luonnostietojen lataus"
- Lataa tiedoston lähettämisen jälkeen nodemcuun mousebot.ino -tiedosto siirtymällä arduino IDE: hen ja painamalla ctrl U
Vaihe 2: Kuinka koodi toimii
Ensinnäkin sisällytämme kirjastot, joita tämä koodi käyttää
// jotta ESP8266 voi muodostaa yhteyden WIFI -verkkoon
#include #include #include // Sallii ESP8266: n toimia palvelimena #include // mahdollistaa viestinnän palvelimen ja asiakkaan (yhdistetyn laitteen) kanssa #include #include // Uudistetun tiedoston avaaminen nodemcu #include
Aseta esp8266 portiksi 80 avatuksi verkkopalvelimeksi. Portit ovat polkuja, joiden kautta data kulkee. Palvelinporttina se lähettää HTML -tiedoston asiakkaalle (siihen yhdistetyt sivut).
Lisää Websocket -yhteyden portin 81 avulla kuunnellaksesi asiakasviestejä
Websocketsissa on parametri num, WStype_t, hyötykuorma ja koko. Numero määrittää asiakkaan numeron, hyötykuorma on sen lähettämä viesti, koko on viestin pituus ja WStype_t on eri tapahtumille, kuten
- WStype_DISCONNECTED - kun asiakas katkaistaan.
- WStype_CONNECTED: - kun asiakas muodostaa yhteyden
- WStype_TEXT - Vastaanotetut tiedot asiakkaalta
Tapahtumatyypistä riippuen tehdään erilaisia toimintoja ja niitä kommentoidaan täällä
void webSocketEvent (uint8_t numero, WStype_t -tyyppi, uint8_t * hyötykuorma, koko_t pituus) {
switch (type) {case WStype_DISCONNECTED: Serial.printf ("[%u] Katkaistu! / n", numero); // tulostaa tiedot sarjamonitorin katkokseen; tapaus WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // saa IP -osoitteen Serial.printf ("[%u] Yhdistetty kohteesta%d.%d.%d.%d url:%s / n", num, ip [0], ip [1], ip [2], ip [3], hyötykuorma); webSocket.sendTXT (numero, "Yhdistetty"); // lähettää "conencted" selainkonsoliin} break; tapaus WStype_TEXT: Serial.printf ("[%u] Data: %s / n", numero, hyötykuorma); // tulostaa asiakasnumeron muodossa %u ja merkkijonoina vastaanotetut tiedot %s / n tauko;}}
Vaihe 3: Aseta NODEMCU palvelimeksi
määrittää SSID: n ja salasanan, joita käytät myöhemmin yhteyden muodostamiseen
const char *ssid = "Kokeile";
const char *password = "12345678";
määrityksessä määritämme nopeuden, jolla nodemcu ja tietokone kommunikoivat, mikä on 115200.
mitätön asennus (mitätön) {
Sarja.alku (115200); Serial.print ("\ n");
aseta myös tosi, katso wifi -diagnoosilähtö serila -päätelaitteessa
Serial.setDebugOutput (tosi);
käynnistää tiedostojärjestelmän
SPIFFS.begin ();
Määritä nodemcu liityntäpisteeksi, jossa on ssid ja salasana, ja tulostaa sen solmun IP -osoitteen, johon muodostat yhteyden aiemmin. oletuksena se on 192.168.4.1
Serial.print ("Tukiaseman määrittäminen …");
WiFi.mode (WIFI_AP); WiFi.softAP (ssid, salasana); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP -osoite:"); Serial.println (myIP);
Alusta verkkopistoke solmussa, joka on pur -palvelin
webSocket.begin ();
Kutsuu toimintoa webSocketEvent, kun websocket -tapahtuma tapahtuu.
webSocket.onEvent (webSocketEvent);
Tulosta virheenkorjausta varten "WebSocket -palvelin käynnistetty" uudelle riville. Tämä määrittää koodirivin, jota nodemcu käsittelee
Serial.println ("WebSocket -palvelin käynnistetty.");
kun asiakas vierailee osoitteessa 192.168.4.1, se kutsuu funktion handleFileRead ja lähettää sen kanssa parametripalvelimen URI: n, joka tässä tapauksessa on nodemcu -tiedot. Funktio handleFileRead palvelee html -tiedostoa nodemcu -tiedostojärjestelmästä
server.onNotFound ( () {
if (! handleFileRead (server.uri ()))
jos sitä ei löydy, se näyttää "FileNotFound"
server.send (404, "teksti/tavallinen", "FileNotFound");
});
Aloittaa palvelimen ja tulostaa HTTP -palvelimen.
server.begin (); Serial.println ("HTTP -palvelin käynnistetty");
Tyhjäkäynnillä palvelin sallii jatkuvasti käsitellä asiakkaan ja sen verkkopistorasioiden viestintää seuraavasti:
void loop (void) {
server.handleClient (); webSocket.loop ();}
Vaihe 4: Lataa HTML -tiedosto
Käytämme toimintoa nimeltä handleFileRead avataksemme ja html -tiedoston nodemcu -tiedostojärjestelmästä. se palauttaa boolean -arvon määrittääkseen, onko se ladattu vai ei.
Kun asiakas avaa "192.168.4.1/", asetamme tiedostopoluksi "/Joystick.html, tiedostomme nimen datakansiossa
bool handleFileRead (merkkijonopolku) {
Serial.println ("handleFileRead:" + polku); if (path.endsWith ("/")) path += "Joystick.html"; if (SPIFFS.exists (polku)) {Tiedostotiedosto = SPIFFS.open (polku, "r"); koko_t lähetetty = palvelin.virran tiedosto (tiedosto, "teksti/html"); file.close (); palaa tosi; } return false; }
Tarkista, onko tiedostopolku "/Joystick.html" olemassa
if (SPIFFS.exists (polku)) {
Jos se on olemassa, avaa polku lukemalla se, jonka määrittelee r. Mene tänne lisää tarkoituksia varten.
Tiedostotiedosto = SPIFFS.open (polku, "r");
Lähettää tiedoston palvelimelle sisällön tyypin "teksti/html" kanssa
koko_t lähetetty = palvelin.virran tiedosto (tiedosto, "teksti/html");
sulje tiedosto
file.close ();
funktio handleFileRead palauttaa arvon true
palaa tosi;}
jos tiedoston polkua ei ole, funktio handleFileRead palauttaa epätosi
palaa tosi; }
Vaihe 5: Kokeile
Muodosta yhteys nodeMCU: han ja siirry kohtaan "192.168.4.1" ja kokeile sitä!:)
Suositeltava:
Autotallin ovenavaaja palautteella käyttäen Esp8266 -palvelinta verkkopalvelimena .: 6 vaihetta
Autotallin ovenavaaja, jossa on palautetta Esp8266: n käyttämisestä verkkopalvelimena .: Hei, näytän sinulle, kuinka tehdä yksinkertainen tapa tehdä autotallin ovenavaaja.-ESP8266 on koodattu verkkopalvelimeksi, ovi voi olla auki kaikkialla maailmassa Palaute, tiedät, onko ovi auki tai kiinni reaaliajassa-Yksinkertainen, vain yksi pikakuvake
ESP8266-01: n 4 nastan käyttäminen: 3 vaihetta
ESP8266-01: n 4 nastan käyttäminen: Huomautus: Tämä projekti on pohjimmiltaan jatkoa aikaisemmalle ohjeelle, joka käytti vain 2 nastaa. ESP8266-01: n rajoitettu määrä (4) GPIO-nastoja voi tuntua esteeltä vakava sovellus. kuitenkin, jos käytät nastoja älykkäästi, se on
MQTT: n käyttäminen Raspberry Pi: n ja ESP8266/sonoffin kanssa: 4 vaihetta
MQTT: n käyttäminen Raspberry Pi: n ja ESP8266/sonoffin kanssa: Hei kaikki! Tänään aion näyttää sinulle, miten voit määrittää vadelmapi- ja ESP8266 -pohjaisen sonoff -wifi -relekytkimen ohjaamaan kodinkoneitasi kaikkialta maailmasta. tästä ohjeesta, jos olet noudattanut huolellisesti ohjeitani
MQTT: n käyttäminen Raspberry Pi: n ja ESP8266: n kanssa: 8 vaihetta (kuvilla)
MQTT: n käyttäminen Raspberry Pi: n ja ESP8266: n kanssa: Tässä opetusohjelmassa selitän, mikä on MQTT -protokolla ja miten sitä käytetään laitteiden väliseen kommunikointiin. asiakasjärjestelmä, jossa ESP8266 -moduuli lähettää viestin
Wemos ESP-Wroom-02 D1 Mini WiFi -moduulin ESP8266 + 18650 käyttäminen Blynkin avulla: 10 vaihetta
Wemos ESP-Wroom-02 D1 Mini WiFi -moduulin ESP8266 + 18650 käyttäminen Blynk-tekniikan avulla: Erittely: Yhteensopiva nodemcu 18650 -latausjärjestelmän integroinnin kanssa Merkkivaloa (vihreä tarkoittaa täyden punaisen lataamista) voidaan käyttää latauksen aikana liitintä voidaan käyttää lepotilassa · 1 lisää