विषयसूची:
- आपूर्ति
- चरण 1: इसे काम करें
- चरण 2: कोड कैसे काम करता है
- चरण 3: NODEMCU को सर्वर के रूप में सेट करें
- चरण 4: HTML फ़ाइल लोड करें
- चरण 5: कोशिश करो
वीडियो: वेबसर्वर के रूप में ESP8266 का उपयोग कैसे करें: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
नमस्ते, मैं वर्तमान में विंडोज़ 10, नोडएमसीयू 1.0 का उपयोग कर रहा हूं और यहां मेरे द्वारा उपयोग किए जाने वाले सॉफ़्टवेयर की सूची और मेरे द्वारा अनुसरण किए गए इंस्टॉलेशन गाइड हैं:
- अरुडिनो आईडीई
- Esp8266. के लिए अतिरिक्त बोर्ड
- आकर्षक बनाएं
पुस्तकालय का इस्तेमाल किया:
वेबसोकेट
मैंने इस ट्यूटोरियल से बनाई गई एक HTML फ़ाइल की सेवा के लिए सर्वर के रूप में NodeMCU का उपयोग किया। इस फ़ाइल को परोसने के लिए, मैंने Spiffs का उपयोग करके फ़ाइल को nodemcu फ़ाइल सिस्टम में अपलोड किया। HTML फ़ाइल इसके लिए सीरियल मॉनीटर पर मुद्रित किए जाने वाले websockets का उपयोग करके nodemcu को डेटा भेजती है। सर्वर और क्लाइंट के websockets के माध्यम से तेज़ द्विदिश संचार ने इसे रिमोट कंट्रोल के रूप में उपयोग करने में सक्षम बनाया। निम्नलिखित चरणों में, मैं यह बताना चाहता हूं कि मेरा कोड कैसे काम करता है
आपूर्ति
नोडएमसीयू
चरण 1: इसे काम करें
यह कैसे काम करता है, इसके चरण यहां दिए गए हैं
- संलग्न फ़ाइल डाउनलोड करें और mousebot.ino फ़ाइल खोलें
- स्केच पर जाएं> स्केच फोल्डर दिखाएं और डेटा नाम का एक नया फोल्डर बनाएं
- इस ट्यूटोरियल से एचटीएमएल फाइल को नाम के फोल्डर में सेव करें। मैंने अपना नाम "जॉयस्टिक" रखा
- सुनिश्चित करें कि "esp8266 स्केच डेटा अपलोड" देखकर टूल पर जाकर आपका स्पिफ़ पहले से ही कार्यात्मक है
- "esp8266 स्केच डेटा अपलोड" पर क्लिक करके html फ़ाइल को nodemcu में अपलोड करें
- फ़ाइल अपलोड करने के बाद, arduino IDE पर oing करके और ctrl U दबाकर माउसबोट.इनो फ़ाइल को nodemcu पर अपलोड करें
चरण 2: कोड कैसे काम करता है
सबसे पहले, हम उन पुस्तकालयों को शामिल करते हैं जिनका यह कोड उपयोग करेगा
// ESP8266 को वाईफ़ाई से कनेक्ट करने के लिए सक्षम करने के लिए
#include #include #include // ESP8266 को सर्वर की तरह काम करने में सक्षम बनाता है
esp8266 को पोर्ट 80 पर खोले गए वेबसर्वर के रूप में सेट करें। पोर्ट वे रास्ते हैं जिनसे डेटा गुजरेगा। सर्वर पोर्ट के रूप में, यह क्लाइंट को HTML फ़ाइल भेजेगा (इससे जुड़े डिवाइस)।
क्लाइंट से संदेश सुनने के लिए पोर्ट 81 का उपयोग करके एक वेबसोकेट कनेक्शन जोड़ता है
वेबसोकेट में पैरामीटर संख्या, WStype_t, पेलोड और आकार होता है। संख्या क्लाइंट संख्या निर्धारित करती है, पेलोड वह संदेश है जो इसे भेजता है, आकार संदेश की लंबाई है और WStype_t विभिन्न घटनाओं के लिए है जैसे कि
- WStype_DISCONNECTED - क्लाइंट के डिसकनेक्शन पर।
- WStype_CONNECTED: - जब कोई क्लाइंट कनेक्ट होता है
- WStype_TEXT - क्लाइंट से प्राप्त डेटा
घटना के प्रकार के आधार पर विभिन्न क्रियाएं की जाती हैं और यहां टिप्पणी की जाती है
शून्य webSocketEvent (uint8_t संख्या, WStype_t प्रकार, uint8_t * पेलोड, size_t लंबाई) {
स्विच (प्रकार) {केस WStype_DISCONNECTED: Serial.printf("[%u] डिस्कनेक्ट किया गया!\n", num); // सीरियल मॉनिटर ब्रेक के लिए डेटा प्रिंट करता है; मामला WStype_CONNECTED: { IPAddress ip = webSocket.remoteIP(num); // क्लाइंट सीरियल का आईपी प्राप्त करता है। आईपी [2], आईपी [3], पेलोड); webSocket.sendTXT (संख्या, "कनेक्टेड"); // ब्राउज़र कंसोल पर "कनेक्टेड" भेजता है} ब्रेक; मामला WStype_TEXT: Serial.printf ("[%u] डेटा: %s\n", संख्या, पेलोड); // क्लाइंट नंबर को %u में प्रिंट करता है और डेटा को %s\n ब्रेक में स्ट्रिंग्स के रूप में प्राप्त होता है;}}
चरण 3: NODEMCU को सर्वर के रूप में सेट करें
वह ssid और पासवर्ड सेट करता है जिसका उपयोग आप बाद में उससे कनेक्ट करने के लिए करेंगे
कॉन्स चार * एसएसआईडी = "कोशिश करें";
कास्ट चार * पासवर्ड = "12345678";
सेट अप पर, हम उस दर को निर्दिष्ट करते हैं जिस पर यह हमारा नोडएमसीयू और पीसी संचार करेगा, जो कि 115200 है।
शून्य सेटअप (शून्य) {
सीरियल.बेगिन (115200); सीरियल.प्रिंट ("\ n");
सेरीला टर्मिनल पर वाईफाई डायग्नोस्टिक आउटपुट भी देखें
Serial.setDebugOutput (सच);
फाइल सिस्टम को इनिशियलाइज़ करें
SPIFFS.begin ();
पहले ssid और पासवर्ड डिफेंड के साथ एक एक्सेसपॉइंट के रूप में nodemcu सेट करें और उस nodemcu के ip को प्रिंट करें जिसे आप पहले कनेक्ट करेंगे। डिफ़ॉल्ट रूप से यह 192.168.4.1. है
Serial.print ("एक्सेस पॉइंट कॉन्फ़िगर करना …");
वाईफाई.मोड (WIFI_AP); वाईफाई.सॉफ्टएपी (एसएसआईडी, पासवर्ड); IPAddress myIP = WiFi.softAPIP (); सीरियल.प्रिंट ("एपी आईपी पता:"); Serial.println (myIP);
Nodemcu पर वेबसोकेट को इनिशियलाइज़ करें, जो कि pur सर्वर है
webSocket.begin ();
वेबसोकेट ईवेंट होने पर फ़ंक्शन webSocketEvent को कॉल करता है।
webSocket.onEvent (webSocketEvent);
डिबगिंग के लिए, एक नई लाइन पर "वेबसॉकेट सर्वर शुरू हुआ" प्रिंट करें। यह कोड की लाइन को निर्धारित करने के लिए है जिसे नोडेमकू संसाधित कर रहा है
Serial.println ("वेबसॉकेट सर्वर शुरू हुआ।");
जब कोई क्लाइंट 192.168.4.1 पर जाता है, तो वह फंक्शन हैंडलफाइल रीड को कॉल करेगा और इसके साथ पैरामीटर सर्वर यूआरआई भेजेगा जो इस मामले में हमारी नोडएमसीयू जानकारी है। फ़ंक्शन हैंडलफाइलरेड नोडमक्यू फाइल सिस्टम से एचटीएमएल फाइल की सेवा करेगा
server.onNotFound((){
अगर (! हैंडलफाइल रीड (सर्वर.यूरी ()))
अगर यह नहीं मिला तो यह "FileNotFound" दिखाएगा
server.send(404, "पाठ/सादा", "FileNotFound");
});
सर्वर शुरू होता है और एचटीटीपी सर्वर प्रिंट करना शुरू होता है।
सर्वर। शुरू (); Serial.println ("HTTP सर्वर शुरू हुआ");
हमारे शून्य लूप पर, हम सर्वर को क्लाइंट और उसके वेबसोकेट संचार को लगातार संभालने में सक्षम करते हैं:
शून्य लूप (शून्य) {
सर्वर.हैंडल क्लाइंट (); webSocket.loop ();}
चरण 4: HTML फ़ाइल लोड करें
हम nodemcu फाइल सिस्टम से html फाइल को खोलने के लिए और html फाइल को हैंडलफाइलरेड नाम के एक फंक्शन का उपयोग करेंगे। यह निर्धारित करने के लिए मूल्य का एक बूलियन लौटाएगा कि यह लोड है या नहीं।
जब क्लाइंट द्वारा "192.168.4.1/" खोला जाता है तो हम फ़ाइल पथ को "/Joystick.html" पर सेट करते हैं, डेटा फ़ोल्डर में हमारी फ़ाइल का नाम
बूल हैंडलफाइल रीड (स्ट्रिंग पथ) {
Serial.println ("हैंडलफाइल रीड:" + पथ); if(path.endsWith("/")) path += "Joystick.html"; अगर (SPIFFS.exists (पथ)) {फ़ाइल फ़ाइल = SPIFFS.open (पथ, "आर"); size_t भेजा = server.streamFile (फ़ाइल, "पाठ / html"); फ़ाइल। बंद करें (); सच लौटना; } विवरण झूठा है; }
जांचें कि क्या फ़ाइल पथ"/Joystick.html" मौजूद है
अगर (SPIFFS.exists (पथ)) {
यदि यह मौजूद है, तो इसे पढ़ने के उद्देश्य से पथ खोलें जो "आर" द्वारा निर्दिष्ट है। अधिक उद्देश्यों के लिए यहां जाएं।
फ़ाइल फ़ाइल = SPIFFS.open (पथ, "आर");
"टेक्स्ट/एचटीएमएल" सामग्री प्रकार के साथ फ़ाइल को सर्वर पर भेजता है
size_t भेजा = server.streamFile (फ़ाइल, "पाठ / html");
फ़ाइल बंद करें
फ़ाइल। बंद करें ();
फ़ंक्शन हैंडलफाइल रीड सत्य लौटाता है
सच लौटें;}
यदि फ़ाइल पथ मौजूद नहीं है, तो फ़ंक्शन हैंडलफाइल रीड गलत लौटाता है
सच लौटना; }
चरण 5: कोशिश करो
नोडएमसीयू से कनेक्ट करें और "192.168.4.1" पर जाएं और इसे आजमाएं!:)
सिफारिश की:
Arduino ISP के रूप में -- AVR में बर्न हेक्स फ़ाइल -- एवीआर में फ्यूज -- प्रोग्रामर के रूप में Arduino: 10 कदम
Arduino ISP के रूप में || AVR में बर्न हेक्स फ़ाइल || एवीआर में फ्यूज || अरुडिनो प्रोग्रामर के रूप में:………………अधिक वीडियो के लिए कृपया मेरे YouTube चैनल को सब्सक्राइब करें……यह लेख आईएसपी के रूप में आर्डिनो के बारे में सब कुछ है। यदि आप हेक्स फ़ाइल अपलोड करना चाहते हैं या यदि आप एवीआर में अपना फ्यूज सेट करना चाहते हैं तो आपको प्रोग्रामर खरीदने की आवश्यकता नहीं है, आप कर सकते हैं
ISP के रूप में Arduino-Mega का उपयोग करके ATTiny85 को कैसे बर्न करें: 5 कदम
ISP के रूप में Arduino-Mega का उपयोग करके ATTiny85 को कैसे बर्न करें: योगदानकर्ता - सायन वडाडर, चिरंजीब कुंडूप्रोग्रामिंग ATTiny85 Arduino MEGA2560 को ISP के रूप में उपयोग करते हुए। कुछ महीने पहले, मैं अपने Attiny 85 ic का उपयोग करके अपने Arduino प्रोजेक्ट को छोटा करने की कोशिश कर रहा था। यह पहली बार था जब मैं 20u ATTiny 85 का उपयोग करके प्रोग्राम करने का प्रयास कर रहा था
स्थानीय वेबसर्वर पर DHT11 का उपयोग करते हुए ESP8266 Nodemcu तापमान निगरानी - अपने ब्राउज़र पर कमरे का तापमान और आर्द्रता प्राप्त करें: 6 कदम
स्थानीय वेबसर्वर पर DHT11 का उपयोग करते हुए ESP8266 Nodemcu तापमान निगरानी | अपने ब्राउज़र पर कमरे का तापमान और आर्द्रता प्राप्त करें: नमस्कार दोस्तों आज हम एक नमी और amp; ESP ८२६६ NODEMCU का उपयोग कर तापमान निगरानी प्रणाली & DHT11 तापमान सेंसर। तापमान और आर्द्रता DHT11 सेंसर & यह एक ब्राउज़र पर देखा जा सकता है कि कौन सा वेबपेज प्रबंधित होगा
प्रोग्रामर के रूप में Arduino Uno का उपयोग करके AVR में C कोड कैसे अपलोड करें: 6 चरण
प्रोग्रामर के रूप में Arduino Uno का उपयोग करके ِAVR में C कोड कैसे अपलोड करें: सभी को HI:D यहां मैं Arduino Uno R3 का उपयोग करके किसी भी AVR चिप को प्रोग्राम करने का एक सरल तरीका साझा करूंगा, आपको अपने माइक्रोकंट्रोलर को कोड बर्न करने की आवश्यकता है, विशिष्ट खरीदने के बजाय Arduino Uno प्रोग्रामर जिसकी बहुत कीमत होती है
एक सेंसर के रूप में मोमबत्तियों का उपयोग करके कंप्यूटर माउस के रूप में Wiimote का उपयोग कैसे करें !!: 3 कदम
एक सेंसर के रूप में मोमबत्तियों का उपयोग करके कंप्यूटर माउस के रूप में Wiimote का उपयोग कैसे करें !!: यह मार्गदर्शिका आपको दिखाएगी कि अपने Wii रिमोट (Wiimote) को अपने पीसी से कैसे लिंक करें और इसे माउस के रूप में उपयोग करें