ዝርዝር ሁኔታ:

ESP8266 ን እንደ Webserver እንዴት መጠቀም እንደሚቻል - 5 ደረጃዎች
ESP8266 ን እንደ Webserver እንዴት መጠቀም እንደሚቻል - 5 ደረጃዎች

ቪዲዮ: ESP8266 ን እንደ Webserver እንዴት መጠቀም እንደሚቻል - 5 ደረጃዎች

ቪዲዮ: ESP8266 ን እንደ Webserver እንዴት መጠቀም እንደሚቻል - 5 ደረጃዎች
ቪዲዮ: ስልካችንን እንደ ደህንነት ካሜራ ለመጠቀም የሚያስችል ዘዴ - How to Use Your Phone as CCTV Home Security Camera 2024, ህዳር
Anonim
ESP8266 ን እንደ Webserver እንዴት እንደሚጠቀሙበት
ESP8266 ን እንደ Webserver እንዴት እንደሚጠቀሙበት

ሰላም ፣ እኔ በአሁኑ ጊዜ ዊንዶውስ 10 ን ፣ NodeMCU 1.0 ን እጠቀማለሁ እና እኔ የተጠቀምኩበት የሶፍትዌር ዝርዝር እና የተከተልኳቸው የመጫኛ መመሪያዎች እዚህ አሉ

  • አርዱዲኖ አይዲኢ
  • ለ esp8266 ተጨማሪ ሰሌዳዎች
  • ሽቶ

ቤተ -መጽሐፍት ጥቅም ላይ ውሏል

ዌብሶኬት

እኔ ከ thistutorial የተሰራውን የኤችቲኤምኤል ፋይል ለማገልገል NodeMCU ን እንደ አገልጋይ እጠቀም ነበር። ይህንን ፋይል ለማገልገል ስፒፍስን በመጠቀም ፋይሉን ወደ nodemcu ፋይል ስርዓት ሰቅዬዋለሁ። የኤችቲኤምኤል ፋይል ለዚህ በተከታታይ ሞኒተር ላይ እንዲታተሙ ዌብሶኬቶችን በመጠቀም ወደ nodemcu ውሂብ ይልካል።በአገልጋዩ እና በደንበኛው ድርጣቢያዎች በኩል ፈጣን የሁለትዮሽ ግንኙነት ይህንን እንደ የርቀት መቆጣጠሪያ እንዲጠቀም አስችሎታል። በሚከተሉት ደረጃዎች ላይ ፣ ሕመሜ እንዴት እንደሚሠራ እያብራራኝ ነው

አቅርቦቶች

NodeMCU

ደረጃ 1: እንዲሰራ ያድርጉት

እንዲሰራ ያድርጉት
እንዲሰራ ያድርጉት
እንዲሰራ ያድርጉት
እንዲሰራ ያድርጉት
እንዲሰራ ያድርጉት
እንዲሰራ ያድርጉት

እንዴት እንደሚሰራ ደረጃዎች እዚህ አሉ

  1. የተያያዘውን ፋይል ያውርዱ እና የመዳፊትbot.ino ፋይልን ይክፈቱ
  2. ወደ ረቂቅ> የንድፍ አቃፊን ያሳዩ እና ውሂብ የተባለ አዲስ አቃፊ ያዘጋጁ
  3. የ html ፋይል ከዚህ አጋዥ ስልጠና በተሰየመው አቃፊ ውስጥ ያስቀምጡ። የእኔን “ጆይስቲክ” ብዬ ሰይሜዋለሁ
  4. “Esp8266 ረቂቅ የውሂብ ሰቀላ” ን ለማየት ወደ መሣሪያዎች በመሄድ የእርስዎ ቅመም ቀድሞውኑ ተግባራዊ መሆኑን ያረጋግጡ።
  5. «Esp8266 sketch data upload» ን ጠቅ በማድረግ የኤችቲኤምኤል ፋይሉን ወደ ኖዶምኩ ይስቀሉ
  6. ከፋይል ሰቀላ በኋላ ወደ አርዱዲኖ አይዲኢ በመግባት እና ctrl U ን በመጫን የመዳፊትbot.ino ፋይልን ወደ nodemcu ይስቀሉ።

ደረጃ 2 - ኮዱ እንዴት እንደሚሰራ

በመጀመሪያ ፣ ይህ ኮድ የሚጠቀምባቸውን ቤተ -ፍርግሞችን አካተናል

// ESP8266 ን ከ WIFI ጋር እንዲገናኝ ለማንቃት

#አካትት #አካትት #ያካትቱ // ESP8266 ን እንደ አገልጋይ ሆኖ እንዲሠራ ያስችለዋል #አካታች // ከአገልጋዩ እና ከደንበኛው ጋር መገናኘት ያስችላል (የእርስዎ የተገናኘ መሣሪያ) #ያካትቱ #ያካትቱ // በ nodemcu ላይ የተካተተውን ፋይል ለመክፈት #ያካትቱ

ወደብ 80 ላይ የድር አገልጋይ እንደ ተከፈተ esp8266 ን ያዘጋጁ። ወደቦች ውሂቡ የሚያልፍባቸው መንገዶች ናቸው። እንደ የአገልጋይ ወደብ የኤችቲኤምኤል ፋይልን ለደንበኛው ይልካል (ከእሱ ጋር የተገናኙትን ክፍተቶች)።

ከደንበኛው መልዕክቶችን ለማዳመጥ ወደብ 81 በመጠቀም የዌብሶኬት ግንኙነትን ያክላል

የድር ድርጣቢያዎች የመለኪያ ቁጥር ፣ WStype_t ፣ የክፍያ ጭነት እና መጠን አላቸው። ቁጥሩ የደንበኛውን ቁጥር ይወስናል ፣ የክፍያ ጭነት እሱ የላከው መልእክት ፣ መጠኑ የመልእክቱ ርዝመት እና WStype_t ለተለያዩ ክስተቶች እንደ

  • WStype_DISCONNECTED - በደንበኛው ግንኙነት ላይ።
  • WStype_CONNECTED: - ደንበኛ ሲገናኝ
  • WStype_TEXT - ከደንበኛው የተቀበለው ውሂብ

በክስተቱ ዓይነት ላይ በመመስረት የተለያዩ እርምጃዎች ይከናወናሉ እና እዚህ አስተያየት ተሰጥቷል

ባዶ ድር WebSocketEvent (uint8_t num ፣ WStype_t ዓይነት ፣ uint8_t * የክፍያ ጭነት ፣ የመጠን_t ርዝመት) {

መቀየሪያ (ዓይነት) {ጉዳይ WStype_DISCONNECTED: Serial.printf ("[%u] ተቋርጧል! / n" ፣ ቁጥር); // መረጃን ወደ ተከታታይ ሞኒተር እረፍት ያትማል ፤ መያዣ WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // የደንበኛውን አይፒ ያገኛል Serial.printf ("[%u] ከ%d.%d.%d.%d url:%s / n" ፣ num ፣ ip [0] ፣ ip [1] ፣ ip [2] ፣ ip [3] ፣ የክፍያ ጭነት); webSocket.sendTXT (ቁጥር ፣ “ተገናኝቷል”); // ለአሳሹ ኮንሶል ‹ተገናኝቷል› ይልካል} እረፍት; መያዣ WStype_TEXT: Serial.printf ("[%u] ውሂብ %s / n" ፣ ቁጥር ፣ የክፍያ ጭነት); // የደንበኛውን ቁጥር በ %u ውስጥ ያትማል እና በ %s / n እረፍት ውስጥ እንደ ሕብረቁምፊዎች የተቀበለው ውሂብ ፤}}

ደረጃ 3 NODEMCU ን እንደ አገልጋይ ያዘጋጁ

በኋላ ለመገናኘት የሚጠቀሙበት ssid እና የይለፍ ቃል ያዘጋጃል

const char *ssid = "ሞክር";

const char *password = "12345678";

በተዋቀረው ላይ የእኛ ኖዲኩ እና ፒሲአችን የሚገናኙበትን መጠን እንገልፃለን ፣ ይህም 115200 ነው።

ባዶነት ማዋቀር (ባዶ) {

Serial.begin (115200); Serial.print ("\ n");

ወደ እውነት ተቀናብሯል በሴሪላ ተርሚናል ላይ የ wifi የምርመራ ውጤትን ይመልከቱ

Serial.setDebugOutput (እውነት);

የፋይል ስርዓቱን ያቃጥሉ

SPIFFS.begin ();

ኖሴምኩን እንደ የመዳረሻ ነጥብ በ ssid እና በይለፍ ቃል ቀድመው ያዋህዱት እና ቀደም ብለው የሚያገናኙትን የ nodemcu ip ን ያትማል። በነባሪ 192.168.4.1 ነው

Serial.print (“የመዳረሻ ነጥብን በማዋቀር ላይ…”);

WiFi.mode (WIFI_AP); WiFi.softAP (ssid ፣ የይለፍ ቃል); IPAddress myIP = WiFi.softAPIP (); Serial.print ("AP IP address:"); Serial.println (myIP);

በ nodemcu ላይ የድር ድርጣቢያውን ያስጀምሩ ፣ ይህ አገልጋይ አገልጋይ ነው

webSocket.begin ();

የዌብሶኬት ክስተት ሲከሰት ተግባሩን webSocketEvent ብሎ ይጠራል።

webSocket.onEvent (webSocketEvent);

ለማረም በአዲስ መስመር ላይ “የዌብሶክኬት አገልጋይ ተጀምሯል” ን ያትሙ። ይህ nodemcu የሚሰራበትን የኮድ መስመር ለመወሰን ነው

Serial.println ("WebSocket አገልጋይ ተጀምሯል");

አንድ ደንበኛ 192.168.4.1 ን ሲጎበኝ ፣ ‹FreeRead› የሚለውን ተግባር ይደውላል እና በዚህ ጉዳይ ላይ የእኛ የ nodemcu መረጃ የሆነውን የመለኪያ አገልጋዩን URI ይልካል። የተግባር መያዣውFileRead ከ nodemcu ፋይል ስርዓት የ html ፋይልን ያገለግላል

server.onNotFound ( () {

ከሆነ (! handleFileRead (server.uri ()))

ካልተገኘ “FileNotFound” ን ያሳያል

server.send (404 ፣ “ጽሑፍ/ሜዳ” ፣ “FileNotFound”);

});

አገልጋዩን ይጀምራል እና የኤችቲቲፒ አገልጋይ ማተም ተጀመረ።

server.begin (); Serial.println ("የኤች ቲ ቲ ፒ አገልጋይ ተጀምሯል");

በባዶ ክፍላችን ላይ አገልጋዩ ደንበኛን እና የድር መያዣዎችን ግንኙነት በሚከተለው መልኩ እንዲይዝ እናነቃለን-

ባዶነት loop (ባዶ) {

server.handleClient (); webSocket.loop ();}

ደረጃ 4 የኤችቲኤምኤል ፋይልን ይጫኑ

እኛ ለመክፈት handleFileRead የተባለ ተግባር እና የኤችቲኤምኤል ፋይልን ከ nodemcu ፋይል ስርዓት እንጠቀማለን። እሱ መጫኑን ወይም አለመጫኑን ለማወቅ አንድ ዋጋ ያለው ቡሊያን ይመልሳል።

በደንበኛው “192.168.4.1/” ሲከፈት የፋይሉን ዱካ ወደ”/Joystick.html እናዘጋጃለን ፣ በመረጃ አቃፊው ውስጥ የፋይላችን ስም

bool handleFileRead (ሕብረቁምፊ መንገድ) {

Serial.println ("handleFileRead:" + ዱካ); ከሆነ (path.endsWith ("/")) ዱካ += "Joystick.html"; ከሆነ (SPIFFS.exists (ዱካ)) {ፋይል ፋይል = SPIFFS.open (ዱካ ፣ “r”); size_t ተልኳል = server.streamFile (ፋይል ፣ “ጽሑፍ/html”); file.close (); እውነት ተመለስ; } ሐሰትን መመለስ; }

የፋይል ዱካ "/Joystick.html" ካለ ያረጋግጡ

ከሆነ (SPIFFS.exists (ዱካ)) {

ካለ ፣ በ “r” በተገለጸው ለማንበብ ዓላማ በማድረግ መንገዱን ይክፈቱ። ለተጨማሪ ዓላማዎች እዚህ ይሂዱ።

የፋይል ፋይል = SPIFFS.open (ዱካ ፣ “r”);

እንደ “ጽሑፍ/ኤችቲኤምኤል” የይዘት አይነት ፋይሉን ወደ አገልጋይ ይልካል።

size_t ተልኳል = server.streamFile (ፋይል ፣ “ጽሑፍ/html”);

ፋይሉን ይዝጉ

file.close ();

የተግባር መያዣውFileRead እውነት ይመለሳል

እውነት ተመለስ;}

የፋይል ዱካ ከሌለ የተግባር መያዣውFileRead ሐሰት ይመልሳል

እውነት ተመለስ; }

ደረጃ 5: ይሞክሩት

Image
Image

ከ nodeMCU ጋር ይገናኙ እና ወደ “192.168.4.1” ይሂዱ እና ይሞክሩት!:)

የሚመከር: