विषयसूची:

वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर: 10 कदम
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर: 10 कदम

वीडियो: वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर: 10 कदम

वीडियो: वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर: 10 कदम
वीडियो: How to View WiFi Passwords on Android Mobile Without Root and Root Method ? wifi password pata kare 2024, जुलाई
Anonim
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर
वाईफाई और एंड्रॉइड पर पोर्टेबल फंक्शन जेनरेटर

२०वीं सदी के अंत के करीब, विभिन्न तकनीकी नवाचार सामने आए, विशेष रूप से संचार के क्षेत्र में; लेकिन इतना ही नहीं। हमारे लिए, उपयोगकर्ताओं, उपभोक्ताओं और इंजीनियरों ने इलेक्ट्रॉनिक उपकरणों के तेजी से विकास को प्रकाश में लाया, जो हमारे जीवन को बहुत आसान बना सकते हैं: स्मार्ट घड़ियाँ, स्मार्ट घर, स्मार्टफोन आदि।

चूंकि आजकल सब कुछ "स्मार्ट" हो सकता है, इसलिए मैंने आवश्यक इलेक्ट्रॉनिक लैब उपकरण - पोर्टेबल फंक्शन जेनरेटर का हिस्सा बनने के लिए एक सुपर-उपयोगी डिवाइस डिजाइन करने का फैसला किया है, जिसे वाईफाई डायरेक्ट या वाईफाई लोकल एरिया नेटवर्क (डब्ल्यूएलएएन) के माध्यम से एंड्रॉइड ओएस आधारित स्मार्टफोन द्वारा नियंत्रित किया जा सकता है।)

हमें यह उपकरण क्यों बनाना चाहिए?

परीक्षण उपकरण का एक विशाल बहुमत आजकल काफी महंगा है। और कभी-कभी, ये डिवाइस पोर्टेबल नहीं होते हैं। उच्च कीमतों, पोर्टेबिलिटी की कमी और डिवाइस नेटवर्क एक्सेस की कमी के समाधान के रूप में, डिवाइस दोहरी चैनल तरंग जनरेटर प्रदान करता है, जो वास्तव में पोर्टेबल है और नेटवर्क तक अप्रतिबंधित पहुंच है - या तो इंटरनेट या स्थानीय।

और निश्चित रूप से, DIY सिद्धांतों का पालन करते हुए उत्साह के कारण डिवाइस का निर्माण किया जाना चाहिए - कभी-कभी हमें सही महसूस करने के लिए खुद को कुछ करना पड़ता है:)

प्रमुख विशेषताऐं

बिजली की आपूर्ति

  • यूएसबी टाइप-ए कनेक्टर, बिजली आपूर्ति प्रणालियों और प्रोग्रामिंग दोनों के लिए
  • पूर्ण ली-आयन बैटरी प्रबंधन प्रणाली - चार्जिंग और स्थिर मोड
  • स्मार्ट स्विच कार्यान्वयन - पावर टॉगल स्विच की कोई आवश्यकता नहीं है
  • दोहरी बिजली की आपूर्ति: सममित वोल्टेज तरंग उत्पादन के लिए +3.3V और -3.3V

तरंग पीढ़ी

  • आउटपुट कैस्केड पर डीसी स्तर का कार्यान्वयन - वोल्टेज सीमाओं के बीच पक्षपाती तरंग
  • डीडीएस आधारित 4-प्रकार की तरंग पीढ़ी - साइन, त्रिकोण, वर्ग और डीसी
  • अप करने के लिए 10 मेगाहर्ट्ज आवृत्ति समर्थन
  • 500mW अधिकतम बिजली उपलब्धता के साथ 80mA तक का आउटपुट करंट
  • तरंग निर्माण के लिए अलग चैनल - विभाजित AD9834 आधारित सर्किट

संचार

  • ESP32 का कार्यान्वयन - लागू वाईफाई क्षमताएं
  • जनरेटर डिवाइस और एंड्रॉइड स्मार्टफोन द्वारा पूर्ण टीसीपी / आईपी समर्थन
  • प्रत्येक उपकरण चक्र के लिए उपयोगकर्ता मापदंडों को संग्रहीत करने की क्षमता
  • राज्य की निगरानी - दोनों प्रणालियाँ एक-दूसरे की स्थिति से अवगत हैं: FuncGen (चलिए इसे अभी से इस तरह कहते हैं) और स्मार्टफोन।

प्रयोक्ता इंटरफ़ेस

  • साधारण 4-बिट डेटा इंटरफ़ेस के साथ 20 x 4 कैरेक्टर एलसीडी
  • Android एप्लिकेशन - FuncGen डिवाइस पर पूर्ण उपयोगकर्ता नियंत्रण
  • बजर सर्किट - उपयोगकर्ता को ध्वनि प्रतिक्रिया

चरण 1: ब्लॉक आरेख - हार्डवेयर

ब्लॉक आरेख - हार्डवेयर
ब्लॉक आरेख - हार्डवेयर
ब्लॉक आरेख - हार्डवेयर
ब्लॉक आरेख - हार्डवेयर

माइक्रोकंट्रोलर यूनिट - ATMEGA32L

माइक्रोकंट्रोलर एक प्रोग्राम करने योग्य चिप है जिसमें एक ही इलेक्ट्रॉनिक चिप में रहने वाली सभी कंप्यूटर कार्यक्षमता शामिल होती है। हमारे मामले में, यह "मस्तिष्क" और प्रणाली का एक केंद्रीय घटक है। MCU का उद्देश्य सभी परिधीय प्रणालियों का प्रबंधन करना, इन प्रणालियों के बीच संचार को संभालना, हार्डवेयर संचालन को नियंत्रित करना और उपयोगकर्ता इंटरफ़ेस और वास्तविक उपयोगकर्ता के साथ इसकी बातचीत के लिए पूर्ण समर्थन प्रदान करना है। ATMEGA32L MCU पर आधारित यह परियोजना, जो 3.3V और 8MHz की आवृत्ति पर काम कर सकती है।

संचार एसओसी - ईएसपी 32

यह SoC (सिस्टम ऑन चिप) FuncGen के लिए पूर्ण संचार सहायता प्रदान करता है - प्रत्यक्ष, स्थानीय या इंटरनेट संचार सहित वाईफाई क्षमताओं तक पहुंच। डिवाइस के उद्देश्य हैं:

  • Android ऐप और FuncGen डिवाइस के बीच डेटा ट्रांसमिशन को संभालना
  • नियंत्रण/डेटा संदेशों का प्रबंधन
  • निरंतर टीसीपी / आईपी क्लाइंट-सर्वर कॉन्फ़िगरेशन का समर्थन

हमारी परियोजना में एसओसी एस्प्रेसिफ ईएसपी 32 है, जो आगे भी विस्तार करने के लिए बहुत लोकप्रिय है:)

ली-आयन बैटरी प्रबंधन प्रणाली

हमारे डिवाइस को पोर्टेबल में बदलने के लिए, डिवाइस में डिज़ाइन किया गया ली-आयन बैटरी चार्जिंग सर्किट होता है। सर्किट MC73831 IC पर आधारित है, जिसमें एक प्रोग्रामिंग रेसिस्टर के मान को समायोजित करके नियंत्रणीय चार्जिंग करंट होता है (हम इस विषय को स्कैमैटिक्स चरण में कवर करेंगे)। डिवाइस बिजली आपूर्ति इनपुट यूएसबी टाइप-ए कनेक्टर है।

स्मार्ट स्विच सर्किट

स्मार्ट स्विच डिवाइस पावर कंट्रोल सर्किट डिवाइस शटडाउन अनुक्रम और डिवाइस बैटरी वोल्टेज कटऑफ के लिए बाहरी टॉगल स्विच की आवश्यकता की कमी पर पूर्ण सॉफ्टवेयर नियंत्रण प्रदान करता है। पावर के सारे ऑपरेशन पुश बटन और एमसीयू के सॉफ्टवेयर को दबाकर किए जाते हैं। कुछ मामलों में, सिस्टम को बंद करने की आवश्यकता होगी: कम बैटरी वोल्टेज, उच्च इनपुट वोल्टेज, संचार त्रुटि और इसी तरह। स्मार्ट स्विच STM6601 स्मार्ट स्विच IC पर आधारित है, जो कि सस्ता और खेलने के लिए बहुत अनुकूल है।

मुख्य बिजली आपूर्ति इकाई

इस इकाई में दो बैटरी चालित बिजली आपूर्ति सर्किट शामिल हैं - सभी डिजिटल / एनालॉग आपूर्ति सर्किट के लिए +3.3V और 0V क्षमता के सापेक्ष फ़नजेन सममित आउटपुट के लिए -3.3V (यानी उत्पन्न तरंग को [-3.3V:3.3V में सेट किया जा सकता है] क्षेत्र।

  • मुख्य आपूर्ति सर्किट LP3875-3.3 LDO (कम ड्रॉपआउट) 1A रैखिक वोल्टेज नियामक पर आधारित है।
  • सेकेंडरी सप्लाई सर्किट LM2262MX IC पर आधारित है, जो IC पर आधारित कैपेसिटर-चार्ज-पंप - सिस्टम के माध्यम से DC-DC नेगेटिव वोल्टेज रूपांतरण करता है।

वेवफॉर्म जेनरेटर सिस्टम

सिस्टम को अलग डीडीएस (प्रत्यक्ष डिजिटल संश्लेषण) एकीकृत सर्किट पर जोर देने के साथ डिजाइन किया गया था, जो एमसीयू के एसपीआई (सीरियल पेरीफेरल इंटरफेस) द्वारा पूर्ण तरंग उत्पादन नियंत्रण की अनुमति देता है। डिजाइन में उपयोग किए जाने वाले सर्किट एनालॉग डिवाइस AD9834 हैं जो विभिन्न प्रकार के तरंग प्रदान कर सकते हैं। AD9834 के साथ काम करते समय हमें जिन चुनौतियों का सामना करना पड़ता है वे हैं:

  • निश्चित तरंग आयाम: तरंग आयाम बाहरी डीएसी मॉड्यूल द्वारा नियंत्रित होता है
  • ऑफसेट डीसी स्तर के लिए कोई संबंध नहीं: वांछित डीसी ऑफसेट मूल्यों के साथ योग सर्किट का कार्यान्वयन
  • वर्ग तरंग और त्रिकोण/साइन तरंग के लिए अलग आउटपुट: उच्च आवृत्ति स्विचिंग सर्किट का कार्यान्वयन इस प्रकार प्रत्येक चैनल एकल आउटपुट सभी वांछित तरंग प्रदान कर सकता है: साइन, त्रिकोण, वर्ग और डीसी।

लिक्विड क्रिस्टल डिस्प्ले

एलसीडी यूआई (यूजर इंटरफेस) का एक हिस्सा है, और इसका उद्देश्य उपयोगकर्ता को यह समझने की अनुमति देना है कि वास्तविक समय मोड में डिवाइस क्या करता है। यह प्रत्येक डिवाइस स्थिति में उपयोगकर्ता के साथ इंटरैक्ट करता है।

बजर

डिवाइस से उपयोगकर्ता को अतिरिक्त प्रतिक्रिया के लिए सरल टोन जनरेटर सर्किट।

एकीकृत आईएसपी प्रोग्रामर

जब प्रोग्रामिंग प्रक्रिया की बात आती है तो हर इंजीनियर के लिए एक समस्या बनी रहती है: नए फर्मवेयर के साथ इसे रीप्रोग्राम करने के लिए उत्पाद को अलग करने की हमेशा सबसे खराब आवश्यकता होती है। इस असुविधा को दूर करने के लिए, एवीआर आईएसपी प्रोग्रामर को अंदर से डिवाइस से जोड़ा गया, जबकि यूएसबी डेटा और पावर लाइन डिवाइस के यूएसबी टाइप-ए कनेक्टर से जुड़ी हुई हैं। इस कॉन्फ़िगरेशन में, हमें प्रोग्रामिंग या चार्जिंग के लिए बस अपने FuncGen को USB केबल के माध्यम से प्लग करना होगा!

चरण 2: ब्लॉक आरेख - नेटवर्किंग

ब्लॉक आरेख - नेटवर्किंग
ब्लॉक आरेख - नेटवर्किंग

डुअल चैनल फंक्शन जेनरेटर

मुख्य उपकरण। जिसकी हमने पिछले चरण में समीक्षा की है

ईएसपी-वरूम-32

वाईफाई और बीएलई क्षमताओं के साथ एकीकृत सिस्टम-ऑन-चिप। एसओसी यूएआरटी मॉड्यूल के माध्यम से मुख्य बोर्ड (हम इसे योजनाबद्ध चरण में कवर करेंगे) से जुड़ा हुआ है और मुख्य डिवाइस और एंड्रॉइड स्मार्टफोन के बीच एक संदेश ट्रांसीवर के रूप में कार्य करता है।

वाईफाई स्थानीय नेटवर्क

स्मार्टफोन और डिवाइस टीसीपी सर्वर/क्लाइंट कॉन्फ़िगरेशन के आधार पर वाईफाई डायरेक्ट या लोकल एरिया नेटवर्क के माध्यम से संचार करेंगे। जब डिवाइस वाईफाई पर एक-दूसरे को पहचानते हैं, तो मुख्य डिवाइस उपयुक्त पैरामीटर के साथ टीसीपी सर्वर बनाता है और संदेश भेजने/प्राप्त करने में सक्षम होता है। डिवाइस स्मार्टफोन के सेकेंडरी का काम करता है। दूसरी ओर एंड्रॉइड डिवाइस, क्लाइंट नेटवर्क डिवाइस के रूप में टीसीपी सर्वर से जुड़ता है, लेकिन इसे प्राथमिक संदेश ट्रांसमीटर के रूप में माना जाता है - स्मार्टफोन वह है जो पूर्ण संचार चक्र शुरू करता है: संदेश भेजना - उत्तर प्राप्त करना।

एंड्रॉइड स्मार्टफोन

Android OS आधारित स्मार्टफोन डिवाइस जो FuncGen एप्लिकेशन पर चलता है

चरण 3: पुर्जे, उपकरण, आईडीई और सामग्री का बिल

पुर्जे, उपकरण, आईडीई और सामग्री का बिल
पुर्जे, उपकरण, आईडीई और सामग्री का बिल
पुर्जे, उपकरण, आईडीई और सामग्री का बिल
पुर्जे, उपकरण, आईडीई और सामग्री का बिल
पुर्जे, उपकरण, आईडीई और सामग्री का बिल
पुर्जे, उपकरण, आईडीई और सामग्री का बिल

सामग्री का बिल (संलग्न XLS तालिका देखें)

यूआई और सिस्टम कनेक्शन

  • 1 एक्स 2004ए चार-एलसीडी 20x4 ब्लू
  • 1 एक्स यूएसबी टाइप बी कनेक्टर
  • 1 एक्स 10 मिनी माइक्रो जेएसटी एक्सएच 2.54 मिमी 4 पिन सेट करें:
  • 1 एक्स 6 पीसीएस क्षणिक एसडब्ल्यू

पीसीबी ऑर्डरिंग (सीड स्टूडियो के अनुसार)

आधार सामग्री FR-4

परतों 2 परतों की संख्या

पीसीबी मात्रा 10

विभिन्न डिजाइनों की संख्या 1

पीसीबी मोटाई 1.6 मिमी

पीसीबी रंग नीला

सतह खत्म HASL

न्यूनतम सोल्डर मास्क बांध 0.4 मिमी↑

कॉपर वजन 1oz

न्यूनतम ड्रिल होल आकार 0.3 मिमी

ट्रेस चौड़ाई / रिक्ति 6/6 मिलियन

मढ़वाया आधा छेद / जालीदार छेद नहीं

प्रतिबाधा नियंत्रण संख्या

उपकरण

  • गर्म गोंद वाली बंदूक
  • चिमटी
  • काटने वाला
  • ~ 22AWG तार खराबी से निपटने के उद्देश्यों के लिए
  • सोल्डरिंग आयरन / स्टेशन
  • सोल्डरिंग टिन
  • SMD रीवर्क स्टेशन (वैकल्पिक)
  • 3D प्रिंटर (वैकल्पिक)
  • फ़ाइल निकालना
  • एवीआर आईएसपी प्रोग्रामर
  • USB से सीरियल कन्वर्टर (वैकल्पिक, डिबगिंग उद्देश्यों के लिए)

एकीकृत विकास पर्यावरण (आईडीई) और सॉफ्टवेयर

  • ऑटोडेस्क ईगल या ताल योजनाबद्ध संपादक / एलेग्रो पीसीबी संपादक
  • ओपनएससीएडी (वैकल्पिक)
  • अल्टिमेकर क्यूरा (वैकल्पिक)
  • बिक्री तर्क (समस्या निवारण के लिए)
  • एटमेल स्टूडियो 6.3 या इसके बाद के संस्करण
  • एंड्रॉइड स्टूडियो या एक्लिप्स आईडीई
  • डॉकलाइट सीरियल मॉनिटर / अन्य COM पोर्ट मॉनिटरिंग सॉफ्टवेयर
  • AVR ATMEGA32L फ्लैश प्रोग्रामिंग के लिए ProgISP

चरण 4: हार्डवेयर डिजाइन - मुख्य बोर्ड

हार्डवेयर डिजाइन - मुख्य बोर्ड
हार्डवेयर डिजाइन - मुख्य बोर्ड
हार्डवेयर डिजाइन - मुख्य बोर्ड
हार्डवेयर डिजाइन - मुख्य बोर्ड
हार्डवेयर डिजाइन - मुख्य बोर्ड
हार्डवेयर डिजाइन - मुख्य बोर्ड

बैटरी प्रबंधन सर्किट

बैटरी चार्जिंग सर्किट MCP7383 IC पर आधारित है, जो हमें Li-Ion बैटरी के लिए वांछित चार्जिंग करंट का चयन करने की अनुमति देता है - 850mAh की क्षमता के साथ 3.7V। चार्जिंग करंट हमारे मामले में प्रोग्रामिंग रेसिस्टर वैल्यू (R1) द्वारा निर्धारित किया जाता है

R1 = 3KOhm, I(चार्ज) = 400mA

USB वोल्टेज VBUS को π-फ़िल्टर (C1, L3, C3) द्वारा फ़िल्टर किया जाता है और चार्जिंग सर्किट के लिए एक शक्ति स्रोत के रूप में कार्य करता है।

वोल्टेज डिवाइडर सर्किट (आर 2, आर 3) एमसीयू को यह इंगित करने की अनुमति देता है कि एमसीयू ए / डी चैनल को निम्नलिखित वोल्टेज प्रदान करके बाहरी यूएसबी बिजली की आपूर्ति जुड़ी हुई है या नहीं:

वी (संकेत) ~ (2/3) वी (बस)

चूंकि ATMEGA32L का हमारा A/D 12-बिट है, इसलिए हम डिजिटल रेंज की गणना कर सकते हैं:

ए/डी (रेंज) = ४०९५ वी (संकेत) / वी (आरईएफ)।

ए/डी [१४एएच: एफएफएफएच]

स्मार्ट स्विच पावर यूनिट

सर्किट सिस्टम को एमसीयू पर पुश-बटन और सॉफ्टवेयर दोनों से प्रत्येक डिज़ाइन किए गए ब्लॉक में बिजली की आपूर्ति को नियंत्रित करने की अनुमति देता है और यह रीसेट के बजाय पावर विकल्प के साथ STM6601 स्मार्ट-स्विच पर आधारित है। जिन टर्मिनलों पर हम विचार करना चाहते हैं वे हैं:

  • PSHOLD - इनपुट लाइन, जो डिवाइस की स्थिति को परिभाषित करती है: यदि कम खींचा जाता है, तो डिवाइस सभी माध्यमिक बिजली आपूर्ति इकाइयों (+3.3V और -3.3V) को अक्षम कर देता है। यदि उच्च रखा जाता है - डिवाइस स्थिति पर रहता है।
  • nSR और nPB - इनपुट लाइनें। पुश बटन टर्मिनल। जब इन पिनों पर गिरने वाले किनारे का पता लगाया जाता है, तो डिवाइस पावर अप / डाउन मोड में प्रवेश करने का प्रयास करता है
  • एनआईएनटी - आउटपुट लाइन। पुश बटन दबाए जाने पर हर बार कम खींचा जाता है
  • एन - आउटपुट लाइन, माध्यमिक बिजली आपूर्ति इकाइयों के लिए बिजली सक्षम के रूप में उपयोग की जाती है। जबकि कम आयोजित किया जाता है, दोनों माध्यमिक बिजली आपूर्ति अक्षम हैं

अंतिम डिजाइन पर आगे बढ़ने से पहले कुछ महत्वपूर्ण नोट हैं:

  • PSHOLD को 3.3V तक खींचा जाना चाहिए, क्योंकि ऐसे मामले हैं जब MCU सभी I/Os को हाई-जेड स्थिति में होने के लिए मजबूर कर रहे हैं। इस मामले में, MCU से PSHOLD की स्थिति अज्ञात है और डिवाइस प्रोग्रामिंग प्रक्रिया को नाटकीय रूप से प्रभावित कर सकती है।
  • STM6601 को RESET विकल्प (मैं उसमें गिर गया) के बजाय लंबे प्रेस पर EN समायोजन विकल्प के साथ ऑर्डर किया जाना चाहिए।

बिजली आपूर्ति इकाई: +3.3V

हमारी परियोजना में सभी प्रणालियों के लिए मुख्य बिजली आपूर्ति। जब +3.3V लाइन GND स्तर (यानी कोई वोल्टेज प्रस्तुत नहीं) पर होती है, तो स्मार्ट स्विच को छोड़कर सभी IC अक्षम हो जाते हैं। सर्किट LDO LP-3875-3.3 IC पर आधारित है, जिसमें EN टर्मिनल के माध्यम से नियंत्रित होने की क्षमता है और 1A तक का करंट प्रदान करता है।

इस सर्किट के लिए पावर स्रोत बैटरी वोल्टेज है, जिसमें VBUS सेंसिंग सर्किट के समान कॉन्फ़िगरेशन में VBAT को सेंस करने के लिए संलग्न A/D संकेतक है। इस मामले में, गणना थोड़ी भिन्न होती है;

वी (बैटरी-टू-ए/डी) = ०.५९वी (बैटरी); ए/डी (रेंज) ∈ [000H: C03H]

बिजली आपूर्ति इकाई: -3.3V

नकारात्मक वोल्टेज आपूर्ति सर्किट हमें 0V के डीसी कारक के साथ सममित तरंग उत्पन्न करने की अनुमति देता है (यानी तरंग औसत मान 0V होने में सक्षम है)। यह सर्किट LM2662MX IC - DC/DC कनवर्टर पर आधारित है जो "चार्ज पंप" विधि पर काम करता है। सर्किट का अधिकतम आउटपुट करंट 200mA है जो हमारी डिजाइन आवश्यकताओं के लिए पर्याप्त है - हम प्रत्येक डिवाइस के चैनल से 80mA आउटपुट करंट के साथ सीमित हैं।

IC सभी आवश्यक कार्य करता है, इसलिए हमें केवल दो इलेक्ट्रोलाइटिक कैपेसिटर संलग्न करने की आवश्यकता है: स्विचिंग के लिए C33 और -3.3V लाइन बाईपास के लिए C34 (शोर में कमी के विचार)। स्विचिंग की आवृत्ति डिजाइन में नगण्य है यदि हम सर्किट को तरंग पीढ़ी के हिस्सों से काफी दूर रख रहे हैं (हम पीसीबी लेआउट चरण में इसकी चर्चा करेंगे)।

माइक्रोकंट्रोलर यूनिट - एमसीयू

यह हमारे सिस्टम का मैनेजर और सीईओ है - कंट्रोल, नेटवर्क हैंडलिंग, मैसेज ट्रांसमिशन और यूआई सपोर्ट - सब कुछ एमसीयू द्वारा है।

चुना गया MCU Atmel ATMEGA32L है, जहां L समर्थित वोल्टेज ऑपरेशन ∈ [2.7V: 5.5V] के लिए खड़ा है। हमारे मामले में, ऑपरेटिंग वोल्टेज +3.3V है।

आइए हमारे डिजाइन में एमसीयू के साथ काम करने वाले मुख्य ऑपरेशन ब्लॉकों पर विचार करें, जिन्हें समझना आवश्यक है:

  • बाहरी थरथरानवाला - एक वैकल्पिक घटक है, क्योंकि हम 8 मेगाहर्ट्ज ऑपरेटिंग आवृत्ति में रुचि रखते हैं
  • परिधीय नियंत्रण, SPI नेटवर्क - सभी परिधीय उपकरण (ESP32 को छोड़कर) SPI के माध्यम से MCU के साथ संचार कर रहे हैं। सभी उपकरणों (SCK, MOSI, MISO) के लिए तीन साझा लाइनें हैं और प्रत्येक परिधीय सर्किट की अपनी समर्पित CS (चिप सेलेक्ट) लाइन है। SPI डिवाइस जो डिवाइस का हिस्सा हैं:

    1. आयाम नियंत्रण के लिए डी/ए - चैनल ए
    2. आयाम नियंत्रण के लिए डी/ए - चैनल बी
    3. AD9834 डिवाइस - चैनल ए
    4. AD9834 डिवाइस - चैनल बी
    5. पूर्वाग्रह वोल्टेज नियंत्रण के लिए डी/ए - चैनल ए
    6. पूर्वाग्रह वोल्टेज नियंत्रण के लिए डी/ए - चैनल बी
    7. एलसीडी चमक / कंट्रास्ट सेटिंग्स के लिए डिजिटल पोटेंशियोमीटर
  • एलसीडी सपोर्ट - चूंकि एलसीडी एक सामान्य 20 x 4 कैरेक्टर डिस्प्ले है, हम 4-बिट इंटरफेस (लाइन्स डी 7: डी 4), कंट्रोल पिन (लाइन्स आरएस, ई) और ब्राइटनेस / कंट्रास्ट कंट्रोल (लाइन्स वी 0 और एनोड) का उपयोग कर रहे हैं।
  • आरजीबी एलईडी समर्थन - यह मॉड्यूल वैकल्पिक है, लेकिन एमसीयू से जुड़े उपयुक्त प्रतिरोधों के साथ सामान्य कैथोड आरजीबी एलईडी कनेक्टर है।
  • पावर कंट्रोल - एमसीयू रीयल टाइम मोड में पावर सिस्टम मॉनिटरिंग करता है, और सभी आवश्यक बिजली घटनाओं को संभालता है:

    1. VBAT_ADC - बैटरी वोल्टेज की निगरानी और उसकी स्थिति का निर्धारण (ADC0 चैनल)
    2. PWR_IND - बाहरी बिजली आपूर्ति कनेक्शन का संकेत (ADC1 चैनल)
    3. PS_HOLD - सभी परिभाषित प्रणालियों के लिए प्राथमिक पावर सक्षम लाइन। जब एमसीयू द्वारा कम खींचा जाता है, तो डिवाइस नीचे चला जाता है
    4. स्मार्ट स्विच का इंटरप्ट टर्मिनल - पुश बटन स्टेट मॉनिटरिंग
  • वाईफाई नेटवर्क प्रबंधन - ESP32: MCU UART इंटरफ़ेस के माध्यम से ESP32 के साथ संचार करता है। चूंकि 8 मेगाहर्ट्ज हमें अपेक्षाकृत छोटी त्रुटि के साथ 115200 की बॉड दर को लागू करने की अनुमति देता है, हम बॉड दर परिवर्तनों की पूर्व-परिभाषाओं के बिना सर्किट में ईएसपी 32 का उपयोग कर सकते हैं।

एवीआर आईएसपी प्रोग्रामर

हमारे एमसीयू को एसपीआई के माध्यम से प्रोग्राम किया गया है जिसमें रीसेटिंग लाइन (/ आरएसटी) को उचित संचालन के लिए उच्च खींचा जाना है (यदि नहीं - एमसीयू खुद को हमेशा के लिए रीसेट स्थिति में पाएगा)।

डिवाइस को USB के माध्यम से प्रोग्राम और चार्ज दोनों की अनुमति देने के लिए, मैंने AVR ISP प्रोग्रामर (छोटे आकार का उत्पाद, eBay से खरीदा गया) संलग्न किया है। डिवाइस को पूर्ण USB समर्थन बनाए रखने के लिए, AVR ISP डिवाइस के साथ USB टाइप-A (D+, D-, VBUS और GND) टर्मिनलों को जोड़ने की आवश्यकता है।

वेवफॉर्म जनरेशन सर्किट

डिवाइस का मूल ये सर्किट हैं। AD9834 एक कम-शक्ति वाला DDS उपकरण है जो हमें वे सभी तरंगें प्रदान करता है जिन्हें हम सिस्टम से पुनर्प्राप्त करना चाहते हैं। सर्किट में अलग-अलग बाहरी 50 मेगाहर्ट्ज ऑसिलेटर के साथ दो स्वतंत्र AD9834 IC होते हैं (जैसा कि इसे योजनाबद्ध में देखा जा सकता है)। अलग थरथरानवाला का कारण एक डिजिटल सर्किट शोर में कमी के विचार हैं, इसलिए निर्णय AD9834 से सटे दोलक के साथ उचित 50MHz लाइनों को संभालने का था।

अब कुछ गणित पर नजर डालते हैं:

चूंकि डीडीएस डिवाइस 28-बिट रजिस्टर में आउटपुट वैल्यू के साथ फेज व्हील तकनीक पर काम करता है, इसलिए हम गणितीय रूप से वेवफॉर्म जनरेशन का वर्णन कर सकते हैं:

डीपी (चरण) = dt; = पी' = 2πf; f(AD9834) = P * f(clk) / 2^28; पी ∈ [0: 2^28 - 1]

और AD9834 डेटाशीट के अनुसार, अधिकतम आवृत्ति को ध्यान में रखते हुए, आउटपुट फ़्रीक्वेंसी रिज़ॉल्यूशन प्राप्त किया जा सकता है:

Δf = k * f(थरथरानवाला) / f(अधिकतम) = ०.२८ * ५०M / २८M = ०.१८७ [हर्ट्ज]

AD9834 IC त्रिकोण/साइन वेव (IOUT टर्मिनल) के लिए एक एनालॉग करंट आउटपुट और स्क्वायर वेव (SIGN_OUT टर्मिनल) के लिए डिजिटल आउटपुट प्रदान करते हैं। साइन बिट का उपयोग थोड़ा मुश्किल है लेकिन हम इसे संभालने में सक्षम हैं - हर बार जब डीडीएस तुलना मूल्य की सीमा से गुजरता है, तो SIGN_OUT तदनुसार व्यवहार करता है। प्रत्येक चैनल के आउटपुट से 200Ohm रेसिस्टर जुड़ा होता है, इसलिए आउटपुट वोल्टेज का एक सार्थक मान होगा:

मैं (एकल चैनल) = वी (आउटपुट) / आर (वोल्टेज चयन); वी (आउटपुट) = आर (वीएस) * आई (एसएस) = 200 आई (एसएस) [ए]

आयाम नियंत्रण (डी/ए) सर्किट

AD9834 की डेटाशीट के अनुसार, DDS फुल स्केल सिस्टम को करंट प्रदान करके इसके आयाम को समायोजित किया जा सकता है, इसलिए डुअल D/A IC की मदद से हम उस करंट को एडजस्ट करके आउटपुट सिग्नल के आयाम को नियंत्रित कर सकते हैं। एक बार फिर, कुछ गणित:

मैं (पूर्ण पैमाने) = 18 * (V_REF - V_DAC) / R_SET [ए]

स्कीमैटिक्स के अनुसार और कुछ संख्याओं को समीकरण में रखना:

मैं (पूर्ण पैमाने) = ३.८६ - १.१७ * V_DAC [ए]

डिजाइन में प्रयुक्त डी/ए मॉड्यूल 12-बिट एमसीपी4922 है, जब करंट [0mA: 3.86mA] की सीमा में होता है और रैखिक आयाम फ़ंक्शन होता है:

वी (आयाम चयन) = 1 - [वी (डी/ए) / (2^12 - 1)]

तरंग बहुसंकेतन सर्किट

स्क्वायर वेव और साइन/ट्राएंगल वेव जनरेशन आउटपुट AD9834 पर अलग हो जाते हैं इसलिए हमें एक अलग चैनल से सभी वांछित तरंगों को पुनः प्राप्त करने की अनुमति देने के लिए दोनों आउटपुट के लिए एक हाई स्पीड मल्टीप्लेक्सिंग सर्किट का उपयोग करना होगा। बहुसंकेतक IC एक ADG836L एनालॉग स्विच है जिसमें बहुत कम प्रतिरोध (~ 0.5Ohm) होता है।

एमसीयू आउटपुट के लिए जिस चयन तालिका का उपयोग कर रहा है वह है:

मोड चयन [D2:D1] | आउटपुट चैनल ए | आउटपुट चैनल बी

00 | ज्या/त्रिकोण | ज्या/त्रिकोण 01 | ज्या/त्रिकोण | स्क्वायर 10 | स्क्वायर | ज्या/त्रिकोण 11 | स्क्वायर | वर्ग

पूर्वाग्रह वोल्टेज नियंत्रण (डी / ए) सर्किट

तरंग जनरेटर की मुख्य विशेषताओं में से एक इसके डीसी मूल्य को नियंत्रित करना है। इस डिज़ाइन में यह प्रत्येक चैनल के लिए वांछित डी/ए वोल्टेज सेट करके किया जाता है, और इन पूर्वाग्रह वोल्टेज को मल्टीप्लेक्स आउटपुट के साथ अभिव्यक्त किया जाता है, जिस पर हमने थोड़ा पहले चर्चा की है।

D/A से प्राप्त वोल्टेज [0V: +3.3V] की सीमा में है, इसलिए एक op-amp आधारित सर्किट है जो D/A रेंज को [-3.3V: +3.3V] पर मैप करता है, जिससे डिवाइस पूरी रेंज प्रदान कर सकता है। वांछित डीसी घटक की। हम कष्टप्रद विश्लेषणात्मक गणित को छोड़ देंगे, और केवल अंतिम परिणामों पर ध्यान केंद्रित करेंगे:

V_OUT(चैनल B) = V_BIAS_B(+) - V_BIAS_B(-); V_OUT(चैनल A) = V_BIAS_A(+) - V_BIAS_A(-)

अब, DC कंपोनेंट रेंज [-3.3V: +3.3V] रेंज में स्थित है।

सारांश सर्किट - डीसी घटक और तरंग आउटपुट

इस बिंदु पर हमारे पास उचित डिवाइस आउटपुट के लिए आवश्यक सब कुछ है - पूर्ण वोल्टेज रेंज में पूर्वाग्रह वोल्टेज (डीसी घटक), और बहुसंकेतन AD9834 आउटपुट। हम समिंग एम्पलीफायर - op-amp कॉन्फ़िगरेशन का उपयोग करके ऐसा करेंगे

आइए एक बार फिर से गणित को छोड़ दें (हमने पहले से ही बहुत सारे गणितीय दृष्टिकोण को कवर किया है) और संक्षेप में एम्पलीफायर के आउटपुट का अंतिम परिणाम लिखें:

वी (डिवाइस आउटपुट) = वी (पॉजिटिव बायस) - वी (नेगेटिव बायस) - वी (मल्टीप्लेक्स आउटपुट) [वी]

अत:

V_OUT = ΔV_BIAS - V_AD9834 [V]

BNC प्रकार के आउटपुट कनेक्टर एक चयन प्रतिरोधों (R54, R55; R56, R57) से जुड़े होते हैं। इसका कारण यह है कि इस मामले में कि डिजाइन खराब हो सकता है, हम अभी भी चयन कर सकते हैं कि क्या हम समिंग एम्पलीफायर का उपयोग करना चाहते हैं।

महत्वपूर्ण नोट: डिवाइस से प्राप्त किए जा सकने वाले अधिकतम आयाम को बदलने के लिए, अंतिम योग एम्पलीफायरों के प्रतिरोधी नेटवर्क को एक डिजाइनर द्वारा समायोजित किया जा सकता है। मेरे मामले में, सभी एएमपीएस समान लाभ = 1 साझा करते हैं, इस प्रकार अधिकतम बफर आयाम त्रिभुज/साइन तरंग के लिए 0.7Vpp और वर्ग तरंग के लिए 3.3Vpp है। विशिष्ट गणितीय दृष्टिकोण चरण की संलग्न छवियों के बीच पाया जा सकता है।

ESP32 बाहरी मॉड्यूल के रूप में

MCU UART इंटरफ़ेस के माध्यम से ESP32 के साथ संचार करता है। चूँकि मैं ESP32 के लिए अपना खुद का PCB चाहता था, इसलिए कनेक्ट करने के लिए 4 टर्मिनल उपलब्ध हैं: VCC, RX, TX, GND। J7 PCB के बीच एक इंटरफ़ेस कनेक्टर है, और ESP32 को डिवाइस के अंदर बाहरी मॉड्यूल के रूप में आवंटित किया जाएगा।

यूजर इंटरफेस - एलसीडी और स्पीकर

एलसीडी जो इस्तेमाल किया गया था वह 4-बिट इंटरफ़ेस के साथ एक सामान्य 20 x 4 वर्ण डिस्प्ले है, जैसा कि डिज़ाइन से देखा जा सकता है कि एलसीडी टर्मिनल "ए" और "वी0" से जुड़ा एक एसपीआई डिजिटल पोटेंशियोमीटर है - इसका उद्देश्य समायोजित करना है प्रोग्रामेटिक रूप से एलसीडी मॉड्यूल की चमक और कंट्रास्ट।

स्पीकर एमसीयू से सरल स्क्वायर वेव जनरेशन द्वारा उपयोगकर्ता के लिए ध्वनि आउटपुट प्रदान करता है। BJT T1 स्पीकर के माध्यम से करंट को नियंत्रित करता है जो सिर्फ दो अवस्थाओं में हो सकता है - ON / OFF।

चरण 5: हार्डवेयर डिज़ाइन - ESP32 मॉड्यूल

हार्डवेयर डिजाइन - ESP32 मॉड्यूल
हार्डवेयर डिजाइन - ESP32 मॉड्यूल

ESP32 का उपयोग मुख्य PCB के लिए बाहरी मॉड्यूल के रूप में किया जाता है। डिवाइस संचार एटी कमांड पर आधारित होता है, जो जेनेरिक डिवाइस फर्मवेयर पर उपलब्ध होते हैं।

इस डिज़ाइन पर विस्तार करने के लिए बहुत कुछ नहीं है, लेकिन डिज़ाइन के लिए कुछ नोट्स हैं:

  • ESP32 के उचित UART मॉड्यूल का उपयोग करने में विफलता से निपटने के लिए, मैंने TX और RX दोनों लाइनों के लिए तीन चयन प्रतिरोधों को संलग्न किया है। (प्रत्येक के लिए 0 ओम)। मानक विन्यास के लिए, एटी कमांड के लिए UART2 मॉड्यूल का उपयोग किया जाता है (R4, R7 को मिलाप किया जाना चाहिए)
  • डिवाइस में 4-लाइन आउटपुट है - VCC, GND, TX, RX।
  • IO0 और EN पिन डिवाइस के संचालन का मूल्यांकन करते हैं और इसे डिजाइन किया जाना चाहिए क्योंकि यह स्कीमैटिक्स में प्रदान किया गया है

सभी पीसीबी सुविधाओं को हम निम्नलिखित चरण में शामिल करेंगे।

चरण 6: पीसीबी लेआउट

पीसीबी लेआउट
पीसीबी लेआउट
पीसीबी लेआउट
पीसीबी लेआउट
पीसीबी लेआउट
पीसीबी लेआउट

एक पीसीबी डिजाइन करने के लक्ष्य

  1. एक ही बोर्ड पर सभी एकीकृत परिपथों के लिए एम्बेडेड सिस्टम बनाएं
  2. एकल मुख्य पीसीबी डिजाइन करके डिवाइस के प्रदर्शन में सुधार करें
  3. लागत में कमी - यदि आप कीमतों को देखना चाहते हैं, तो कम लागत वाली डिज़ाइन वास्तव में कम लागत वाली हैं
  4. इलेक्ट्रॉनिक बोर्ड का आकार छोटा करें
  5. समस्या निवारण में आसान - हम प्रत्येक संभावित खराबी लाइन के लिए टीपी (परीक्षण बिंदु) का उपयोग कर सकते हैं।

तकनीकी पैमाने

दोनों पीसीबी: मुख्य और ईएसपी 32 बोर्ड निर्माण प्रक्रिया के लिए समान विशेषताएं साझा करते हैं - कम लागत और हमारे उद्देश्यों के लिए संचालन योग्य। आइए उन्हें देखें:

ए - मुख्य बोर्ड

  • आकार: 10 सेमी x 5.8 सेमी
  • परतों की संख्या: 2
  • पीसीबी मोटाई: 1.6 मिमी
  • न्यूनतम ट्रेस स्पेस/चौड़ाई: 6/6 मिली
  • छेद व्यास के माध्यम से न्यूनतम: 0.3 मिमी
  • पीसीबी के किनारे तक कॉपर न्यूनतम दूरी: 20mil
  • भूतल परिष्करण: एचएएसएल (सुंदर दिखने वाला चांदी का रंग सस्ता प्रकार)

बी - मुख्य बोर्ड

  • आकार: 3 सेमी x 4 सेमी
  • परतों की संख्या: 2
  • पीसीबी मोटाई: 1.6 मिमी
  • न्यूनतम ट्रेस स्पेस/चौड़ाई: 6/6 मिली
  • छेद व्यास के माध्यम से न्यूनतम: 0.3 मिमी
  • पीसीबी के किनारे तक कॉपर न्यूनतम दूरी: 20mil
  • सतह परिष्करण: HASL

चरण 7: 3D संलग्नक

3डी संलग्नक
3डी संलग्नक

मैंने इसे खुद से डिज़ाइन नहीं किया था, क्योंकि उस समय मैं इस डिवाइस को काम करने के लिए राजी कर रहा था, इसलिए मुझे सभी 3D प्रिंटिंग बेसिक्स के बारे में बिल्कुल भी जानकारी नहीं थी। इस प्रकार मैंने अपने डिवाइस के विनिर्देशों के अनुसार, थिंगविवर्स से एक एससीएडी परियोजना का उपयोग किया है, और सीमाओं के लिए विभिन्न एपर्चर संलग्न किए हैं।

  1. प्रिंटिंग डिवाइस: Creality Ender-3
  2. बिस्तर का प्रकार: कांच, 5 मिमी मोटाई
  3. फिलामेंट व्यास: 1.75mm
  4. फिलामेंट प्रकार: पीएलए+
  5. नोजल व्यास: 0.4 मिमी
  6. प्रारंभिक गति: 20 मिमी / सेकंड
  7. औसत गति: 65 मिमी / सेकंड
  8. समर्थन: एन / ए
  9. इन्फिल: 25%
  10. तापमान:

    • बिस्तर: 60 (ओसी)
    • नोजल: 215 (ओसी)
  11. फिलामेंट रंग: काला
  12. एपर्चर की कुल संख्या: 5
  13. संलग्नक पैनलों की संख्या: 4

    • शीर्ष शैल
    • निचला खोल
    • सामने का हिस्सा
    • पिछला फलक

चरण 8: सॉफ्टवेयर कार्यान्वयन - एमसीयू

सॉफ्टवेयर कार्यान्वयन - एमसीयू
सॉफ्टवेयर कार्यान्वयन - एमसीयू
सॉफ्टवेयर कार्यान्वयन - एमसीयू
सॉफ्टवेयर कार्यान्वयन - एमसीयू
सॉफ्टवेयर कार्यान्वयन - एमसीयू
सॉफ्टवेयर कार्यान्वयन - एमसीयू

Android और Atmega32 कोड के लिए GitHub लिंक

सॉफ्टवेयर एल्गोरिथम

एमसीयू द्वारा किए जाने वाले सभी कार्यों को संलग्न फ़्लोचार्ट में वर्णित किया गया है। इसके अलावा, परियोजना के लिए एक संलग्न कोड है। आइए सॉफ्टवेयर विनिर्देशों को कवर करें:

शक्तिप्रापक

इस स्तर पर, एमसीयू एंड्रॉइड डिवाइस के साथ संग्रहीत संचार प्रकार के निर्धारण के साथ सभी प्रारंभिक अनुक्रम करता है: डायरेक्ट वाईफाई या डब्ल्यूएलएएन नेटवर्क संचार - यह डेटा ईईपीरोम में संग्रहीत होता है। उपयोगकर्ता इस स्तर पर एंड्रॉइड डिवाइस पेयरिंग प्रकार को फिर से परिभाषित कर सकता है।

डायरेक्ट एंड्रॉइड डिवाइस पेयरिंग

इस प्रकार की जोड़ी FuncGen डिवाइस द्वारा वाईफाई नेटवर्क निर्माण पर आधारित है। यह एक विशिष्ट एसएसआईडी (वाईफाई नेटवर्क नाम) और एक विशिष्ट पोर्ट नंबर के साथ स्थानीय डिवाइस आईपी पर एपी (एक्सेस प्वाइंट) और एक टीसीपी सर्वर बनाएगा। डिवाइस को राज्य को पकड़ना चाहिए - कनेक्शन के लिए खुला।

जब Android डिवाइस FuncGen से कनेक्ट होता है, तो MCU सक्रिय मोड में प्रवेश करता है, और Android डिवाइस से उपयोगकर्ता के निर्देशों के अनुसार प्रतिक्रिया करता है।

WLAN पेयरिंग

स्थानीय वाईफाई नेटवर्क पर संचार करने के लिए, एमसीयू को एपी बनाने, एंड्रॉइड डिवाइस के साथ संचार करने और महत्वपूर्ण नेटवर्क डेटा का आदान-प्रदान करने के लिए ईएसपी 32 के लिए आदेश प्रदान करना चाहिए:

  • एंड्रॉइड डिवाइस FuncGen से अपना मैक पता प्राप्त करता है, इसे मेमोरी में स्टोर करता है।
  • FuncGen डिवाइस Android डिवाइस से चयनित WLAN पैरामीटर प्राप्त करता है: SSID, सुरक्षा का प्रकार और पासवर्ड और इसे EEPROM में संग्रहीत करता है।

जब डिवाइस वास्तव में एक ही WLAN से जुड़े होते हैं, तो Android डिवाइस WLAN से जुड़े उपकरणों के सभी MAC पतों को स्कैन करके FuncGen की खोज करेगा। जब एंड्रॉइड डिवाइस मैक मैच निर्धारित करता है, तो यह संचार करने का प्रयास करता है।

कनेक्शन और स्टेट हैंडलिंग - एमसीयू

जब डिवाइस एक दूसरे के साथ संचार करते हैं, तो प्रोटोकॉल (पूर्व-अंतिम चरण देखें) वही रहता है, और फ़्लोचार्ट वही रहता है।

डिवाइस राज्य निगरानी

समयबद्ध व्यवधान एमसीयू को राज्य संचालन के लिए आवश्यक विवरण प्रदान करता है। टाइमर के प्रत्येक चक्र में रुकावट, मापदंडों की निम्नलिखित सूची अपडेट की जाती है:

  • बाहरी बिजली की आपूर्ति - चालू / बंद
  • बैटरी वोल्टेज राज्य
  • प्रत्येक अनुकूलन के लिए UI अपडेट
  • पुश-बटन: दबाया गया/दबाया नहीं गया

चरण 9: सॉफ्टवेयर कार्यान्वयन - Android ऐप

सॉफ्टवेयर कार्यान्वयन - Android ऐप
सॉफ्टवेयर कार्यान्वयन - Android ऐप
सॉफ्टवेयर कार्यान्वयन - Android ऐप
सॉफ्टवेयर कार्यान्वयन - Android ऐप
सॉफ्टवेयर कार्यान्वयन - Android ऐप
सॉफ्टवेयर कार्यान्वयन - Android ऐप
सॉफ्टवेयर कार्यान्वयन - Android ऐप
सॉफ्टवेयर कार्यान्वयन - Android ऐप

एंड्रॉइड ऐप जावा-एंड्रॉइड स्टाइल में लिखा गया है। मैं इसे पिछले चरणों की तरह ही समझाने की कोशिश करूंगा - एल्गोरिथ्म को अलग-अलग कोड ब्लॉक में विभाजित करके।

पावर अप अनुक्रम

डिवाइस का पहला क्रम। यहां एंड्रॉइड डिवाइस के जीपीएस और वाईफाई मॉड्यूल को सक्षम करने के साथ ऐप लोगो प्रस्तुत किया गया है (चिंता न करें, जीपीएस केवल वाईफाई उचित नेटवर्क स्कैन के लिए आवश्यक है)।

मुख्य मेनू

ऐप बूट होने के बाद स्क्रीन पर चार बटन दिखाई देंगे। बटन क्रिया:

  1. प्रत्यक्ष कनेक्शन: IOT_FUNCGEN के SSID द्वारा FuncGen के AP से कनेक्शन प्रारंभ करना। यदि कनेक्शन सफल होता है, तो डिवाइस मुख्य UI मोड में प्रवेश करता है।
  2. वाईफ़ाई कनेक्शन: डिवाइस जांचता है कि मेमोरी में डेटा पैरामीटर संग्रहीत हैं या नहीं: wifi.txt, mac.txt। यदि कोई डेटा संग्रहीत नहीं है, तो डिवाइस उपयोगकर्ता के अनुरोध को अस्वीकार कर देगा और पॉप-अप संदेश प्रदान करेगा कि WLAN युग्मन पहले किया जाना है।
  3. पेयरिंग: फंकजेन के साथ डायरेक्ट कनेक्शन की तरह ही संचार करना, लेकिन संदेश के निरंतर आदान-प्रदान के बजाय, एक ही हाथ मिलाना है। एंड्रॉइड डिवाइस जांचता है कि क्या यह पहले से ही वाईफाई नेटवर्क से जुड़ा है, और उपयोगकर्ता से पासवर्ड दर्ज करने का अनुरोध करता है। यदि पुन: कनेक्शन सफल होता है, तो Android डिवाइस SSID और पासकी को wifi.txt फ़ाइल में संग्रहीत कर लेता है। FuncGen के साथ सफल संचार के बाद, यह प्राप्त मैक पते को mac.txt फ़ाइल में संग्रहीत करता है।
  4. बाहर निकलें: पर्याप्त कहा:)

वाईफाई स्कैनिंग मैनेजर

मैं चाहता था कि एप्लिकेशन पूरी तरह से चालू हो और बिना ऑफ-ऐप समायोजन किए। इसलिए, मैंने वाईफाई स्कैनर डिज़ाइन किया है, जो एक ज्ञात पासकी और एसएसआईडी के साथ वाईफाई नेटवर्क से जुड़ने के लिए सभी आवश्यक संचालन करता है।

डेटा ट्रांसमिशन और टीसीपी संचार

यह ऐप में मुख्य कोड ब्लॉक है। सभी UI इकाइयों के लिए एक विशिष्ट प्रारूप (पूर्व-अंतिम चरण) में एक परिभाषित संदेश होता है, जो FuncGen को चैनलों के लिए वांछित आउटपुट प्रदान करने के लिए बाध्य करता है। गतिविधि में तीन प्रकार के UI फ़ील्ड हैं:

  1. सीक बार्स: यहां हम FuncGen आउटपुट पैरामीटर्स की वास्तविक-श्रेणी को परिभाषित करते हैं

    1. आयाम
    2. डीसी ऑफसेट
    3. एलसीडी की चमक
    4. एलसीडी कंट्रास्ट
  2. टेक्स्ट संपादित करें: पूर्णांक मानों को अच्छी तरह से परिभाषित और सटीक रखने के लिए, फ़्रीक्वेंसी इनपुट केवल नंबर टेक्स्ट बॉक्स के माध्यम से किया जाता है
  3. बटन: उपलब्ध सूचियों में से मापदंडों का चयन:

    1. तरंग प्रकार

      1. ज्या
      2. त्रिकोण
      3. डीसी
      4. वर्ग
      5. बंद
    2. जानकारी मिलना

      1. बैटरी की स्थिति (प्रतिशत)
      2. एसी स्थिति (बाहरी बिजली आपूर्ति)
    3. बूट विकल्प (FuncGen MCU के लिए)

      1. कारखाने की स्थापना
      2. पुनः आरंभ करें
      3. बंद करना
      4. डायरेक्ट - डायरेक्ट पेयरिंग मोड के साथ रीस्टार्ट करें
      5. WLAN - WLAN पेयरिंग मोड के साथ पुनरारंभ करें
    4. मुख्य मेनू से बाहर निकलें: पर्याप्त कहा:)

चरण 10: परीक्षण

सिफारिश की: