Mündəricat:

İnternet sürətölçən: 9 addım (şəkillərlə)
İnternet sürətölçən: 9 addım (şəkillərlə)

Video: İnternet sürətölçən: 9 addım (şəkillərlə)

Video: İnternet sürətölçən: 9 addım (şəkillərlə)
Video: BİTCOİN NƏDİR ? | 9 ADDIM İLƏ BİTCOİNİN AÇIQLAMASI 2024, Noyabr
Anonim
Image
Image
Plan
Plan

Hindistanda tam kilidləmə ilə əlaqədar olaraq poçt xidmətləri də daxil olmaqla hər şey bağlandı. Yeni PCB layihələri yoxdur, yeni komponentlər yoxdur, heç nə! Sıxıntıları aradan qaldırmaq və özümü məşğul etmək üçün evdə olan hissələrdən bir şeylər etmək qərarına gəldim. Yığılmış elektron əşyalardan axtarmağa başladım və köhnə, qırıq bir analog multimetr tapdım. Ondan 'sayğac hərəkətini' xilas etdim və bir növ məlumat göstərmək qərarına gəldim, amma tam olaraq nə olduğunu bilmədim. Birincisi, COVID-19 statistikasını göstərməyi düşündüm, amma internetdə artıq daha yaxşı layihələr var. Həmçinin, məlumatlar bir neçə saatdan sonra yenilənir və sayğacın hərəkətsiz göstəricisi darıxdırıcı olardı. Tez dəyişən, hər saniyə dəyişən məlumatları istədim. İnstaqramda təkliflər istədim və izləyicilərimdən biri İnternet sürətölçənlə cavab verdi. Maraqlı səsləndi və bunu etməyə qərar verdi!

Bu Təlimat kitabında, SNMP istifadə edərək WiFi yönlendiricimdən məlumatları necə tutduğumu və sayğacda yükləmə və yükləmə sürətini necə göstərdiyimi göstərəcəyəm.

Gəlin başlayaq

Addım 1: Plan

Həmişə olduğu kimi, layihəyə başlamazdan əvvəl internetdə bir az araşdırma apardım. Bu mövzu ilə əlaqədar bir neçə layihə tapdım. İki cür idilər. WiFi siqnalının 'gücünü' ölçərək internet sürətini göstərən biri. Şəbəkə mütəxəssisi deyiləm, amma bu düzgün səslənmədi. Digərləri gecikməni ölçdü və sürəti yavaş, orta və ya sürətli olaraq təsnif etdi. Gecikmə, sorğu göndərməklə cavab almaq arasındakı vaxt gecikməsidir və buna görə də internet sürətinin əsl nümayəndəsi ola bilməz. Buna bir şəbəkə cavab sürəti də deyə bilərik! Sonra bəzi məlumatları yükləmək üçün lazım olan vaxtı ölçən və buna əsaslanaraq internet sürətini hesablayan qanuni layihələr var idi.

Ancaq bu layihədə (Alistair tərəfindən) Sadə Şəbəkə İdarəetmə Protokolu və ya SNMP haqqında məlumat əldə etdim. SNMP -dən istifadə edərək WiFi yönləndiricisi ilə əlaqə qura və lazım olan məlumatları birbaşa oradan əldə edə bilərik. Asan, hə? Əslində yox! Müxtəlif WiFi yönləndiricilərinin fərqli modelləri fərqli quruluşlara sahib olduğundan və nəticəni əldə etməzdən əvvəl çoxlu sınaq və səhvlərə ehtiyac var. Qorxma. SNMP haqqında öyrəndiklərimi və qarşıdakı addımlarda qarşılaşdığım çətinlikləri qısaca izah edəcəyəm.

Buna görə plan, WiFi Router -ə qoşulmaq üçün NodeMCU -dan istifadə etməkdir. Son nəticəyə çatmaq üçün addımlar bunlardır:

  • Routerə tələb olunan məlumatları tələb edən bir sorğu göndərin
  • Routerdən cavab alın
  • Cavabı təhlil edin və ondan lazım olan məlumatları təhlil edin
  • 'Xam' məlumatları başa düşülən məlumatlara çevirin
  • Sayğac üçün internet sürətinə mütənasib olaraq gərginlik yaradın
  • Təkrarlamaq

Sayğacı idarə etmək üçün bir DAC və ya rəqəmsaldan analoqa çeviricidən istifadə edəcəyəm.

Addım 2: Ehtiyac duyacağınız şeylər

Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər

1x NodeMCU

1x Analog Metr Hərəkəti

1 x MPU4725 DAC

1 x SPDT açarı

1x 10k potensiometr

1x rezistor

Addım 3: Tam miqyaslı əyilmə cərəyanının hesablanması

Tam miqyaslı əyilmə cərəyanının hesablanması
Tam miqyaslı əyilmə cərəyanının hesablanması
Tam miqyaslı əyilmə cərəyanının hesablanması
Tam miqyaslı əyilmə cərəyanının hesablanması

Qeyd: Həqiqi quruluş üçün 7 -ci addıma keçin!

Metriniz üçün tam miqyaslı əyilmə cərəyanını artıq bilirsinizsə bu addımı atlayın. Sayğacımda heç bir söz yox idi, buna görə hesablamalı oldum. Ancaq əvvəlcə belə bir hərəkətin necə işlədiyini tez bir zamanda görək. Maqnit sahəsində asılmış bir bobindən ibarətdir. Bobin içindən cərəyan keçəndə Faraday qanununa görə bir qüvvə yaşayır. Bobinin maqnit sahəsində sərbəst şəkildə fırlanmasına icazə verilir və bobinə bağlı olan göstərici də belədir. Göstəricini 'miqyasın sonunda' hərəkətə gətirən cərəyanın böyüklüyünə tam miqyaslı əyilmə cərəyanı deyilir. Bu da bobindən axmasına icazə verilməli olan maksimum cərəyandır.

Daha çox şey var, amma etdiyimiz iş üçün bu kifayətdir. İndi hərəkətimiz var. Onunla birlikdə yüksək bir müqavimət əlavə edərək bir voltmetr olaraq və ya paralel olaraq kiçik bir müqavimət əlavə edərək Ampermetr olaraq istifadə edilə bilər. Gərginliyi internet sürətinə mütənasib göstərmək üçün bir voltmetr olaraq istifadə edəcəyik. Beləliklə, ardıcıl olaraq əlavə ediləcək müqaviməti hesablamalıyıq. Bunun üçün əvvəlcə tam miqyaslı əyilmə cərəyanını hesablamalıyıq.

  1. Yüksək müqavimət dəyəri seçin (> 100k kimi)
  2. Hərəkətlə ardıcıl olaraq bağlayın və qazandan istifadə edərək üzərində dəyişən bir gərginlik tətbiq edin.
  3. Göstərici miqyasın sonuna çatana qədər gərginliyi yavaş -yavaş artırmağa davam edin.
  4. Bir multimetrdən istifadə edərək cərəyanı ölçün. Bu, tam miqyaslı əyilmə cərəyanıdır. (Mənim vəziyyətimdə = 150uA)

Çıxış gərginliyi 0 -dan VCC -ə qədər olan DAC istifadə edirik (NodeMCU səbəbiylə 3.3V). Bu o deməkdir ki, sayğaca 3.3V tətbiq olunduqda, şkalanın sonuna işarə etməlidir. Bu, 3.3V tətbiq edildikdə dövrədən tam miqyaslı sapma cərəyanı keçdiyi zaman baş verə bilər. Ohm Qanunu istifadə edərək, 3.3/(tam miqyaslı əyilmə cərəyanı) seriyaya daxil edilməli olan müqavimətin dəyərini verir.

Addım 4: SNMP GET sorğusu yaratmaq

SNMP GET İstəyi Yaranır
SNMP GET İstəyi Yaranır
SNMP GET İstəyi Yaranır
SNMP GET İstəyi Yaranır
SNMP GET İstəyi Yaranır
SNMP GET İstəyi Yaranır

Sadə Şəbəkə İdarəetmə Protokolu (SNMP), IP şəbəkələrində idarə olunan cihazlar haqqında məlumat toplamaq və təşkil etmək və cihaz davranışını dəyişdirmək üçün bu məlumatları dəyişdirmək üçün bir İnternet Standart protokoldur. Tipik olaraq SNMP -ni dəstəkləyən cihazlara kabel modemləri, yönləndiricilər, açarlar, serverlər, iş stansiyaları, printerlər və s. Bu quruluş üçün SNMP istifadə edərək WiFi Routerimizlə əlaqə saxlayacağıq və lazımi məlumatları əldə edəcəyik.

Ancaq əvvəlcə istədiyimiz məlumatların təfərrüatlarından bəhs edən marşrutlaşdırıcıya 'GET Request' olaraq bilinən bir sorğu göndərməliyik. Şəkildə GET İstək formatı göstərilmişdir. Müraciət müxtəlif hissələrdən ibarətdir. Dəyişdirmək istəyə biləcəyiniz baytları vurğuladım.

Unutmayın ki, hər şey onaltılıdır.

SNMP Mesajı -Mənim vəziyyətimdə, bütün mesajın uzunluğu 40 (boz rəng), onaltılıya çevrildikdə 0x28 -dir.

SNMP Community String - 'PUBLIC' dəyəri onaltılı olaraq '70 75 62 6C 69 63' olaraq yazılır, uzunluğu 6 (sarı).

SNMP PDU Növü - Mənim vəziyyətimdə mesajın uzunluğu 27 (mavi) yəni 0x1B -dir.

Varbind List Type - Mənim vəziyyətimdə mesajın uzunluğu 16 (yaşıl) yəni 0x10 -dur.

Varbind Tipi - Mənim vəziyyətimdə mesajın uzunluğu 14 (çəhrayı) yəni 0x0E -dir.

Obyekt Tanımlayıcısı -

Daha əvvəl də qeyd edildiyi kimi, SNMP ilə işləyən şəbəkə cihazları (məsələn, marşrutlaşdırıcılar, açarlar və s.) Sistem statusu, mövcudluğu və OID-lər tərəfindən təyin olunan obyektlər kimi performans məlumatları məlumat bazasını saxlayır. Yükləmə və Yükləmə paketləri üçün yönlendiricinizin OID'lerini təyin etməlisiniz. Bu kimi bir pulsuz MIB Tarayıcısı istifadə edərək edilə bilər.

Ünvanı 192.168.1.1 olaraq, OID -ni.1.3.6.1.2.1.2.2.2.1.10.x (ifInOctets) və ya.1.3.6.1.2.1.2.2.1.16.x olaraq daxil edin. (ifOutOctets). Əməliyyatı seçin və Git düyməsini basın. OID -ni dəyəri və növü ilə birlikdə görməlisiniz.

Mənim vəziyyətimdə mesajın uzunluğu 10 (qırmızı) yəni 0x0A -dır. Dəyəri OID ilə əvəz edin. Bu vəziyyətdə '2B 06 01 02 01 02 02 01 01 10 10'

Bu belədir! İstək mesajınız hazırdır. Qalan baytları olduğu kimi saxlayın.

Routerinizdə SNMP -ni aktiv edin:

  • Varsayılan ağ geçidi vasitəsilə WiFi yönlendiricinizin səhifəsinə daxil olun. Brauzerinizə 192.168.1.1 yazın və enter düyməsini basın. Varsayılan olaraq, istifadəçi adı və şifrə 'admin' olmalıdır.
  • TP-LINK (TD-W8961N) yönləndiricisi istifadə edirəm. Bu yönləndirici üçün Giriş İdarəçiliyi> SNMP -ə keçməlisiniz və 'Aktivləşdirilmiş' seçin.
  • GET Community: ictimai
  • Tələ sahibi: 0.0.0.0

Addım 5: GET Cavabını Anlamaq

GET Cavabını Anlamaq
GET Cavabını Anlamaq

Bu addımı atlaya bilərsiniz, ancaq bir problem həll etməyinizə ehtiyac olub olmadığını bilmək yaxşıdır.

Kodu yüklədikdən və işə saldıqdan sonra Serial monitor vasitəsilə cavaba baxa bilərsiniz. Şəkildə göstərildiyi kimi görünməlidir. Vurğuladığım bir neçə bayt axtarmalısınız.

0 -dan başlayaraq, 15 -ci bayt PDU Tipini bildirir - 0xA2 bunun bir GetResponse olduğu anlamına gəlir.

48 -ci bayt məlumat növünü bildirir - 0x41, məlumat növünün Sayıcı olduğunu bildirir.

49 -cu bayt məlumatların uzunluğunu bildirir - 0x04, məlumatların 4 bayt uzunluğunda olması deməkdir.

Bayt 50, 51, 52, 53 məlumatları ehtiva edir.

Addım 6: Rəqəmsaldan Analog Dönüştürücü (DAC)

Rəqəmsal -Analog Dönüştürücü (DAC)
Rəqəmsal -Analog Dönüştürücü (DAC)

Mikro nəzarətçilər, analog gərginliyi birbaşa anlamayan rəqəmsal qurğulardır. Giriş olaraq dəyişən bir gərginliyə ehtiyacı olan bir analog sayğacdan istifadə edirəm. Ancaq mikro nəzarətçi yalnız HIGH (NodeMCU vəziyyətində 3.3V) və LOW (0V) çıxara bilər. İndi deyə bilərsiniz ki, niyə yalnız PWM istifadə etmirsiniz. Metr yalnız orta dəyəri göstərdiyindən işləməyəcək.

Dəyişən gərginlik əldə etmək üçün MCP4725 DAC istifadə edirəm. 12 bitlik bir DAC-dır, yəni sadə dillə desək 0-dan 3.3V-ə qədər 4096 (= 2^12) hissəyə böləcək. Çözünürlük 3.3/4096 = 0.8056mV olacaq. Bu o deməkdir ki, 0 0V -ə, 1 0.8056mV -yə, 2 1.6112mV -ə,….., 4095 3.3V -ə uyğundur.

İnternet sürəti '0 ilə 7 mbps' arasında '0 ilə 4095' arasında 'xəritələnəcək' və sonra bu dəyər DAC -a veriləcək və internet sürətinə mütənasib bir gərginlik verəcəkdir.

Addım 7: Məclis

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

Bağlantılar çox sadədir. Sxematik buraya əlavə edilmişdir.

Tərəzi hazırladım və çap etdim. Yuxarı yükləmə sürəti üçün, aşağı isə yükləmə sürəti üçündür. Yeni tərəzi köhnəsinə yapışdırdım.

Köhnə əşyaları multimetrdən çıxartdım və içindəki hər şeyi sıxdım. Sıx bir uyğunluq idi. Yükləmə və yükləmə sürəti arasında seçim etmək üçün istifadə olunan keçid düyməsini bağlamaq üçün ön tərəfdə bir delik açmalı oldum.

Addım 8: Kodlaşdırma zamanı

Kodlaşdırma zamanı
Kodlaşdırma zamanı
Kodlaşdırma zamanı
Kodlaşdırma zamanı
Kodlaşdırma zamanı
Kodlaşdırma zamanı

Kod bura əlavə edilmişdir. Arduino IDE -də yükləyin və açın. Adafruit -dən MCP4725 kitabxanasını quraşdırın.

Yükləməzdən əvvəl:

  1. WiFi SSID və Şifrənizi daxil edin
  2. Ölçüdə göstərilən maksimum yükləmə və yükləmə sürətini daxil edin.
  3. Yükləmə və yükləmə paketləri üçün istəklər sistemində lazımi dəyişiklikləri edin.
  4. Serial monitorda cavabı görmək üçün 165 nömrəsini qeyd edin.

Yükləmə vurun!

Addım 9: Zövq alın

Gücləndirin və İnternetdə gəzərkən iynənin rəqs etməsini seyr etməkdən zövq alın!

Sona qədər qaldığınız üçün təşəkkürlər. Ümid edirik ki, hamınız bu layihəni sevirsiniz və bu gün yeni bir şey öyrəndiniz. Özünüz üçün birini düzəltsəniz mənə bildirin. Daha çox belə layihələr üçün YouTube kanalıma abunə olun.

Tövsiyə: