विषयसूची:

इंटरनेट स्पीड गेज: 4 कदम (चित्रों के साथ)
इंटरनेट स्पीड गेज: 4 कदम (चित्रों के साथ)

वीडियो: इंटरनेट स्पीड गेज: 4 कदम (चित्रों के साथ)

वीडियो: इंटरनेट स्पीड गेज: 4 कदम (चित्रों के साथ)
वीडियो: Double your Internet Speed by changing 1 thing on your Smart TV! 2024, जुलाई
Anonim
Image
Image
इंटरनेट स्पीड गेज
इंटरनेट स्पीड गेज
इंटरनेट स्पीड गेज
इंटरनेट स्पीड गेज

अवलोकन

यह "इंटरनेट स्पीड गेज" आपको अपने नेटवर्क उपयोग की वास्तविक समय की निगरानी प्रदान करेगा। यह जानकारी अधिकांश होम राउटर के वेब इंटरफेस पर उपलब्ध है। हालाँकि, इसे एक्सेस करने के लिए आपको इसे देखने के लिए अपने वर्तमान कार्य को रोकना होगा।

मैं अपने वर्तमान कार्य को बाधित किए बिना इस जानकारी को देखना चाहता था, इसे एक ऐसे प्रारूप में प्रदर्शित करने के लिए जो एक त्वरित नज़र से समझ में आता था, और जानकारी को इस तरह से प्राप्त करना चाहता था जो अधिक से अधिक राउटर के साथ काम करे, ताकि अन्य कर सकें संभावित रूप से इसका भी उपयोग करें।

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

मैंने राउटर से जानकारी प्राप्त करने के तरीके के रूप में एसएनएमपी (सिंपल नेटवर्क मैनेजमेंट प्रोटोकॉल) पर फैसला किया। एसएनएमपी का व्यापक रूप से नेटवर्किंग उपकरण में उपयोग किया जाता है और यदि आपका डिवाइस डिफ़ॉल्ट रूप से इसका समर्थन नहीं करता है तो एसएनएमपी को लागू करने के लिए डीडीडब्ल्यूआरटी (ओपन सोर्स राउटर फर्मवेयर) का उपयोग किया जा सकता है।

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

चूंकि यह मेरे डेस्क पर होगा, मैंने फैसला किया कि मैं बैक लाइट आरजीबी भी बनाऊंगा क्योंकि कंप्यूटर एक्सेसरीज़ सभी आरजीबी होनी चाहिए। सही?

चुनौतियों

जिन गेजों में मैंने एयर-कोर एक्चुएटर का उपयोग किया था। मैंने इस परियोजना से पहले इनके बारे में कभी नहीं सुना था।

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

मैं Arduino के लिए एक पुस्तकालय नहीं ढूंढ पा रहा था जो प्रबंधक विन्यास में SNMP का समर्थन करता था। एसएनएमपी के दो मुख्य रूप हैं, एजेंट और प्रबंधक। एजेंट अनुरोध का जवाब देते हैं और प्रबंधक एजेंटों को अनुरोध भेजते हैं। मैं 0neblock द्वारा बनाई गई Arduino_SNMP लाइब्रेरी को संशोधित करके प्रबंधक कार्यक्षमता प्राप्त करने में सक्षम था। मैंने Arduino पर LED की ब्लिंक करने के अलावा कभी भी C++ में प्रोग्राम नहीं किया है, इसलिए यदि SNMP लाइब्रेरी में कोई समस्या है तो मुझे बताएं और मैं उन्हें ठीक करने का प्रयास करूंगा, क्योंकि अभी यह काम कर रहा है।

इसके अतिरिक्त, एसएनएमपी वास्तविक समय देखने के लिए डिज़ाइन नहीं किया गया है। इच्छित उपयोग आँकड़ों पर नज़र रखने और आउटेज का पता लगाने के लिए है। इस वजह से, राउटर की जानकारी केवल हर 5 सेकंड में अपडेट की जाती है (आपका डिवाइस भिन्न हो सकता है)। यही कारण है कि स्पीड टेस्ट पर नंबर और सुई के हिलने के बीच देरी होती है।

चरण 1: उपकरण और सामग्री

उपकरण और सामग्री
उपकरण और सामग्री
उपकरण और सामग्री
उपकरण और सामग्री
उपकरण और सामग्री
उपकरण और सामग्री
उपकरण और सामग्री
उपकरण और सामग्री
सर्किट डिज़ाइन
सर्किट डिज़ाइन

हमें 3 पूर्ण एच-ब्रिज की आवश्यकता होगी। मैंने जिन मॉडलों का उपयोग किया है वे हैं डुअल TB6612FNGऔर डुअल L298N।

प्रत्येक एयर-कोर एक्ट्यूएटर को 2 पूर्ण एच-ब्रिज की आवश्यकता होती है क्योंकि कॉइल को स्वतंत्र रूप से नियंत्रित करने की आवश्यकता होती है।

मैं जिन गेजों का उपयोग कर रहा हूं उनमें से एक डायोड और रेसिस्टर के साथ जमीन पर छोटा एक कॉइल है। मैं इसके पीछे के विज्ञान के बारे में निश्चित नहीं हूं, लेकिन ऐसा करने से यह केवल एक कुंडल चालित के साथ लगभग 90 डिग्री घूमने की अनुमति देता है।

मैं 12v से 5v रेगुलेटर का उपयोग करूंगा जो कि L298N बोर्ड का हिस्सा है जिसे मैंने ESP32 को पावर देने के लिए चुना है।

सभी एलईडी सर्किटरी वैकल्पिक हैं, साथ ही जेएसटी कनेक्टर भी हैं। आप आसानी से तारों को सीधे ESP32 और मोटर चालक को मिला सकते हैं।

चरण 3: कोड डिजाइन

कोड सेटअप

ESP32 बोर्ड का उपयोग करने में सक्षम होने के लिए हमें Arduino को सेटअप करना होगा। यहां एक अच्छा गाइड स्थित है जो आपको ESP32 Arduino सेटअप के माध्यम से चलेगा।

आपको यहां स्थित Arduino_SNMP लाइब्रेरी की भी आवश्यकता होगी।

कोड को कॉन्फ़िगर करने के लिए, आपको कुछ जानकारी एकत्र करने की आवश्यकता होगी।

  1. राउटर आईपी
  2. अधिकतम अपलोड गति
  3. अधिकतम डाउनलोड गति
  4. आपका वाईफाई नाम और पासवर्ड
  5. OID जिसमें आपके राउटर WAN इंटरफ़ेस पर "इन" और "आउट" के लिए ऑक्टेट मायने रखता है

हम जो जानकारी चाहते हैं उसके लिए मानक OID (ऑब्जेक्ट आइडेंटिफ़ायर) हैं। MIB-2 मानक के अनुसार हमें जो नंबर चाहिए वो हैं:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

जहाँ X उस इंटरफ़ेस को असाइन किया गया नंबर है जिससे आप आँकड़े प्राप्त करना चाहते हैं। मेरे लिए वह संख्या 3 है। यह पुष्टि करने का एक तरीका है कि यह आपके लिए सही OID है और यह पहचानने का कि आपको किस इंटरफ़ेस नंबर का उपयोग करने की आवश्यकता है, MIB ब्राउज़र जैसे टूल का उपयोग करना है।

अधिकतम गति प्राप्त करने के लिए मैंने SpeedTest.net का उपयोग किया। एक बार जब आप एमबीपीएस में अपनी गति प्राप्त कर लेते हैं तो आपको इस सूत्र का उपयोग करके उन्हें ऑक्टेट में बदलने की आवश्यकता होगी।

ऑक्टेट प्रति सेकंड = (एमबीपीएस में गति परीक्षण से परिणाम * 1048576) / 8

कोड फ़ंक्शन

कोड राउटर को एक SNMP गेट-रिक्वेस्ट भेजता है। राउटर फिर एक नंबर के साथ जवाब देता है, संख्या ऑक्टेट की गिनती का प्रतिनिधित्व करती है जिसे भेजा या प्राप्त किया गया है। उसी समय, हम मिलीसेकंड की संख्या रिकॉर्ड करते हैं जो Arduino के शुरू होने के बाद से बीत चुके हैं।

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

प्रतिशतडाउन = ((फ्लोट) (बाइटडाउन - बाइटडाउनलास्ट)/(फ्लोट) (मैक्सडाउन * ((मिलिस () - टाइमलास्ट) / 1000))) * 100;

गणित इस तरह टूट जाता है:

octetsDiff = snmp_result - पिछला_ snmp_result

टाइमफ्रेम = करंटटाइम - टाइमलास्ट

MaxPosableOverTime = (समय सीमा * Octets_per_second)/1000

प्रतिशत = (octetsDiff / MaxPosableOverTime) * १००

अब जब हमारे पास नेटवर्क उपयोग का प्रतिशत है तो हमें इसे गेज पर लिखने की जरूरत है। हम इसे 2 चरणों में करते हैं। सबसे पहले हम अपडेटडाउनलोड गेज फ़ंक्शन का उपयोग करते हैं। इस फ़ंक्शन में हम प्रतिशत को एक संख्या में बदलने के लिए "मानचित्र" का उपयोग करते हैं जो गेज पर रेडियन स्थिति का प्रतिनिधित्व करता है। फिर हम सुई को नई स्थिति में ले जाने के लिए उस नंबर को setMeterPosition फ़ंक्शन को देते हैं।

चरण 4: केस डिजाइन

केस डिजाइन
केस डिजाइन
केस डिजाइन
केस डिजाइन
केस डिजाइन
केस डिजाइन

सब कुछ समाहित करने के लिए, मैंने fusion360 में एक बाड़े को डिज़ाइन किया और इसे 3D प्रिंट किया। मैंने जो डिज़ाइन बनाया है वह अपेक्षाकृत सरल है। मैंने घटकों को अंदर तक जकड़ने के लिए गर्म गोंद का उपयोग किया और गेज को सामने के कवर और पीछे के कवर के बीच पिन करके रखा गया है। केस बनाने के लिए आपको 3D प्रिंटिंग का उपयोग करने की आवश्यकता नहीं है। उदाहरण के लिए, आप लकड़ी से एक मामला बना सकते हैं, या आप सब कुछ वापस मूल मामले में रख सकते हैं जिसमें गेज आया था।

यदि आप उन्हें देखना चाहते हैं तो मेरी एसटीएल फाइलें विविध पर उपलब्ध हैं, लेकिन यह संभावना नहीं है कि वे आपके लिए तब तक काम करेंगी जब तक कि आपको ठीक उसी तरह के गेज न मिलें जिनका मैंने उपयोग किया था।

केस फाइलें:

पढ़ने के लिए धन्यवाद। यदि आपके कोई प्रश्न हैं तो मुझे बताएं और मैं उत्तर देने की पूरी कोशिश करूंगा।

सिफारिश की: