תוכן עניינים:

מד מהירות אינטרנט: 9 שלבים (עם תמונות)
מד מהירות אינטרנט: 9 שלבים (עם תמונות)

וִידֵאוֹ: מד מהירות אינטרנט: 9 שלבים (עם תמונות)

וִידֵאוֹ: מד מהירות אינטרנט: 9 שלבים (עם תמונות)
וִידֵאוֹ: תפסתי אותה על חםםםם!!!!!! 2024, נוֹבֶמבֶּר
Anonim
Image
Image
התוכנית
התוכנית

עם נעילה מוחלטת בהודו, הכל כולל שירותי דואר נסגר. אין פרויקטים חדשים של PCB, אין רכיבים חדשים, שום דבר! אז כדי להתגבר על השעמום וכדי להעסיק את עצמי, החלטתי להכין משהו מהחלקים שכבר יש לי בבית. התחלתי לחפש מתוך ערימת זבל האלקטרוניקה ומצאתי מולטימטר אנלוגי ישן ושבור. חילצתי ממנו את 'תנועת המונים' והחלטתי להציג מידע כלשהו אבל לא בדיוק ידעתי מה. ראשית, חשבתי להציג נתונים סטטיסטיים על COVID-19 אבל יש כבר הרבה פרויקטים טובים יותר באינטרנט. כמו כן, הנתונים מתעדכנים לאחר מספר שעות ומצביע דומם של המונה יהיה משעמם. רציתי נתונים שמשתנים במהירות, משתנים כל שנייה. ביקשתי הצעות באינסטגרם ואחד העוקבים שלי השיב באמצעות מד מהירות אינטרנט. זה נשמע מעניין והחליט לעשות את זה!

במדריך זה, אראה לך כיצד תפסתי נתונים מנתב ה- WiFi שלי באמצעות SNMP והצגתי את מהירות ההעלאה וההורדה במד.

בואו נתחיל

שלב 1: התוכנית

כמו תמיד לפני שהתחלתי עם הפרויקט עשיתי קצת מחקר באינטרנט. מצאתי כמה פרויקטים הקשורים לנושא זה. הם היו משני סוגים. כזו שהראתה מהירות אינטרנט על ידי מדידת ה"עוצמה "של אות ה- WiFi. אני לא איש מומחה לרשת אבל זה לא נשמע נכון. האחרים מדדו את החביון וסווגו את המהירות כאיטית, בינונית או מהירה. איחורים הוא עיכוב הזמן בין שליחת הבקשה לבין קבלת התגובה ולכן זה לא יכול להיות הייצוג בפועל של מהירות האינטרנט. אנחנו יכולים לקרוא לזה מהירות תגובה ברשת! אז היו פרויקטים חוקיים שמדדו את הזמן הנדרש להורדת נתונים וחישבו את מהירות האינטרנט על סמך זה.

אבל בפרויקט הזה (של Alistair) למדתי על פרוטוקול ניהול רשת פשוט או SNMP. באמצעות SNMP, אנו יכולים לתקשר עם נתב ה- WiFi ולקבל את הנתונים הנדרשים ישירות ממנו. קל, נכון? בעצם לא! מכיוון שלדגמים שונים של נתבי WiFi יש הגדרות שונות וזקוקים להרבה ניסויים וטעויות לפני שאתה סוף סוף מקבל את הפלט. אל תפחד. אסביר בקצרה את כל מה שלמדתי על SNMP ועל הקשיים שעמם התמודדתי בשלבים הקרובים.

אז התוכנית היא להשתמש ב- NodeMCU כדי להתחבר לנתב ה- WiFi. אלה השלבים כדי להגיע לתפוקה הסופית:

  • שלח בקשה לנתב 'מבקש' את הנתונים הדרושים
  • קבל את התגובה מהנתב
  • נתח את התגובה ונתח את הנתונים הנדרשים ממנה
  • המר את הנתונים 'הגולמיים' למידע מובן
  • צור מתח ביחס למהירות האינטרנט עבור המונה
  • חזור

אני אשתמש בממיר DAC או דיגיטלי לאנלוגי לשליטה על המונה.

שלב 2: דברים שתצטרך

דברים שתצטרך
דברים שתצטרך
דברים שתצטרך
דברים שתצטרך
דברים שתצטרך
דברים שתצטרך

1x NodeMCU

1x תנועת מד אנלוגי

1x MPU4725 DAC

1x מתג SPDT

1x 10k פוטנציומטר

1x נגד

שלב 3: חישוב זרם סטייה בקנה מידה מלא

חישוב זרם סטייה בקנה מידה מלא
חישוב זרם סטייה בקנה מידה מלא
חישוב זרם סטייה בקנה מידה מלא
חישוב זרם סטייה בקנה מידה מלא

הערה: עבור לשלב 7 לבנייה בפועל!

דלג על שלב זה אם אתה כבר מכיר את זרם ההסטה בקנה מידה מלא עבור המונה שלך. במד שלי לא היה שום אזכור לזה אז הייתי צריך לחשב. אך ראשית, הבה נראה במהרה כיצד פועלת תנועה כזו. הוא מורכב מסליל התלוי בשדה מגנטי. כאשר הזרם זורם דרך הסליל, על פי חוק פאראדיי, הוא חווה כוח. מותר לסליל להסתובב בחופשיות בשדה המגנטי וכך גם המצביע המחובר לסליל. גודל הזרם שגורם לסמן לנוע ב'קצה הסולם 'נקרא זרם סטייה בקנה מידה מלא. זהו גם הזרם המרבי שיש לאפשר לו לזרום דרך הסליל.

יש עוד הרבה דברים אבל זה מספיק למה שאנחנו עושים. כעת יש לנו את התנועה. זה יכול לשמש כמד מתח על ידי הוספת עמידות גבוהה בסדרה איתו או כמד זרם על ידי הוספת התנגדות קטנה במקביל אליו. נשתמש בו כמד מתח כדי להציג את המתח ביחס למהירות האינטרנט. לכן, עלינו לחשב את ההתנגדות שיש להוסיף בסדרות. לשם כך, ראשית עלינו לחשב את זרם ההסטה בקנה מידה מלא.

  1. בחר ערך התנגדות גבוה (כמו> 100k)
  2. חבר אותו בסדרה עם התנועה והפעל עליו מתח משתנה באמצעות הסיר.
  3. המשך להגדיל את המתח לאט עד שהמצביע יגיע לסוף הסולם.
  4. מודד את הזרם הזורם באמצעות מודד. זהו זרם הסטה בקנה מידה מלא. (I = 150uA במקרה שלי)

אנו משתמשים ב- DAC בעל טווח מתח היציאה מ- 0 ל- VCC (3.3V עקב NodeMCU). המשמעות היא שכאשר מוחל 3.3V על המונה, הוא אמור להצביע בסוף הסקאלה. זה יכול לקרות כאשר זרם סטייה בקנה מידה מלא זורם במעגל כאשר 3.3V מופעל. באמצעות חוק אוהם, 3.3/(זרם סטייה בקנה מידה מלא) נותן את הערך להתנגדות שיש להוסיף בסדרות.

שלב 4: יצירת בקשת SNMP GET

יצירת בקשת SNMP GET
יצירת בקשת SNMP GET
יצירת בקשת SNMP GET
יצירת בקשת SNMP GET
יצירת בקשת SNMP GET
יצירת בקשת SNMP GET

פרוטוקול ניהול רשת פשוט (SNMP) הוא פרוטוקול אינטרנט סטנדרטי לאיסוף וארגון מידע על התקנים מנוהלים ברשתות IP ולשינוי מידע זה לשינוי התנהגות המכשיר. התקנים התומכים בדרך כלל ב- SNMP כוללים מודמים של כבלים, נתבים, מתגים, שרתים, תחנות עבודה, מדפסות ועוד. לצורך בנייה זו, נתקשר עם נתב ה- WiFi שלנו באמצעות SNMP ונקבל את הנתונים הנדרשים.

אך ראשית, עלינו לשלוח לנתב בקשה הידועה בשם 'בקשת GET' ולציין את פרטי הנתונים אותם אנו רוצים. פורמט GET Request מוצג בתמונה. הבקשה מורכבת מחלקים שונים. הדגשתי את הבייטים שאולי תרצה לשנות.

שימו לב שהכל בהקסדצימלי.

הודעת SNMP -במקרה שלי, אורך ההודעה כולה הוא 40 (צבע אפור) שכאשר היא מומרת להקסדצימלי היא 0x28.

מחרוזת קהילה SNMP - הערך 'PUBLIC' כתוב בהקסדצימלי כ'70 75 62 6C 69 63 'שאורכו 6 (צהוב).

סוג PDU PDP - במקרה שלי, אורך ההודעה הוא 27 (כחול) כלומר 0x1B.

סוג רשימת Varbind - במקרה שלי, אורך ההודעה הוא 16 (ירוק) כלומר 0x10.

סוג Varbind - במקרה שלי, אורך ההודעה הוא 14 (ורוד) כלומר 0x0E.

מזהה אובייקטים -

כפי שצוין קודם לכן, התקני רשת התומכים ב- SNMP (למשל נתבים, מתגים וכו ') שומרים על מסד נתונים של סטטוס מערכת, זמינות ומידע על ביצועים כאובייקטים, המזוהים על ידי OIDs. עליך לזהות את OIDs של הנתב שלך עבור מנות העלאה והורדה. ניתן לעשות זאת באמצעות דפדפן 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). בחר קבל פעולה ולחץ על עבור. אתה אמור לראות את ה- OID יחד עם הערך והסוג שלו.

במקרה שלי, אורך ההודעה הוא 10 (אדום) כלומר 0x0A. החלף את הערך ב- OID. במקרה זה, '2B 06 01 02 01 02 02 01 10 10'

זהו זה! הודעת הבקשה שלך מוכנה. שמור את שאר הבייטים כפי שהם.

הפעלת SNMP בנתב שלך:

  • היכנס לדף נתב ה- WiFi שלך דרך שער ברירת המחדל. הקלד 192.168.1.1 בדפדפן שלך והקש Enter. כברירת מחדל, שם המשתמש והסיסמה צריכים להיות 'מנהל'.
  • אני משתמש בנתב TP-LINK (TD-W8961N). עבור נתב זה, עליך לעבור לניהול גישה> SNMP ובחר 'מופעל'.
  • קהילת GET: ציבורית
  • מארח מלכודת: 0.0.0.0

שלב 5: הבנת תגובת GET

הבנת תגובת GET
הבנת תגובת GET

אתה יכול לדלג על שלב זה, אך טוב לדעת אם עליך לבצע כמה בעיות.

לאחר העלאת הקוד והפעלתו, תוכל להציץ בתגובה באמצעות הצג הסידורי. זה צריך להיראות כמו שמוצג בתמונה. יש כמה בייטים שאתה צריך לחפש אותם שהדגשתי.

החל מ -0, בייט 15 אומר לסוג PDU - 0xA2 פירושו שהוא GetResponse.

בייט 48 אומר לסוג הנתונים - 0x41 פירושו שסוג הנתונים הוא Counter.

49 בתים מספרים את אורך הנתונים - 0x04 פירושו שאורך הנתונים הוא 4 בתים.

בת 50, 51, 52, 53 מכילה את הנתונים.

שלב 6: ממיר דיגיטלי לאנלוגי (DAC)

ממיר דיגיטלי לאנלוגי (DAC)
ממיר דיגיטלי לאנלוגי (DAC)

בקרי מיקרו הם מכשירים דיגיטליים שאינם מבינים ישירות במתח אנלוגי. אני משתמש במד אנלוגי שצריך מתח משתנה ככניסה. אבל מיקרו -בקר יכול פשוט להוציא HIGH (3.3V במקרה של NodeMCU) ו- LOW (0V). עכשיו אתה יכול להגיד למה אל תשתמש ב- PWM. זה לא יעבוד מכיוון שהמד יציג רק את הערך הממוצע.

אני משתמש ב- MCP4725 DAC כדי לקבל מתח משתנה. זהו DAC של 12 סיביות כלומר במונחים פשוטים, הוא יחלק 0 ל- 3.3V ל 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.

לפני שאתה מעלה:

  1. הזן את ה- SSID והסיסמה של ה- WiFi שלך
  2. הזן מהירות העלאה והורדה מקסימלית המוזכרות בסולם.
  3. בצע את השינויים הדרושים במערך הבקשות להורדה וכן להעלות מנות.
  4. לא הגיב על קו 165 לצפייה בתגובה על הצג הסדרתי.

לחץ על העלה!

שלב 9: תהנה

הפעל אותו ותיהנה מהמחט שרוקדת מסביב בזמן שאתה גולש באינטרנט!

תודה שנצמדת עד הסוף. מקווה שכולכם אוהבים את הפרויקט הזה ולמדתם משהו חדש היום. ספר לי אם תכין אחד לעצמך. הירשם לערוץ היוטיוב שלי לפרויקטים נוספים כאלה.

מוּמלָץ: