Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Ifanye ifanye kazi
- Hatua ya 2: Jinsi Kanuni inavyofanya kazi
- Hatua ya 3: Weka NODEMCU kama Seva
- Hatua ya 4: Pakia faili ya HTML
- Hatua ya 5: Jaribu
Video: Jinsi ya kutumia ESP8266 kama Webserver: 5 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Halo, kwa sasa ninatumia windows 10, NodeMCU 1.0 na hii ndio orodha ya Programu nilizotumia na miongozo ya usanikishaji niliyoifuata:
- Arduino IDE
- Bodi za ziada za esp8266
- Spiff
Maktaba iliyotumiwa:
Mtandao
Nilitumia NodeMCU kama seva kutumikia Faili ya HTML niliyotengeneza kutoka kwa mafunzo. Kutumikia faili hii, nilipakia faili hiyo kwenye mfumo wa faili ya nodemcu kwa kutumia Spiffs. Faili ya HTML hutuma data kwa nodemcu ikitumia visanduku vya wavuti kuchapishwa kwenye mfuatiliaji wa serial kwa hii. Uwasilianaji wa haraka wa pande mbili kupitia visanduku vya wavuti vya seva na mteja imewezesha hii kutumiwa kama udhibiti wa kijijini. Kwenye hatua zifuatazo, mgonjwa kuelezea jinsi nambari yangu inafanya kazi
Vifaa
NodeMCU
Hatua ya 1: Ifanye ifanye kazi
Hapa kuna hatua juu ya jinsi inavyofanya kazi
- Pakua faili iliyoambatanishwa na ufungue faili ya mousebot.ino
- Nenda kwenye mchoro> onyesha folda ya mchoro na ufanye folda mpya inayoitwa data
- Hifadhi faili ya html kutoka kwa mafunzo haya kwenye folda iliyoitwa. Niliita jina langu kama "Joystick"
- Hakikisha kuwa spiff yako tayari inafanya kazi kwa kwenda kwa zana zana ukiona "upakiaji wa data ya esp8266"
- Pakia faili ya html kwa nodemcu kwa kubofya "esp8266 sketch data upload"
- Baada ya kupakia faili, pakia kwa nodemcu faili ya mousebot.ino kwa kushikilia IDE ya arduino na kubonyeza ctrl U
Hatua ya 2: Jinsi Kanuni inavyofanya kazi
Kwanza, tunajumuisha maktaba ambayo nambari hii itatumia
// kuwezesha ESP8266 kuungana na WIFI
#jumuisha # pamoja na # pamoja na // Inawezesha ESP8266 kutenda kama seva # pamoja na // inawezesha mawasiliano na seva na mteja (kifaa chako kilichofichwa) # pamoja # # pamoja // Kufungua faili iliyojaa juu ya nodemcu #jumuisha
Weka esp8266 kama seva ya wavuti iliyofunguliwa kwenye bandari ya 80. Bandari ni njia ambazo data itapita. Kama bandari ya seva, Itatuma faili ya HTML kwa mteja (deivces iliyounganishwa nayo).
Huongeza unganisho la wavuti kwa kutumia bandari 81 kusikiliza ujumbe kutoka kwa mteja
Masanduku ya wavuti yana param param, WStype_t, malipo ya malipo na saizi. Nambari huamua nambari ya mteja, upakiaji wa malipo ni ujumbe unaotuma, saizi ni urefu wa ujumbe na WStype_t ni kwa hafla tofauti kama vile
- WStype_DISCONNECTED - kwenye kukatwa kwa mteja.
- WStype_CONNECTED: - wakati mteja anaunganisha
- WStype_TEXT - Data iliyopokea kutoka kwa mteja
Kulingana na aina ya tukio vitendo tofauti vimefanywa na inasemwa hapa
utupu wa WebSocketEvent (uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
kubadili (aina) {kesi WStype_DISCONNECTED: Serial.printf ("[% u] Imekatika! / n", num); // prints data kwa mapumziko ya kufuatilia serial; kesi WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP (num); // hupata IP ya mteja Serial.printf ("[% u] Imeunganishwa kutoka% d.% d.% d.% d url:% s / n", num, ip [0], ip [1], ip [2], ip [3], malipo ya malipo); webSocket.sendTXT (num, "Imeunganishwa"); // hutuma "conencted" kwa kivinjari cha kivinjari} kuvunja; kesi WStype_TEXT: Serial.printf ("[% u] Takwimu:% s / n", num, malipo ya malipo); // chapa nambari ya mteja katika% u na data iliyopokelewa kama masharti katika% s / n break;}}
Hatua ya 3: Weka NODEMCU kama Seva
huweka ssid na nywila utakayotumia kuungana nayo baadaye
const char * ssid = "Jaribu";
const char * nywila = "12345678";
juu ya usanidi, tunataja kiwango ambacho nodemcu yetu na pc itawasiliana, ambayo ni 115200.
usanidi batili (utupu) {
Serial. Kuanza (115200); Serial.print ("\ n");
weka ukweli pia angalia pato la uchunguzi wa wifi kwenye kituo cha serila
Serial.setDebugOutput (kweli);
initaliaze mfumo wa faili
SPIFFS.anza ();
Sanidi nodemcu kama kituo cha ufikiaji na ssid na nenosiri defiend mapema na chapa ip ya nodemcu ambayo utaunganisha na mapema. kwa chaguo-msingi ni 192.168.4.1
Serial.print ("Inasanidi eneo la ufikiaji…");
Njia ya WiFi (WIFI_AP); WiFi.softAP (ssid, nywila); IPAddress myIP = WiFi.softAPIP (); Serial.print ("Anwani ya IP ya IP:"); Serial.println (myIP);
Anzisha websocket kwenye nodemcu, whcih ni pur server
webSocket.begin ();
Inapigia kazi WebSocketEvent wakati tukio la wavuti la wavuti linatokea.
WebSocket.onEvent (webSocketEvent);
Kwa utatuzi, chapisha "Seva ya Wavuti imeanza" kwenye laini mpya. Hii ni kuamua mstari wa nambari ambayo nodemcu inasindika
Serial.println ("Seva ya WebSocket imeanza.");
mteja anapotembelea 192.168.4.1, itaita kazi handleFileRead na kutuma nayo seva ya parameter URI ambayo katika kesi hii ni habari yetu ya nodemcu. Kazi ya kushughulikiaFileRead itatumikia faili ya html kutoka kwa mfumo wa faili ya nodemcu
server.onNotFound ( () {
ikiwa (! handleFileRead (server.uri ()))
ikiwa haiwezi kupatikana itaonyesha "FileNotFound"
tuma seva (404, "maandishi / wazi", "FileNotFound");
});
Huanza seva na chapisha seva ya HTTP imeanza.
anza (); Serial.println ("Seva ya HTTP imeanza");
Kwenye kitanzi chetu cha utupu, tunawezesha seva kushughulikia mteja kwa usiri na mikutano yake ya mikutano ya wavuti kama ifuatavyo:
kitanzi batili (batili) {
seva.handleClient (); webSocket.loop ();}
Hatua ya 4: Pakia faili ya HTML
tutatumia kazi inayoitwa handleFileRead kufungua na faili ya html kutoka kwa mfumo wa faili ya nodemcu. itarudisha boolean ya thamani ili kubaini ikiwa imepakiwa au la.
Wakati "192.168.4.1/" imefunguliwa na mteja tunaweka njia ya faili kwenda "/Joystick.html, jina la faili yetu kwenye folda ya data
bool handleFileRead (Njia ya Kamba) {
Serial.println ("handleFileRead:" + njia); ikiwa (path.endsWith ("/") path + = "Joystick.html"; ikiwa (SPIFFS.exists (path)) {File file = SPIFFS.open (path, "r"); size_t sent = server.streamFile (faili, "maandishi / html"); faili. karibu (); kurudi kweli; } kurudi uwongo; }
Angalia ikiwa njia ya faili "/Joystick.html" ipo
ikiwa (SPIFFS.kupo (njia)) {
Ikiwa ipo, fungua njia kwa kusudi la kuisoma ambayo imeainishwa na "r". Nenda hapa kwa madhumuni zaidi.
Faili ya faili = SPIFFS. Fungua (njia, "r");
Inatuma faili kwa seva kama na aina ya yaliyomo ya "maandishi / html"
size_t sent = server.streamFile (faili, "maandishi / html");
funga faili
faili. karibu ();
kazi handleFileRead inarudi kweli
kurudi kweli;}
ikiwa njia ya faili haipo, kazi handleFileRead inarudi uwongo
kurudi kweli; }
Hatua ya 5: Jaribu
Unganisha kwenye nodeMCU na nenda kwa "192.168.4.1" na ujaribu!:)
Ilipendekeza:
Jinsi ya Kuchoma ATTiny85 Kutumia Arduino-Mega Kama ISP: Hatua 5
Jinsi ya Kuchoma ATTiny85 Kutumia Arduino-Mega kama ISP: Wachangiaji - Sayan Wadadar, Chiranjib KunduProgramming ATTiny85 ukitumia Arduino MEGA2560 kama ISP. Miezi michache iliyopita, nilikuwa najaribu kupunguza mradi wangu wa Arduino kwa kutumia Attiny 85 ic yangu. Ilikuwa mara ya kwanza nilikuwa najaribu kupanga 20u ATTiny 85 kutumia
Jinsi ya Kutumia Magari ya Stepper Kama Encoder ya Rotary na OLED Onyesha kwa Hatua: 6 Hatua
Jinsi ya Kutumia Magari ya Stepper Kama Encoder ya Rotary na OLED Onyesha kwa Hatua: Katika mafunzo haya tutajifunza jinsi ya kufuatilia hatua za gari za stepper kwenye OLED Onyesho. Tazama video ya maonyesho. Sifa ya mafunzo ya Asili huenda kwa mtumiaji wa youtube " sky4fly "
Visuino Jinsi ya Kutumia Kitufe Kama Ingizo la Kudhibiti Vitu kama LED: Hatua 6
Visuino Jinsi ya Kutumia Kitufe Kama Pembejeo Kudhibiti Vitu Kama LED: Katika mafunzo haya tutajifunza jinsi ya KUZIMA na kuwasha LED kwa kutumia kitufe rahisi na Visuino. Tazama video ya onyesho
Jinsi ya Kutumia Kituo cha Mac, na Jinsi ya Kutumia Kazi Muhimu: Hatua 4
Jinsi ya Kutumia Kituo cha Mac, na Jinsi ya Kutumia Kazi Muhimu: Tutakuonyesha jinsi ya kufungua Kituo cha MAC. Tutakuonyesha pia vitu kadhaa ndani ya Kituo, kama ifconfig, kubadilisha saraka, kufikia faili, na arp. Ifconfig itakuruhusu kuangalia anwani yako ya IP, na tangazo lako la MAC
Jinsi ya Kutumia Wiimote Kama Kipanya cha Kompyuta Kutumia Mishumaa Kama Sensor !!: 3 Hatua
Jinsi ya Kutumia Wiimote Kama Panya ya Kompyuta Kutumia Mishumaa Kama Sensor !!: Mwongozo huu utakuonyesha jinsi ya kuunganisha Wii Remote yako (Wiimote) kwa pc yako na kuitumia kama panya