جدول المحتويات:
- الخطوة 1: الخطة
- الخطوة 2: الأشياء التي سوف تحتاجها
- الخطوة 3: حساب تيار الانحراف على نطاق كامل
- الخطوة 4: إنشاء طلب SNMP GET
- الخطوة 5: فهم استجابة GET
- الخطوة 6: المحول الرقمي إلى التناظري (DAC)
- الخطوة 7: الجمعية
- الخطوة 8: حان وقت البرمجة
- الخطوة 9: استمتع
فيديو: عداد سرعة الإنترنت: 9 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
مع استمرار الإغلاق الكامل في الهند ، تم إغلاق كل شيء بما في ذلك خدمات البريد. لا توجد مشاريع جديدة لثنائي الفينيل متعدد الكلور ، ولا مكونات جديدة ، ولا شيء! لذا ، للتغلب على الملل ولإبقاء نفسي مشغولة ، قررت أن أصنع شيئًا من الأجزاء التي لدي بالفعل في المنزل. بدأت في البحث من كومة الإلكترونيات غير المرغوب فيها ووجدت مقياسًا متعددًا تمثيليًا قديمًا مكسورًا. لقد أنقذت "حركة العداد" منها وقررت أن أعرض نوعًا من المعلومات ولكني لم أعرف بالضبط ماذا. أولاً ، فكرت في عرض إحصائيات COVID-19 ولكن هناك بالفعل العديد من المشاريع الأفضل على الإنترنت. أيضًا ، يتم تحديث البيانات بعد بضع ساعات وسيكون مؤشر العداد الثابت مملًا. أردت أن تتغير البيانات بسرعة ، وتتغير كل ثانية. سألت عن اقتراحات على Instagram وأجاب أحد متابعيني باستخدام Internet Speedometer. بدا الأمر ممتعًا وقرر القيام بذلك!
في Instructable ، سأوضح لك كيف حصلت على البيانات من جهاز توجيه WiFi الخاص بي باستخدام SNMP وعرضت سرعات التحميل والتنزيل على العداد.
هيا بنا نبدأ
الخطوة 1: الخطة
كما هو الحال دائمًا قبل البدء بالمشروع ، أجريت القليل من البحث على الإنترنت. لقد وجدت بعض المشاريع المتعلقة بهذا الموضوع. كانوا من نوعين. واحد أظهر سرعة الإنترنت عن طريق قياس "قوة" إشارة WiFi. أنا لست خبيرًا في مجال الشبكات ولكن هذا لا يبدو جيدًا. قام الآخرون بقياس زمن الوصول والسرعة المصنفة على أنها بطيئة أو متوسطة أو سريعة. الكمون هو التأخير الزمني بين إرسال الطلب والحصول على الاستجابة ، وبالتالي لا يمكن أن يكون التمثيل الفعلي لسرعة الإنترنت. يمكننا أن نسميها سرعة استجابة الشبكة رغم ذلك! ثم كانت هناك مشاريع شرعية تقيس الوقت اللازم لتنزيل بعض البيانات وحساب سرعة الإنترنت بناءً على ذلك.
ولكن في هذا المشروع (بواسطة أليستير) تعلمت عن بروتوكول إدارة الشبكة البسيط أو SNMP. باستخدام SNMP ، يمكننا التواصل مع موجه WiFi والحصول على البيانات المطلوبة منه مباشرة. الحق سهلة؟ في الواقع لا! نظرًا لأن النماذج المختلفة لأجهزة توجيه WiFi لها إعدادات مختلفة وتحتاج إلى الكثير من التجربة والخطأ قبل أن تحصل أخيرًا على الإخراج. لا تخف. سأشرح باختصار كل ما تعلمته عن SNMP والصعوبات التي واجهتها في الخطوات القادمة.
لذا فإن الخطة هي استخدام NodeMCU للاتصال بجهاز توجيه WiFi. هذه هي الخطوات للوصول إلى الناتج النهائي:
- أرسل طلبًا إلى جهاز التوجيه لطلب البيانات المطلوبة
- احصل على الاستجابة من جهاز التوجيه
- تحليل الاستجابة وتحليل البيانات المطلوبة منها
- تحويل البيانات "الخام" إلى معلومات مفهومة
- توليد جهد يتناسب مع سرعة الإنترنت للعداد
- يكرر
سأستخدم DAC أو محول رقمي إلى تناظري للتحكم في العداد.
الخطوة 2: الأشياء التي سوف تحتاجها
1x NodeMCU
1x حركة متر التناظرية
1x MPU4725 DAC
1x SPDT التبديل
1x 10 كيلو الجهد
1x المقاوم
الخطوة 3: حساب تيار الانحراف على نطاق كامل
ملاحظة: انتقل إلى الخطوة 7 للبناء الفعلي!
تخطي هذه الخطوة إذا كنت تعرف بالفعل تيار الانحراف الكامل للمقياس الخاص بك. لم يذكر العداد الخاص بي لذلك كان علي أن أحسب. لكن أولاً ، دعونا نرى بسرعة كيف تعمل هذه الحركة. يتكون من ملف معلق في مجال مغناطيسي. عندما يتدفق التيار عبر الملف ، وفقًا لقانون فاراداي ، فإنه يواجه قوة. يُسمح للملف بالدوران بحرية في المجال المغناطيسي وكذلك المؤشر الذي يتم توصيله بالملف. يُطلق على حجم التيار الذي يجعل المؤشر يتحرك في "نهاية المقياس" تيار انحراف كامل النطاق. هذا هو أيضًا الحد الأقصى للتيار الذي يجب السماح له بالتدفق عبر الملف.
هناك الكثير مما يجري ولكن هذا يكفي لما نقوم به. لدينا الآن الحركة. يمكن استخدامه كمقياس الفولتميتر عن طريق إضافة مقاومة عالية متسلسلة معه أو كمقياس التيار الكهربائي عن طريق إضافة مقاومة صغيرة بالتوازي معها. سنستخدمه كمقياس الفولتميتر لعرض الجهد المتناسب مع سرعة الإنترنت. لذلك ، نحتاج إلى حساب المقاومة التي ستتم إضافتها على التوالي. لذلك ، نحتاج أولاً إلى حساب تيار الانحراف الكامل.
- اختر قيمة مقاومة عالية (مثل> 100 كيلو)
- قم بتوصيله في سلسلة مع الحركة وقم بتطبيق جهد متغير عبره باستخدام القدر.
- استمر في زيادة الجهد ببطء حتى يصل المؤشر إلى نهاية المقياس.
- باستخدام مقياس متعدد ، قم بقياس التيار المتدفق من خلاله. هذا هو تيار الانحراف الكامل. (أنا = 150uA في حالتي)
نحن نستخدم DAC التي لديها نطاق جهد الخرج من 0 إلى VCC (3.3V بسبب NodeMCU). هذا يعني أنه عند تطبيق 3.3 فولت على المقياس ، يجب أن يشير إلى نهاية المقياس. يمكن أن يحدث هذا عندما يتدفق تيار انحراف كامل النطاق عبر الدائرة عند تطبيق 3.3 فولت. باستخدام قانون أوم ، 3.3 / (تيار انحراف كامل النطاق) يعطي قيمة للمقاومة التي يجب إدخالها في سلسلة.
الخطوة 4: إنشاء طلب SNMP GET
بروتوكول إدارة الشبكة البسيط (SNMP) هو بروتوكول إنترنت قياسي لجمع وتنظيم المعلومات حول الأجهزة المدارة على شبكات IP ولتعديل تلك المعلومات لتغيير سلوك الجهاز. تشتمل الأجهزة التي تدعم SNMP عادةً على أجهزة مودم الكبل ، وأجهزة التوجيه ، والمحولات ، والخوادم ، ومحطات العمل ، والطابعات ، والمزيد. بالنسبة لهذا الإصدار ، سنتواصل مع موجه WiFi الخاص بنا باستخدام SNMP وسنحصل على البيانات المطلوبة.
لكن أولاً ، نحتاج إلى إرسال طلب يُعرف باسم "طلب GET" إلى جهاز التوجيه مع ذكر تفاصيل البيانات التي نريدها. يظهر تنسيق طلب GET في الصورة. الطلب يتكون من أجزاء مختلفة. لقد أبرزت البايتات التي قد ترغب في تغييرها.
يرجى ملاحظة أن كل شيء بالنظام الست عشري.
رسالة SNMP - في حالتي ، يبلغ طول الرسالة بأكملها 40 (اللون الرمادي) والتي عند تحويلها إلى رقم سداسي عشري هي 0x28.
سلسلة SNMP Community String - تمت كتابة القيمة "PUBLIC" بالنظام الست عشري كـ "70 75 62 6C 69 63" بطول 6 (أصفر).
نوع SNMP PDU - في حالتي ، يبلغ طول الرسالة 27 (أزرق) أي 0x1B.
نوع قائمة Varbind - في حالتي ، يكون طول الرسالة 16 (أخضر) أي 0x10.
نوع Varbind - في حالتي ، يكون طول الرسالة 14 (وردي) أي 0x0E.
معرف الكائن -
كما ذكرنا سابقًا ، تحتفظ أجهزة الشبكة التي تدعم بروتوكول SNMP (مثل أجهزة التوجيه والمحولات وما إلى ذلك) بقاعدة بيانات لحالة النظام والتوافر ومعلومات الأداء ككائنات محددة بواسطة معرفات الكائن. تحتاج إلى تحديد معرفات الكائن لجهاز التوجيه الخاص بك لتحميل وتنزيل الحزم. يمكن القيام بذلك باستخدام متصفح MIB مجاني مثل هذا المتصفح.
أدخل العنوان كـ 192.168.1.1 و OID كـ.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) أو.1.3.6.1.2.1.2.2.1.16.x. (ifOutOctets). حدد الحصول على العملية وانقر فوق انتقال. يجب أن ترى معرّف الكائن مع قيمته ونوعه.
في حالتي ، يبلغ طول الرسالة 10 (أحمر) أي 0x0A. استبدل القيمة بمعرف الكائن. في هذه الحالة ، "2B 06 01 02 01 02 02 01 10 10"
هذا كل شيء! رسالة طلبك جاهزة. احتفظ ببقية البايت كما هي.
تشغيل SNMP على جهاز التوجيه الخاص بك:
- قم بتسجيل الدخول إلى صفحة جهاز توجيه WiFi من خلال البوابة الافتراضية. اكتب 192.168.1.1 في المستعرض الخاص بك واضغط على إدخال. افتراضيًا ، يجب أن يكون اسم المستخدم وكلمة المرور "admin".
- أنا أستخدم جهاز توجيه TP-LINK (TD-W8961N). بالنسبة لهذا الموجه ، يجب عليك الانتقال إلى Access Management> SNMP وتحديد "Activated".
- الحصول على المجتمع: عامة
- مضيف فخ: 0.0.0.0
الخطوة 5: فهم استجابة GET
يمكنك تخطي هذه الخطوة ، ولكن من الجيد معرفة ما إذا كنت بحاجة إلى القيام ببعض استكشاف الأخطاء وإصلاحها.
بمجرد تحميل الكود وتشغيله ، يمكنك إلقاء نظرة على الاستجابة من خلال الشاشة التسلسلية. يجب أن يبدو كما هو موضح في الصورة. هناك عدد قليل من البايتات التي تحتاج إلى البحث عنها والتي أبرزتها.
بدءًا من 0 ،
يخبر البايت الخامس عشر أن نوع PDU - يعني 0xA2 أنه GetResponse.
48 بايت يخبر نوع البيانات - 0x41 تعني أن نوع البيانات هو العداد.
يخبر البايت 49 طول البيانات - يعني 0x04 أن البيانات يبلغ طولها 4 بايت.
البايت 50 ، 51 ، 52 ، 53 يحتوي على البيانات.
الخطوة 6: المحول الرقمي إلى التناظري (DAC)
المتحكمات الدقيقة هي أجهزة رقمية لا تفهم الفولتية التناظرية بشكل مباشر. أنا أستخدم مقياسًا تمثيليًا يحتاج إلى جهد متغير كمدخل. لكن المتحكم الدقيق يمكنه فقط إخراج HIGH (3.3V في حالة NodeMCU) و LOW (0V). الآن قد تقول لماذا لا تستخدم PWM فقط. لن يعمل لأن العداد سيعرض القيمة المتوسطة فقط.
أنا أستخدم MCP4725 DAC للحصول على جهد متغير. إنها DAC ذات 12 بت ، أي بعبارات بسيطة ، ستقسم من 0 إلى 3.3 فولت إلى 4096 (= 2 ^ 12) أجزاء. سيكون القرار 3.3 / 4096 = 0.8056mV. هذا يعني أن 0 يتوافق مع 0V ، 1 يتوافق مع 0.8056mV ، 2 يتوافق مع 1.6112mV ،….. ، 4095 يتوافق مع 3.3V.
سيتم "تعيين" سرعة الإنترنت من "0 إلى 7 ميغابت في الثانية" إلى "0 إلى 4095" ومن ثم سيتم إعطاء هذه القيمة إلى DAC لإخراج جهد يتناسب مع سرعة الإنترنت.
الخطوة 7: الجمعية
التوصيلات بسيطة للغاية. تم إرفاق التخطيطي هنا.
لقد صممت وطبعت الميزان. الجزء العلوي مخصص لسرعة التنزيل ، أما الجزء السفلي فهو مخصص لسرعة التحميل. لقد قمت بلصق المقياس الجديد على المقياس القديم.
لقد أزلت جميع الأشياء القديمة من جهاز القياس المتعدد ووضعت كل شيء فيه. كانت نوبة ضيقة. اضطررت إلى حفر حفرة في المقدمة لإرفاق مفتاح التبديل المستخدم للاختيار بين سرعة التحميل والتنزيل.
الخطوة 8: حان وقت البرمجة
تم إرفاق الرمز هنا. قم بتنزيله وافتحه في Arduino IDE. قم بتثبيت مكتبة MCP4725 من Adafruit.
قبل التحميل:
- أدخل WiFi SSID وكلمة المرور
- أدخل الحد الأقصى لسرعة التحميل والتنزيل المذكورة على المقياس.
- قم بإجراء التغييرات اللازمة في مصفوفة الطلب للتنزيل وكذلك حزم التحميل.
- Uncomment سطر 165 لعرض الاستجابة على الشاشة التسلسلية.
ضرب تحميل!
الخطوة 9: استمتع
قم بتشغيله واستمتع بمشاهدة الإبرة وهي ترقص وأنت تتصفح الإنترنت!
شكرا لك على التمسك بالنهاية. أتمنى أن تحبوا هذا المشروع جميعًا وتعلمت شيئًا جديدًا اليوم. اسمح لي أن أعرف إذا قمت بعمل واحد لنفسك. اشترك في قناتي على يوتيوب لمزيد من هذه المشاريع.
موصى به:
مقياس سرعة الدوران DIY (عداد RPM): 5 خطوات
DIY مقياس سرعة الدوران (عداد RPM): في هذا المشروع ، سأوضح لك كيف يعمل مستشعر مسافة الأشعة تحت الحمراء 3 € وكيف يمكننا استخدامه لبناء مقياس سرعة الدوران DIY المناسب الذي يعمل بشكل صحيح. هيا بنا نبدأ
اختبر سرعة الإنترنت باستخدام Raspberry Pi + Ubidots: 9 خطوات
اختبر سرعة الإنترنت باستخدام Raspberry Pi + Ubidots: أصبح Raspberry Pi جهازًا يستخدم على نطاق واسع ليس فقط للأغراض التعليمية والنماذج الأولية ، ولكن أيضًا لمشاريع الإنتاج الصناعي داخل الشركات. إلى جانب حجم Pi والتكلفة المنخفضة ونظام التشغيل Linux OS الذي يعمل بكامل طاقته ، يمكنه أيضًا التفاعل مع
عداد سرعة السيارة يعمل بالتحكم عن بعد: 4 خطوات (بالصور)
عداد سرعة السيارة RC العامل: هذا مشروع قصير قمت بإنشائه كجزء من بناء RC أكبر لسيارة لاند روفر خفيفة الوزن. قررت أنني تخيلت وجود عداد سرعة يعمل في لوحة القيادة ، لكنني كنت أعرف أن المؤازرة لن تقطعها. لم يكن هناك سوى خيار واحد معقول: د
مقياس سرعة الإنترنت: 4 خطوات (بالصور)
مقياس سرعة الإنترنت: نظرة عامة هذا & quot؛ مقياس سرعة الإنترنت & quot؛ سيمنحك إشرافًا شبه فوري على استخدامك للشبكة. تتوفر هذه المعلومات على واجهة الويب لمعظم أجهزة التوجيه المنزلية. ومع ذلك ، يتطلب الوصول إليه إيقاف مهمتك الحالية للذهاب
مقياس سرعة الدوران مصنوع من عداد السرعة للدراجة (كمبيوتر دائري): 3 خطوات (بالصور)
مقياس سرعة الدوران مصنوع من عداد السرعة للدراجة (كمبيوتر دائري): في بعض الأحيان عليك فقط معرفة مدى سرعة دوران عجلة أو عمود أو محرك. جهاز قياس سرعة الدوران هو مقياس سرعة الدوران. لكنها غالية الثمن وليس من السهل العثور عليها. إنه رخيص وسهل صنعه باستخدام عداد السرعة للدراجة (سيكل