विषयसूची:

अपने Arduino को IP नेटवर्क से जोड़ने के लिए अपना खुद का वाईफ़ाई गेटवे कैसे बनाएं?: 11 कदम (चित्रों के साथ)
अपने Arduino को IP नेटवर्क से जोड़ने के लिए अपना खुद का वाईफ़ाई गेटवे कैसे बनाएं?: 11 कदम (चित्रों के साथ)

वीडियो: अपने Arduino को IP नेटवर्क से जोड़ने के लिए अपना खुद का वाईफ़ाई गेटवे कैसे बनाएं?: 11 कदम (चित्रों के साथ)

वीडियो: अपने Arduino को IP नेटवर्क से जोड़ने के लिए अपना खुद का वाईफ़ाई गेटवे कैसे बनाएं?: 11 कदम (चित्रों के साथ)
वीडियो: Arduino IDE में ESP8266 NodeMCU वेब सर्वर कैसे बनाएं | ट्यूटोरियल 2 2024, जुलाई
Anonim
अपने Arduino को IP नेटवर्क से कनेक्ट करने के लिए अपना खुद का WIFI गेटवे कैसे बनाएं?
अपने Arduino को IP नेटवर्क से कनेक्ट करने के लिए अपना खुद का WIFI गेटवे कैसे बनाएं?

जितने लोग आपको लगता है कि Arduino होम ऑटोमेशन और रोबोटिक करने का एक बहुत अच्छा समाधान है

लेकिन संचार के संदर्भ में Arduinos सिर्फ सीरियल लिंक के साथ आते हैं।

मैं एक ऐसे रोबोट पर काम कर रहा हूं जिसे आर्टिफिशियल इंटेलिजेंस कोड चलाने वाले सर्वर से स्थायी रूप से जुड़े रहने की जरूरत है। मैंने आरएफ नेटवर्क का उपयोग करने की कोशिश की जैसा कि मैं डोमोटिक के लिए करता हूं लेकिन यह पर्याप्त कुशल नहीं है। जैसे ही रोबोट चलता है मैं ईथरनेट Arduino Shield का उपयोग नहीं कर सकता। Arduino Wifi Shield महंगे हैं और मुझे लगता है कि यह पुराना डिज़ाइन है।

मुझे कुछ ऐसा चाहिए था जो सर्वर के साथ बहुत ही सरल और कुशल तरीके से डेटा का आदान-प्रदान कर सके।

यही कारण है कि मैंने बहुत सस्ते और बिजली कुशल ESP8266 माइक्रोकंट्रोलर के आधार पर गेटवे डिजाइन करने का फैसला किया।

यहां आप इलेक्ट्रॉनिक घटक बनाने और सॉफ्टवेयर डाउनलोड करने का तरीका जान सकते हैं।

मैंने इस गेटवे का उपयोग होम ऑटोमेशन और रोबोटिक के लिए किया।

यह एक वैश्विक होम ऑटोमेशन इंफ्रास्ट्रक्चर का हिस्सा है जिसे आप यहां देख सकते हैं

मैंने एक और शिक्षाप्रद बनाया जो ESP8266 ढाल का उपयोग करता है और टांका लगाने से बचता है

आपूर्ति

मैंने इस विषय पर एक अन्य शिक्षाप्रद लिखा

चरण 1: यह कैसे काम करता है?

यह कैसे काम करता है ?
यह कैसे काम करता है ?

गेटवे एक ESP8266 मॉड्यूल पर आधारित है।

यह मॉड्यूल एक तरफ से सीरियल लिंक के साथ दूसरी तरफ से वाईफाई के साथ आईपी नेटवर्क से जुड़ा है।

यह ब्लैक बॉक्स की तरह काम करता है। सीरियल लिंक से आने वाले डेटा पैकेट एक आईपी/यूडीपी पोर्ट पर भेजे जाते हैं और इसके विपरीत।

गेटवे पर पहली बार पावर देने के बाद आपको बस अपना खुद का कॉन्फ़िगरेशन (आईपी, वाईफ़ाई …) सेट करना होगा।

यह कच्चे ASCII और बाइनरी डेटा (कोई HTTP, JSON…) को स्थानांतरित कर सकता है

इसे सर्वर होम मेड सॉफ्टवेयर्स के साथ वस्तुओं को जोड़ने के लिए डिज़ाइन किया गया है, जिन्हें डेटा के छोटे पैकेट के तेज़ और लगातार स्थानान्तरण की आवश्यकता होती है।

Arduino मेगा के साथ उपयोग करना सबसे आसान है जिसमें एक से अधिक UART (उदाहरण के लिए Arduino मेगा) हैं, लेकिन UNO के साथ भी चल सकते हैं।

चरण 2: मुख्य कार्य क्या हैं?

अधिकतर यह एक ब्लैक बॉक्स है जो सीरियल डेटा को यूडीपी पैकेट में दोनों तरीकों से परिवर्तित और भेजता है।

इसमें 3 एलईडी हैं जो गेटवे की स्थिति और यातायात को इंगित करती हैं।

यह एक GPIO प्रदान करता है जिसका उपयोग Arduino द्वारा गेटवे के वाईफ़ाई और IP कनेक्ट होने की प्रतीक्षा करने के लिए किया जा सकता है।

यह 3 अलग-अलग मोड में चलता है जो स्विच के साथ सेट होते हैं:

  • गेटवे मोड जो सामान्य मोड है
  • पैरामीटर सेट करने के लिए उपयोग किया जाने वाला कॉन्फ़िगरेशन मोड
  • डिबग मोड जो डिबगिंग मोड के लिए है

आपकी आवश्यकताओं के अनुरूप अधिकांश मापदंडों को संशोधित किया जा सकता है।

चरण 3: सामग्री का निर्माण

सामग्री का निर्माण
सामग्री का निर्माण

अपने Arduino के शीर्ष पर आपको आवश्यकता होगी

  • 1 x ESP8266 मॉड्यूल - मैं Olimex से MOD-WIFI-ESP8266-DEV चुनता हूं जिसकी कीमत लगभग 5 यूरो है जो उपयोग करने में काफी आसान है।
  • 1 एक्स 5 वी पावर स्रोत
  • 1 x 3.3v पावर रेगुलेटर - मैं LM1086. का उपयोग करता हूं
  • 1 x 100 माइक्रोफ़ारड संधारित्र
  • 1 x ULN2803 APG मॉड्यूल (3 x ट्रांजिस्टर द्वारा प्रतिस्थापित किया जा सकता है)
  • 8 x प्रतिरोधक (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 एक्स एलईडी (लाल, हरा, नीला)
  • 1 एक्स ब्रेडबोर्ड पीसीबी
  • कुछ तार और कनेक्टर

केवल निर्माण चरणों के दौरान, आपको आवश्यकता होगी

  • कॉन्फ़िगरेशन के लिए 1 x FTDI 3.3v
  • सोल्डरिंग आयरन और टिन

टांका लगाने से पहले सभी घटकों को ब्रेडबोर्ड पर सेट करना और जांचना महत्वपूर्ण है कि सब कुछ ठीक है।

चरण 4: आइए ब्रेडबोर्ड पर इलेक्ट्रॉनिक के साथ शुरू करें

आइए ब्रेडबोर्ड पर इलेक्ट्रॉनिक के साथ शुरू करें!
आइए ब्रेडबोर्ड पर इलेक्ट्रॉनिक के साथ शुरू करें!

इलेक्ट्रॉनिक लेआउट फ्रिट्ज़िंग प्रारूप में उपलब्ध है

आप इसे यहां चरण 1 डाउनलोड कर सकते हैं:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

वोल्टेज का ध्यान रखते हुए बस स्कीमा के रूप में करें।

याद रखें कि ESP8266 3.3v से अधिक वोल्टेज का समर्थन नहीं करता है। FTDI को 3.3v पर सेट किया जाना चाहिए।

चरण 5: सॉफ्टवेयर पर चलते हैं

चलो सॉफ्टवेयर पर चलते हैं!
चलो सॉफ्टवेयर पर चलते हैं!

आइए गेटवे की ओर से शुरू करें

मैंने Arduino IDE के साथ कोड लिखा था। तो आपको IDE द्वारा बोर्ड के रूप में जाने जाने के लिए ESP8266 की आवश्यकता है। टूल्स/बोर्ड्स मेनू के साथ उपयुक्त बोर्ड का चयन करें।

यदि आपको सूची में कोई ESP266 दिखाई नहीं देता है, जिसका अर्थ है कि आपको ESP8266 Arduino Addon स्थापित करना पड़ सकता है (आप यहां प्रक्रिया पा सकते हैं)।

आपके लिए आवश्यक सभी कोड GitHub पर उपलब्ध हैं। इसे डाउनलोड करने का समय आ गया है!

गेटवे का मुख्य कोड है:

मानक Arduino और ESP8266 के शीर्ष पर इन 2 में मुख्य कोड की आवश्यकता शामिल है: LookFoString जो स्ट्रिंग्स में हेरफेर करने के लिए उपयोग किया जाता है और वहां है:

मैनेजपरमइप्रोम जिसका उपयोग ईप्रोम में मापदंडों को पढ़ने और स्टोर करने के लिए किया जाता है, वह है:

एक बार जब आप सभी कोड प्राप्त कर लेते हैं तो इसे ESP8266 में अपलोड करने का समय आ गया है। सबसे पहले FTDI को अपने कंप्यूटर के USB पोर्ट से कनेक्ट करें।

मेरा सुझाव है कि अपलोड करने का प्रयास करने से पहले आप कनेक्शन की जांच कर लें।

  • Arduino सीरियल मॉनिटर को नए USB पोर्ट पर सेट करें।
  • गति को 115200 दोनों करोड़ nl पर सेट करें (Olimex के लिए डिफ़ॉल्ट गति)
  • ब्रेडबोर्ड पर पावर (ESP8266 सॉफ्टवेयर के साथ आता है जो एटी कमांड से संबंधित है)
  • सीरियल टूल के साथ "एटी" भेजें।
  • आपको बदले में "ओके" मिलना चाहिए।

यदि नहीं, तो अपने कनेक्शन की जाँच करें और अपने ESP8266 विनिर्देशों को देखें।

अगर आपको "ओके" मिला है तो आप कोड अपलोड करने के लिए तैयार हैं

  • ब्रेडबोर्ड बंद करें, कुछ सेकंड प्रतीक्षा करें,
  • ESP8266 के ब्लैक माइक्रो-स्विथ पर दबाएं। सीरियल मॉनीटर पर कुछ कचरा आना सामान्य बात है।
  • Arduino के लिए अपलोड आईडीई पर दबाएं।
  • अपलोड पूरा होने के बाद सीरियल स्पीड को 38400 पर सेट करें।

आपको चित्र में जैसा कुछ दिखाई देगा।

बधाई हो आपने सफलतापूर्वक कोड अपलोड कर दिया है!

चरण 6: चलो कॉन्फ़िगरेशन करते हैं

चलो विन्यास करते हैं!
चलो विन्यास करते हैं!

कॉन्फ़िगरेशन मोड में प्रवेश करने के लिए configGPIO को 1 पर सेट किया जाना चाहिए।

पहले कमांड दर्ज करके वाईफ़ाई को स्कैन करें: स्कैनवाईफाई। आपको पता लगाए गए नेटवर्क की एक सूची दिखाई देगी।

  • फिर "SSID1=yournetwork" दर्ज करके अपना SSID सेट करें
  • फिर "PSW1=yourpassword" दर्ज करके अपना पासवर्ड सेट करें
  • फिर वर्तमान नेटवर्क को परिभाषित करने के लिए "SSID=1" दर्ज करें
  • गेटवे को अपने वाईफ़ाई से जोड़ने के लिए "पुनरारंभ करें" दर्ज करें।
  • आप "शो वाईफाई" दर्ज करके सत्यापित कर सकते हैं कि आपको एक आईपी मिला है।
  • नीली एलईडी चालू होगी और लाल एलईडी झपकेगी।

यह 4 उप-पते (सर्वर जो जावा परीक्षण कोड चलाएगा) दर्ज करके अपने आईपी सर्वर पते को परिभाषित करने का समय है। उदाहरण के लिए:

  • "आईपी1=192"
  • "आईपी2=168"
  • "आईपी3 = 1"
  • "आईपी4=10"

अंतिम आवश्यक चरण "सुनोपोर्ट = xxxx" दर्ज करके यूडीपी सर्वर सुनने के बंदरगाह को सेट करना है।

आपने अभी-अभी Eeprom में क्या संग्रहीत किया है, यह जाँचने के लिए "ShowEeprom" दर्ज करें

अब कॉन्फ़िगरेशन मोड को छोड़ने के लिए GPIO2 को जमीन पर प्लग करें।

आपका गेटवे काम करने के लिए तैयार है

कुछ अन्य आदेश हैं जिन्हें आप दस्तावेज़ीकरण में पा सकते हैं।

चरण 7: चलो Arduino साइड करते हैं

चलो Arduino साइड करते हैं!
चलो Arduino साइड करते हैं!
चलो Arduino साइड करते हैं!
चलो Arduino साइड करते हैं!

सबसे पहले Arduino को कनेक्ट करें।

यदि आपके पास मेगा है तो इसे शुरू करना सबसे आसान होगा। फिर भी आप एक ऊनो का उपयोग कर सकते हैं।

अपने काम की जांच करने के लिए उदाहरण का उपयोग करना सबसे अच्छा है।

आप इसे वहां डाउनलोड कर सकते हैं:

इसमें सीरियल नेटवर्क कोड शामिल है जो यहां है:

बस अपने Arduino के अंदर कोड अपलोड करें।

हर बार Arduino डेटा भेजने पर हरी एलईडी झपका रही है।

चरण 8: चलो सर्वर साइड करते हैं

चलो सर्वर साइड करते हैं!
चलो सर्वर साइड करते हैं!
चलो सर्वर साइड करते हैं!
चलो सर्वर साइड करते हैं!

सर्वर उदाहरण एक जावा प्रोग्राम है जिसे आप यहां डाउनलोड कर सकते हैं:

बस इसे चलाएं

जावा कंसोल को देखें।

Arduino मॉनिटर को देखें।

Arduino 2 अलग-अलग पैकेट भेजता है।

  • पहले वाले में डिजिटल पिन 2 से 6 की स्थिति होती है।
  • दूसरे में 2 यादृच्छिक मान होते हैं, एमवी में ए0 का वोल्टेज स्तर और वृद्धिशील गणना।

जावा प्रोग्राम

  • प्राप्त डेटा को हेक्साडेसिमल प्रारूप में प्रिंट करें
  • Arduino LED को चालू/बंद करने के लिए यादृच्छिक चालू/बंद मान के साथ पहले प्रकार के डेटा का उत्तर दें
  • प्राप्त गणना और एक यादृच्छिक मूल्य के साथ दूसरे प्रकार के डेटा का उत्तर दें।

चरण 9: यह कुछ सोल्डरिंग करने का समय है

यह कुछ सोल्डरिंग करने का समय है!
यह कुछ सोल्डरिंग करने का समय है!
यह कुछ सोल्डरिंग करने का समय है!
यह कुछ सोल्डरिंग करने का समय है!
यह कुछ सोल्डरिंग करने का समय है!
यह कुछ सोल्डरिंग करने का समय है!

यह ब्रेडबोर्ड पर काम करता है!

पीसीबी पर सोल्डरिंग पार्ट्स द्वारा इसे और अधिक मजबूत बनाने का समय आ गया है

आपने ब्रेडबोर्ड के साथ जो किया उसके ऊपर, आपको 3 कनेक्टर जोड़ने होंगे।

  • C1 1 x पिन वन जो नेटवर्क ट्रेस मोड में प्रवेश करने के लिए उपयोग किया जाएगा।
  • C2 3 x एक पिन करता है जिसका उपयोग रनिंग और कॉन्फ़िगरेशन मोड के बीच स्विच करने के लिए किया जाएगा।
  • C3 6 x पिन एक है जिसका उपयोग गेटवे को किसी Arduino या FTDI से जोड़ने के लिए किया जाएगा।

यदि आप नेटवर्क ट्रेस को सक्रिय करना चाहते हैं तो GPIO2 से जुड़े C1 को मैन्युअल रूप से ग्राउंड करना होगा।

GPIO 4 से जुड़े C2 को 2 अलग-अलग स्थितियों में सेट किया जा सकता है। एक जो सामान्य चलने वाले मोड के लिए जमीन पर सेट होता है और दूसरा कॉन्फ़िगरेशन मोड में प्रवेश करने के लिए 3.3v पर सेट होता है।

आरेख के अनुसार पीसीबी पर सभी घटकों को सेट करें और बाद में अंतिम उत्पाद प्राप्त करने के लिए मिलाप करना शुरू करें!

चरण 10: चलो अंतिम परीक्षण करते हैं

Image
Image

जावा परीक्षण कार्यक्रम शुरू करें।

Arduino कनेक्ट करें।

गेटवे पर बिजली।

और जावा कंसोल, Arduino मॉनिटर, Arduino LED और गेटवे LED को देखें।

चरण 11: आप इस डिज़ाइन को अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं

हार्डवेयर के संबंध में

  • यदि आप कुछ अन्य ESP8266 चुनते हैं, तो आपको विनिर्देशों के अनुसार समायोजित करना होगा।
  • यदि आप अन्य 3.3v नियामक चुनते हैं तो इसे 500mA से अधिक वितरित करना होगा और आपको संधारित्र को अनुकूलित करना होगा।
  • आप चमक को समायोजित करने के लिए एलईडी प्रतिरोधों को संशोधित कर सकते हैं।
  • आप सभी एलईडी को दबा सकते हैं लेकिन मैं कम से कम लाल को चालू रखने की सलाह देता हूं।
  • आप ULN2803 को 3 ट्रांजिस्टर से बदल सकते हैं (या इससे कम मैं आपको 3 एलईडी नहीं रखने का विकल्प चुनता हूं)।
  • मैंने परीक्षण किया लेकिन वहां इसे 3.3v Arduino बोर्डों के साथ काम करना चाहिए। बस Tx Rx को 3.3v कनेक्टर से कनेक्ट करें।

विन्यास के संबंध में

  • आप 2 अलग-अलग SSID स्टोर कर सकते हैं और स्विच कर सकते हैं
  • आप इस्तेमाल किए गए GPIO को संशोधित कर सकते हैं

सॉफ्टवेयर के संबंध में

सिफारिश की: