इलेक्ट्रॉनिक उपकरणों और मॉड्यूल के बीच वायरलेस संचार बहुत महत्वपूर्ण है, उन्हें इंटरनेट ऑफ थिंग्स की दुनिया में 'फिट' बनाने के लिए। HTTP प्रोटोकॉल और HTML भाषा ने डेटा को दुनिया भर में कहीं भी वेब पर स्थानांतरित करना संभव बना दिया है। हमने पहले से ही कुछ परियोजनाओं को कवर किया है , जो Arduino के साथ वाई-फाई का उपयोग करते हैं , आरंभ करने के लिए उन पर एक नज़र डालें:
- Arduino और ESP8266 WiFi मॉड्यूल का उपयोग करके ईमेल भेजना
- Arduino का उपयोग करके WiFi नियंत्रित रोबोट
- Arduino और Wi-Fi का उपयोग करके RGB एलईडी को नियंत्रित करना
अब इस ट्यूटोरियल में, हम Arduino और Wi-Fi मॉड्यूल का उपयोग करके डेटा को वेब पर भेजने का एक कार्यक्रम बना रहे हैं । इसके लिए हमें सबसे पहले ग्लोबल या लोकल सर्वर के आईपी एड्रेस की आवश्यकता है, यहाँ आसानी और प्रदर्शन के उद्देश्य से हम लोकल सर्वर का उपयोग कर रहे हैं।
आवश्यक घटक:
- Arduino UNO
- ESP8266 वाई-फाई मॉड्यूल
- यूएसबी केबल
- तारों को जोड़ना
- लैपटॉप
- बिजली की आपूर्ति
वाई-फाई मॉड्यूल ESP8266:
सर्किट कनेक्शन:
"Arduino से वेब के लिए पोस्ट डेटा" के लिए सर्किट आरेख नीचे दिया गया है। हमें मुख्य रूप से एक Arduino और ESP8266 वाई-फाई मॉड्यूल की आवश्यकता है । ESP8266 के Vcc और GND पिन 3.3V से सीधे जुड़े हुए हैं और Arduino के GND और CH_PD भी 3.3V से जुड़े हुए हैं। ESP8266 के Tx और Rx पिन सीधे Arduino के 2 और 3 से जुड़े होते हैं। सॉफ्टवेयर सीरियल लाइब्रेरी का उपयोग अरुडिनो के पिन 2 और 3 पर धारावाहिक संचार की अनुमति देने के लिए किया जाता है। हमने पहले से ही Arduino के लिए ESP8266 वाई-फाई मॉड्यूल के इंटरफेसिंग को विस्तार से कवर किया है।
यहां सॉफ्टवेयर सीरियल लाइब्रेरी का उपयोग करके, हमने पिन 2 और 3 पर धारावाहिक संचार की अनुमति दी है, और उन्हें क्रमशः आरएक्स और टीएक्स बना दिया है। डिफ़ॉल्ट रूप से पिन 0 और 1 के Arduino का उपयोग धारावाहिक संचार के लिए किया जाता है, लेकिन SoftwareSerial पुस्तकालय का उपयोग करके, हम Arduino के अन्य डिजिटल पिनों पर धारावाहिक संचार की अनुमति दे सकते हैं।
नोट: सीरियल मॉनिटर पर ESP8266 की प्रतिक्रिया देखने के लिए, कृपया Arduino IDE का सीरियल मॉनिटर खोलें।
कार्य स्पष्टीकरण:
सबसे पहले हमें नेटवर्क कनेक्टिविटी के लिए अपने वाई-फाई मॉड्यूल को वाई-फाई राउटर से कनेक्ट करना होगा। फिर हम स्थानीय सर्वर को कॉन्फ़िगर करेंगे, डेटा को वेब पर भेजें और अंत में कनेक्शन बंद करें। इस प्रक्रिया और आदेशों को नीचे चरणों में समझाया गया है:
1. पहले हमें एटी कमांड भेजकर वाई-फाई मॉड्यूल का परीक्षण करना होगा, यह ओके युक्त प्रतिक्रिया को वापस कर देगा ।
2. इसके बाद, हमें कमांड AT + CWMODE = mode_id का उपयोग करके मोड का चयन करना होगा , हमने मोड आईडी = 3 का उपयोग किया है। मोड आईडी:
1 = स्टेशन मोड (क्लाइंट)
2 = एपी मोड (होस्ट)
3 = एपी + स्टेशन मोड (हां, ईएसपी 6२६६६ एक दोहरी मोड)!
3. अब हमें पहले से कनेक्ट किए गए वाई-फाई नेटवर्क से अपने वाई-फाई मॉड्यूल को डिस्कनेक्ट करने की आवश्यकता है, कमांड एटी + सीडब्ल्यूक्यूएपी का उपयोग करके , क्योंकि ईएसपी 8266 डिफ़ॉल्ट रूप से किसी भी पहले से उपलब्ध वाई-फाई नेटवर्क से जुड़ा हुआ है
4. उसके बाद, उपयोगकर्ता एटी + आरएसटी कमांड के साथ मॉड्यूल रीसेट कर सकता है । यह कदम वैकल्पिक है।
5. अब हमें दिए गए कमांड का उपयोग करके ईएसपी 8266 को वाई-फाई राउटर से कनेक्ट करना होगा
6. अब दिए गए कमांड का उपयोग करके आईपी एड्रेस प्राप्त करें:
यह एक आईपी एड्रेस लौटाएगा।
7. अब AT + CIPMUX = 1 (कई कनेक्शन के लिए 1 और एकल कनेक्शन के लिए 0) का उपयोग करके मल्टीप्लेक्स मोड को सक्षम करें
8. अब AT + CIPSERVER = 1, port_no (पोर्ट 80 हो सकता है) का उपयोग करके ESP8266 को सर्वर के रूप में कॉन्फ़िगर करें । अब आपका वाई-फाई तैयार है। यहाँ '1' का प्रयोग सर्वर बनाने के लिए और '0' सर्वर को हटाने के लिए किया जाता है।
9. अब दिए गए कमांड उपयोगकर्ता का उपयोग करके स्थानीय निर्मित सर्वर को डेटा भेज सकते हैं:
आईडी = आईडी नं। कनेक्शन का प्रसारण
लंबाई = डेटा की अधिकतम लंबाई 2 केबी है
10. सर्वर को आईडी और लंबाई भेजने के बाद, हमें डेटा भेजने की आवश्यकता है जैसे: Serial.println ("[email protected]");
11. डेटा भेजने के बाद हमें दिए गए कमांड द्वारा कनेक्शन बंद करने की आवश्यकता है:
अब डेटा स्थानीय सर्वर पर प्रेषित कर दिया गया है।
12. अब वेब ब्राउजर में एड्रेस बार में आईपी एड्रेस टाइप करें और एंटर करें। अब उपयोगकर्ता वेबपेज पर प्रेषित डेटा देख सकता है।
पूरी प्रक्रिया के लिए नीचे दिया गया वीडियो देखें।
प्रोग्रामिंग के लिए कदम:
1. पिन 2 और 3 पर धारावाहिक संचार की अनुमति देने के लिए सॉफ़्टवेयर लाइब्रेरी को शामिल करें और कुछ चर और तारों की घोषणा करें।
#शामिल
2. इसके बाद, हमें अपने वांछित कार्यों को करने के लिए कुछ कार्यों को परिभाषित करना होगा।
में सेटअप () समारोह है, हम के रूप में ESP8266 के लिए इनबिल्ट धारावाहिक UART संचार आरंभ client.begin (9600); 9600 की बॉड दर पर।
शून्य सेटअप () {Serial.begin (9600); client.begin (9600); wifi_init (); Serial.println ("सिस्टम रेडी.."); }
3. wifi_init () फ़ंक्शन में, हम रीसेट, सेट मोड, राउटर से कनेक्ट, कनेक्शन को कॉन्फ़िगर करने आदि जैसे कुछ कमांड भेजकर वाईफाई मॉड्यूल को इनिशियलाइज़ करते हैं। इन कमांड्स को विवरण भाग में ऊपर भी समझाया गया है।
शून्य wifi_init () {connect_wifi ("एटी", 100); connect_wifi ("AT + CWMODE = 3", 100); connect_wifi ("एटी + सीडब्ल्यूक्यूएपी", 100); connect_wifi ("एटी + आरएसटी", 5000);…………………
4. Connect_wifi () फ़ंक्शन में, हम कमांड डेटा को ESP8266 पर भेजते हैं और फिर ESP8266 वाई-फाई मॉड्यूल से प्रतिक्रिया पढ़ते हैं।
void connect_wifi (स्ट्रिंग cmd, int t) {int temp = 0, i = 0; जबकि (1) {Serial.println (cmd);…………………
5. sendwebdata () फ़ंक्शन का उपयोग स्थानीय सर्वर या वेबपेज पर डेटा भेजने के लिए किया जाता है।
शून्य Sendwebdata (स्ट्रिंग वेबपेज) {int ii = 0; जबकि (1) {अहस्ताक्षरित int l = webPage.length (); Serial.print ("AT + CIPSEND = 0,"); client.print ("AT + CIPSEND = 0,");…………………
6. void send () फ़ंक्शन का उपयोग डेटा स्ट्रिंग्स भेजने के लिए sendwebdata () फ़ंक्शन के लिए किया जाता है। जिसे आगे वेबपेज पर भेजा जाएगा।
शून्य भेजें () {वेबपेज = ”
सर्किट डाइजेस्ट में आपका स्वागत है
"; Sendwebdata (वेबपेज); वेबपेज = नाम; वेबपेज + = डेट;…………….7. get_ip () फ़ंक्शन का उपयोग स्थानीय निर्मित सर्वर का आईपी पता प्राप्त करने के लिए किया जाता है।
8. शून्य लूप () फ़ंक्शन में, हम पेज को रीफ्रेश करने के लिए उपयोगकर्ता को निर्देश भेजते हैं और जांचते हैं कि सर्वर कनेक्ट नहीं है। जब उपयोगकर्ता वेबपेज को रिफ्रेश या रिक्वेस्ट करता है, तो डेटा स्वचालित रूप से उसी आईपी पते पर प्रेषित होता है।
शून्य लूप () {k = 0; Serial.println ("कृपया अपना पृष्ठ ताज़ा करें"); जबकि (k <1000)……………..
हम इस प्रक्रिया का उपयोग करके Arduino से Webpage तक कोई भी डेटा प्रदर्शित कर सकते हैं, जैसे कमरे का तापमान और आर्द्रता, घड़ी का समय, जीपीएस निर्देशांक, हार्ट बीट रेट आदि।