विषयसूची:
- आपूर्ति
- चरण 1: यह कैसे काम करता है?
- चरण 2: मुख्य कार्य क्या हैं?
- चरण 3: सामग्री का निर्माण
- चरण 4: गेटवे कोड डाउनलोड करें
- चरण 5: गेटवे कॉन्फ़िगरेशन करते हैं
- चरण 6: Arduino कोड उदाहरण डाउनलोड करें
- चरण 7: चलो सर्वर साइड करते हैं
- चरण 8: आगे जाने के लिए
वीडियो: ESP8266 शील्ड पर आधारित Arduino के लिए सीरियल UDP/IP गेटवे: 8 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
मैंने पहले ही 2016 में यह निर्देश प्रकाशित किया था "अपने Arduino को IP नेटवर्क से जोड़ने के लिए अपना खुद का Wifi गेटवे कैसे बनाएं"। चूंकि मैंने कुछ कोड सुधार किए हैं और मैं अभी भी इस समाधान का उपयोग कर रहा हूं।
फिर भी अब कुछ ESP8266 ढालें हैं जो बिना सोल्डरिंग के काफी हद तक ऐसा करने की अनुमति देती हैं जब तक आप माइक्रो या नैनो बोर्ड का उपयोग नहीं कर रहे हैं।
यह निर्देशयोग्य बताएगा कि इन ESP82 शील्ड्स को सीरियल UDP / IP गेटवे के रूप में कैसे उपयोग किया जाए।
यह एक वैश्विक होम ऑटोमेशन इंफ्रास्ट्रक्चर का हिस्सा है जिसे आप यहां देख सकते हैं
इस निर्देश के साथ ढाल के बारे में अधिक जानकारी
आपूर्ति
1 Arduino Mega (विकास के लिए कम से कम 1 मेगा और रनिंग चरण के लिए 1 Uno होना सबसे अच्छा है)
1 रोकू ईएसपी8266 ईएसपी-12ई यूएआरटी वाईफ़ाई कन्वर्टिसेर
1 एफटीडीआई 3.3v
2 ब्रेडबोर्ड तार
चरण 1: यह कैसे काम करता है?
गेटवे एक ESP8266 मॉड्यूल पर आधारित है।
यह मॉड्यूल एक तरफ से सीरियल लिंक के साथ दूसरी तरफ से वाईफाई के साथ आईपी नेटवर्क से जुड़ा है।
यह ब्लैक बॉक्स की तरह काम करता है। सीरियल लिंक से आने वाले डेटा पैकेट एक आईपी/यूडीपी पोर्ट पर भेजे जाते हैं और इसके विपरीत।
गेटवे पर पहली बार पावर देने के बाद आपको बस अपना खुद का कॉन्फ़िगरेशन (आईपी, वाईफ़ाई …) सेट करना होगा।
यह कच्चे ASCII और बाइनरी डेटा (कोई HTTP, JSON…) को स्थानांतरित कर सकता है
इसे सर्वर होम मेड सॉफ्टवेयर्स के साथ वस्तुओं को जोड़ने के लिए डिज़ाइन किया गया है, जिन्हें डेटा के छोटे पैकेट के तेज़ और लगातार स्थानान्तरण की आवश्यकता होती है।
चरण 2: मुख्य कार्य क्या हैं?
अधिकतर यह एक ब्लैक बॉक्स होता है जो सीरियल डेटा को यूडीपी पैकेट में दोनों तरह से परिवर्तित करता है।
लेकिन गेटवे सर्वर को आंतरिक जानकारी भेजकर और सर्वर से कुछ कमांड प्राप्त करके स्वयं भी कार्य कर सकता है।
Arduino केवल एक सीरियल लिंक को प्रिंट/पढ़कर इंटरनेट से जुड़े सर्वर की ओर/की ओर संदेश भेज और प्राप्त कर सकता है। Arduino डेवलपर को IP प्रोटोकॉल से परेशान होने की कोई आवश्यकता नहीं है।
इसके शीर्ष पर यह एक GPIO प्रदान करता है जिसका उपयोग Arduino द्वारा यह जांचने के लिए किया जा सकता है कि गेटवे वाईफ़ाई से सही ढंग से जुड़ा हुआ है और गेटवे विफलता के मामले में बीटवेन 2 अलग-अलग SSID को स्वचालित रूप से बदल सकता है
गेटवे में 2 अलग-अलग रनिंग मोड हैं जिन्हें GPIO सेट करके चुना जाता है
GPIO को ग्राउंड पर सेट करना और गेटवे कॉन्फ़िगरेशन मोड में प्रवेश करता है।
GPIO मुक्त सेट करना और गेटवे गेटवे रनिंग मोड में प्रवेश करता है।
उसके ऊपर गेटवे UDP/IP कॉन्फ़िगरेशन को दूरस्थ रूप से संशोधित किया जा सकता है
चरण 3: सामग्री का निर्माण
बहुत कम चीजों की आवश्यकता होती है
1 ESP8266 शील्ड - मुझे यह UNO R3 ESP8266 सीरियल वाईफाई शील्ड एक्सटेंड बोर्ड मॉड्यूल 9 € से कम में मिला
1 यूएनओ जो लक्ष्य Arduino लक्ष्य है
1 मेगा जो कि आर्डिनो डेवलपमेंट टूल है (आप इसके बिना कर सकते हैं लेकिन डिबग करना काफी मुश्किल है)
विकास के लिए 1 FTDI 3.3/5v
कुछ तार
चरण 4: गेटवे कोड डाउनलोड करें
इस चरण के दौरान Arduino का उपयोग केवल ESP8266 शील्ड पर पावर (USB या किसी अन्य पावर स्रोत के साथ) करने के लिए किया जाता है
ESP8266 GPIO4 को जमीन से कनेक्ट करें (कॉन्फ़िगरेशन मोड में प्रवेश करने के लिए)
शील्ड की आवश्यकता के अनुसार FTDI को 3.3v पर सेट करने का ध्यान रखें
FTDI को शील्ड से कनेक्ट करें (RX से TX)
सेट शील्ड स्विच को 1:ऑफ़ 2:ऑफ़ 3:ऑन 4:ऑन. पर सेट करें
FTDI के USB साइड को अपने कंप्यूटर से कनेक्ट करें
ईएसपी-आरएसटी पुश बटन के साथ ढाल को रीसेट करें
GitHub पर गेटवे कोड डाउनलोड करें
Arduino IDE खोलें
- FTDI मॉनिटर पोर्ट का चयन करें
- IDE सीरियल मॉनिटर खोलें - गति को 38400. पर सेट करें
- जेनेरिक ES8266 मॉड्यूल बोर्ड का चयन करें
- गेटवे कोड के साथ शील्ड फर्मवेयर को अपग्रेड करें
स्विच 3:ऑफ़ 4:ऑफ़ सेट करें
आईडीई सीरियल मॉनिटर खोलें
ईएसपी-आरएसटी पुश बटन के साथ ढाल को रीसेट करें
आपको मॉनिटर पर "ईईपीरोम इनिशियलाइज़ेशन" "इनिशियलाइज़ेशन पूरा हुआ" से शुरू होने वाले संदेशों को देखना होगा।
यह कॉन्फ़िगरेशन करने का समय है
चरण 5: गेटवे कॉन्फ़िगरेशन करते हैं
पहली बार गेटवे कोड डाउनलोड करते समय, ESP8266 Eeprom को डिफ़ॉल्ट मानों के साथ प्रारंभ किया जाएगा। आपको इस तरह के संदेश दिखाई देंगे "सेट पैरामीटर: x आकार: yy"
आप इन मानों को paramValue की कोड परिभाषा के अंदर पा सकते हैं। बेशक आप कोड डाउनलोड करने से पहले इन डिफ़ॉल्ट मानों को बदल सकते हैं लेकिन आप बाद में कमांड द्वारा अपना कॉन्फ़िगरेशन भी सेट कर सकते हैं। यह बेहतर है यदि आप मल्टीप गेटवे की योजना बनाते हैं और कोड का केवल एक संस्करण रखते हैं।
कमांड भेजने के लिए मॉनिटर सीरियल पोर्ट का उपयोग करें (एनएल और सीआर पर सेट)।
चूंकि एसएसआईडी को वर्तमान में परिभाषित नहीं किया गया है, "आपके सेकेंडसिड रिट्री से कनेक्ट नहीं हो सका: 5"
फिर वाईफ़ाई का स्कैन स्वचालित रूप से प्रारंभ हो जाएगा
यह आपके SSID को निम्न आदेशों के साथ सेट करने का समय है:
- SSID1=आपकी पसंद1
- PSW1=yourpsw1
- SSID2=आपकी पसंद2
- PSW2=yourpsw2
- एसएसआईडी = 1 (यह चुनने के लिए कि किस एसएसआईडी से शुरू करना है)
- पुनरारंभ करेंवाईफ़ाई
कुछ सेकंड के बाद आप "ShowWifi" कमांड से कनेक्शन की जांच कर सकते हैं। आपको अपने DNS सर्वर से प्राप्त गेटवे का IP पता अवश्य देखना चाहिए। अगर ऐसा है तो आगे जाने का समय आ गया है
यह 4 उप-पते (सर्वर जो जावा परीक्षण कोड चलाएगा) दर्ज करके अपने आईपी सर्वर पते को परिभाषित करने का समय है। उदाहरण के लिए:
- "आईपी1=192"
- "आईपी2=168"
- "आईपी3 = 1"
- "आईपी4=10"
एक खाली कमांड भेजकर आप सभी समर्थित कमांड देखेंगे जिनका उपयोग आप बाद में अपनी आवश्यकताओं के अनुरूप करने के लिए कर सकते हैं। सभी पैरामीटर मान ईप्रोम में संग्रहीत हैं और खाते में लेने के लिए रीबूट की आवश्यकता है।
कॉन्फ़िगरेशन तार निकालें
ढाल अब प्रवेश द्वार के रूप में चल रही है
चरण 6: Arduino कोड उदाहरण डाउनलोड करें
पहले GitHub पर मुख्य Arduino कोड डाउनलोड करें
फिर Arduino कोड डाउनलोड करें यह कमांड परिभाषा और इस सीरियल लिंक कोड को अपने पुस्तकालयों में डाउनलोड करें
फिर एक नए Arduino IDE के साथ मुख्य कोड खोलें
USB कनेक्शन के लिए Arduino सीरियल लिंक 0 को मुक्त करने के लिए शील्ड स्विच 1 और 2 को बंद करें
ढाल को रीसेट करें
FTDI तारों को मेगा सीरियल 2 (TX FTDI से RX मेगा वगैरह) से कनेक्ट करें
एक नया Arduino IDE (या एक TTY टूल) शुरू करें, FTDI Usb कनेक्ट करें और सीरियल लिंक की निगरानी करना शुरू करें
मेगा. के अंदर Arduino कोड अपलोड करें
Arduino सीरियल लिंक 0. को जोड़ने के लिए शील्ड स्विच 1 और 2 को चालू करें
ढाल को रीसेट करें
आपको यह संदेश मॉनिटर पर "USB प्रिंट प्रारंभ करें" अवश्य देखना चाहिए
चरण 7: चलो सर्वर साइड करते हैं
सर्वर उदाहरण एक जावा प्रोग्राम है जिसे आप यहाँ GitHub पर डाउनलोड कर सकते हैं
बस इसे चलाएं और जावा कंसोल को देखें और FTDI मॉनिटर को देखें
आप सर्वर और Arduino के बीच डेटा एक्सचेंज देखेंगे
चरण 8: आगे जाने के लिए
यह Arduino कोड उदाहरण मेरे होम ऑटोमेशन इंफ्रास्ट्रक्चर के ढांचे के हिस्से पर आधारित है।
यदि आप इस बुनियादी ढांचे में रुचि रखते हैं, तो मुझे बताएं। मैं स्रोत प्रकाशित करूंगा।
यदि आप गेटवे का उपयोग करना चाहते हैं तो आप Arduino कोड को सरल बना सकते हैं।
Arduino Mega पर अपने कोड को डेवलप और टेस्ट करने के बाद, आप इसे आसानी से Uno से बदल सकते हैं!
उसके ऊपर आप Arduino GPIO 7 और ESP8266 GPIO 5 के बीच एक तार कनेक्ट कर सकते हैं यदि आप चाहते हैं कि आपका Arduino Wifi कनेक्शन की जांच करे
सिफारिश की:
अपने Arduino को IP नेटवर्क से जोड़ने के लिए अपना खुद का वाईफ़ाई गेटवे कैसे बनाएं?: 11 कदम (चित्रों के साथ)
अपने Arduino को IP नेटवर्क से कनेक्ट करने के लिए अपना खुद का WIFI गेटवे कैसे बनाएं?: जितने लोग आपको लगता है कि Arduino होम ऑटोमेशन और रोबोटिक करने के लिए एक बहुत अच्छा समाधान है! लेकिन संचार के मामले में Arduinos सिर्फ सीरियल लिंक के साथ आते हैं। मैं एक ऐसे रोबोट पर काम कर रहा हूं, जिसे एक सर्वर से स्थायी रूप से कनेक्ट होने की जरूरत है जो एआर चलाता है
माइक्रोपायथन ESP32 पर आधारित लोरा गेटवे: 10 कदम (चित्रों के साथ)
लोरा गेटवे MicroPython ESP32 पर आधारित: लोरा हाल के वर्षों में बहुत लोकप्रिय रहा है। इस तकनीक का उपयोग करने वाला वायरलेस संचार मॉड्यूल आमतौर पर सस्ता (मुक्त स्पेक्ट्रम का उपयोग करके), आकार में छोटा, ऊर्जा-कुशल और लंबी संचार दूरी है, और मुख्य रूप से आपसी संचार के लिए उपयोग किया जाता है
Arduino के लिए L298 2Amp मोटर ड्राइवर शील्ड के लिए ट्यूटोरियल: 6 चरण
Arduino के लिए L298 2Amp मोटर ड्राइवर शील्ड के लिए ट्यूटोरियल: Arduino के लिए विवरणL298 2Amp मोटर ड्राइवर शील्ड L298 मोटर चालक एकीकृत सर्किट, एक पूर्ण-पुल मोटर चालक पर आधारित है। यह दो अलग 2A DC मोटर्स या 1 2A स्टेप मोटर चला सकता है। मोटर के वेग और दिशाओं को अलग से नियंत्रित किया जा सकता है
Arduino आधारित सीरियल सर्वो नियंत्रक: 6 चरण
Arduino आधारित सीरियल सर्वो कंट्रोलर: यह Arduino पर आधारित कई सर्वो के लिए एक साधारण सीरियल कंट्रोलर है। (मेरा पहला निर्देश योग्य भी :)) इसमें अधिकांश काम सॉफ्टवेयर को आर्डिनो के साथ बात करने और डेटा को पारित करने के लिए एक प्रोटोकॉल बनाने से आया था। च के रूप में
ESP8266 के माध्यम से OpenHAB के लिए HRV तापमान (सीरियल कोड उदाहरण!): 3 कदम
ESP8266 के माध्यम से OpenHAB के लिए HRV तापमान (सीरियल कोड उदाहरण!): HRV - OpenHAB के लिए वायरलेस TTL सीरियल डेटा) h हो सकता है