İçindekiler:

İnternet Hız Göstergesi: 9 Adım (Resimlerle)
İnternet Hız Göstergesi: 9 Adım (Resimlerle)

Video: İnternet Hız Göstergesi: 9 Adım (Resimlerle)

Video: İnternet Hız Göstergesi: 9 Adım (Resimlerle)
Video: 12 ADIMDA İNTERNET HIZLANDIRMA [2022] 2024, Kasım
Anonim
Image
Image
Plan
Plan

Hindistan'da tam karantina devam ederken, posta hizmetleri dahil her şey kapatıldı. Yeni PCB projesi yok, yeni bileşen yok, hiçbir şey yok! Bu yüzden can sıkıntısından kurtulmak ve kendimi meşgul etmek için evde bulunan parçalardan bir şeyler yapmaya karar verdim. Elektronik çöp yığınından aramaya başladım ve eski, kırık bir analog multimetre buldum. 'Sayaç hareketini' ondan kurtardım ve bir tür bilgi göstermeye karar verdim ama tam olarak ne olduğunu bilmiyordum. İlk olarak, COVID-19 istatistiklerini göstermeyi düşündüm ama internette zaten çok daha iyi projeler var. Ayrıca, veriler birkaç saat sonra güncellenir ve sayacın sabit bir göstergesi sıkıcı olur. Hızla değişen, her saniye değişen veriler istedim. Instagram'da öneri istedim ve bir takipçim İnternet Hız Göstergesi ile cevap verdi. Kulağa ilginç geldi ve yapmaya karar verdi!

Bu Eğitilebilir Kitapta, SNMP kullanarak WiFi yönlendiricimden nasıl veri aldığımı ve sayaçta yükleme ve indirme hızlarını nasıl görüntülediğimi göstereceğim.

Başlayalım

Adım 1: Plan

Projeye başlamadan önce her zaman olduğu gibi internette biraz araştırma yaptım. Bu konuyla ilgili birkaç proje buldum. Onlar iki çeşitti. WiFi sinyalinin 'gücünü' ölçerek internet hızını gösteren biri. Ben bir ağ uzmanı değilim ama bu doğru gelmedi. Diğerleri gecikmeyi ölçtü ve hızı yavaş, orta veya hızlı olarak sınıflandırdı. Gecikme, isteği gönderme ve yanıt alma arasındaki gecikmedir ve bu nedenle internet hızının gerçek temsili olamaz. Yine de buna ağ yanıt hızı diyebiliriz! Sonra bazı verileri indirmek için gereken süreyi ölçen ve buna göre internet hızını hesaplayan yasal projeler vardı.

Ama Simple Network Management Protocol veya SNMP'yi bu projede (Alistair tarafından) öğrendim. SNMP'yi kullanarak WiFi yönlendirici ile iletişim kurabilir ve gerekli verileri doğrudan ondan alabiliriz. Kolay değil mi? Aslında hayır! Çünkü farklı WiFi yönlendirici modelleri farklı ayarlara sahiptir ve sonunda çıktıyı almadan önce çok fazla deneme yanılma işlemine ihtiyaç duyar. Korkma. SNMP hakkında öğrendiklerimi ve sonraki adımlarda karşılaştığım zorlukları kısaca anlatacağım.

Bu nedenle plan, WiFi Yönlendiriciye bağlanmak için NodeMCU kullanmaktır. Bunlar, nihai çıktıya ulaşmak için gereken adımlardır:

  • Yönlendiriciye gerekli verileri 'isteyen' bir istek gönderin
  • Yönlendiriciden yanıt alın
  • Yanıtı analiz edin ve ondan gerekli verileri ayrıştırın
  • 'Ham' verileri anlaşılabilir bilgilere dönüştürün
  • Sayaç için internet hızıyla orantılı voltaj üretin
  • Tekrarlamak

Sayacı kontrol etmek için bir DAC veya Dijitalden Analoga Dönüştürücü kullanacağım.

Adım 2: İhtiyacınız Olan Şeyler

İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler

1x DüğümMCU

1x Analog Metre Hareketi

1x MPU4725 DAC

1x SPDT Anahtarı

1x 10k Potansiyometre

1x Direnç

Adım 3: Tam Ölçekli Sapma Akımının Hesaplanması

Tam Ölçekli Sapma Akımının Hesaplanması
Tam Ölçekli Sapma Akımının Hesaplanması
Tam Ölçekli Sapma Akımının Hesaplanması
Tam Ölçekli Sapma Akımının Hesaplanması

Not: Gerçek yapı için 7. Adıma geçin!

Sayacınız için tam ölçekli sapma akımını zaten biliyorsanız bu adımı atlayın. Sayacım bundan bahsetmedi, bu yüzden hesaplamak zorunda kaldım. Ama önce, böyle bir hareketin nasıl çalıştığını hızlıca görelim. Manyetik alanda asılı duran bir bobinden oluşur. Faraday yasasına göre bobinden akım geçtiğinde, bir kuvvete maruz kalır. Bobinin manyetik alanda serbestçe dönmesine izin verilir ve bobine bağlı olan işaretçi de öyle. İşaretçiyi 'skalanın sonunda' hareket ettiren akımın büyüklüğüne tam ölçekli sapma akımı denir. Bu aynı zamanda bobinden geçmesine izin verilmesi gereken maksimum akımdır.

Daha pek çok şey var ama yaptığımız şey için bu yeterli. Artık hareketimiz var. Buna seri olarak yüksek direnç eklenerek voltmetre veya paralel olarak küçük bir direnç eklenerek Ampermetre olarak kullanılabilir. İnternet hızıyla orantılı voltajı görüntülemek için voltmetre olarak kullanacağız. Bu yüzden seriye eklenecek direnci hesaplamamız gerekiyor. Bunun için önce tam ölçekli sapma akımını hesaplamamız gerekiyor.

  1. Yüksek bir direnç değeri seçin (>100k gibi)
  2. Harekete seri bağlayın ve potu kullanarak üzerine değişken bir voltaj uygulayın.
  3. İşaretçi ölçeğin sonuna ulaşana kadar voltajı yavaşça artırmaya devam edin.
  4. Bir multimetre kullanarak akan akımı ölçün. Bu, tam ölçekli sapma akımıdır. (Benim durumumda ben = 150uA)

0 ila VCC (NodeMCU nedeniyle 3,3V) çıkış voltajı aralığına sahip bir DAC kullanıyoruz. Bu, ölçüm cihazına 3.3V uygulandığında, ölçeğin sonunu göstermesi gerektiği anlamına gelir. Bu, 3.3V uygulandığında devreden tam ölçekli sapma akımı geçtiğinde meydana gelebilir. Ohm Yasasını kullanarak, 3.3/(tam ölçekli sapma akımı), seri olarak eklenecek direncin değerini verir.

Adım 4: SNMP GET İsteği Oluşturma

SNMP GET İsteği Oluşturma
SNMP GET İsteği Oluşturma
SNMP GET İsteği Oluşturma
SNMP GET İsteği Oluşturma
SNMP GET İsteği Oluşturma
SNMP GET İsteği Oluşturma

Basit Ağ Yönetimi Protokolü (SNMP), IP ağlarındaki yönetilen cihazlar hakkında bilgi toplamak ve düzenlemek ve bu bilgileri cihaz davranışını değiştirmek üzere değiştirmek için bir İnternet Standardı protokolüdür. Tipik olarak SNMP'yi destekleyen cihazlar arasında kablo modemler, yönlendiriciler, anahtarlar, sunucular, iş istasyonları, yazıcılar ve daha fazlası bulunur. Bu yapı için, SNMP kullanarak WiFi Yönlendiricimiz ile iletişim kuracağız ve gerekli verileri alacağız.

Ama önce, yönlendiriciye istediğimiz verilerin ayrıntılarını içeren 'GET İsteği' olarak bilinen bir istek göndermemiz gerekiyor. GET İstek formatı resimde gösterilmiştir. Talep çeşitli bölümlerden oluşmaktadır. Değiştirmek isteyebileceğiniz baytları vurguladım.

Lütfen her şeyin Onaltılı olarak olduğunu unutmayın.

SNMP Mesajı -Benim durumumda, tüm mesajın uzunluğu 40'tır (gri renk), onaltılıya dönüştürüldüğünde 0x28'dir.

SNMP Community String - 'PUBLIC' değeri, uzunluğu 6 (sarı) olan '70 75 62 6C 69 63' olarak onaltılı olarak yazılır.

SNMP PDU Tipi - Benim durumumda, mesajın uzunluğu 27 (mavi) yani 0x1B'dir.

Varbind Liste Türü - Benim durumumda, mesajın uzunluğu 16 (yeşil) yani 0x10'dur.

Varbind Type - Benim durumumda, mesajın uzunluğu 14 (pembe) yani 0x0E'dir.

Nesne Tanımlayıcı -

Daha önce belirtildiği gibi, SNMP etkin ağ cihazları (örn. yönlendiriciler, anahtarlar, vb.), OID'ler tarafından tanımlanan nesneler olarak sistem durumu, kullanılabilirlik ve performans bilgilerinin bir veritabanını tutar. Yükleme ve İndirme paketleri için yönlendiricinizin OID'lerini tanımlamanız gerekir. Bunun gibi ücretsiz bir MIB Tarayıcı kullanılarak yapılabilir.

Adresi 192.168.1.1 ve OID'yi.1.3.6.1.2.1.2.2.2.1.10.x (ifInOctets) veya.1.3.6.1.2.1.2.2.1.16.x olarak girin. (ifOutOctets). İşlemi al'ı seçin ve Git'e tıklayın. OID'yi değeri ve türü ile birlikte görmelisiniz.

Benim durumumda, mesajın uzunluğu 10 (kırmızı) yani 0x0A'dır. Değeri OID ile değiştirin. Bu durumda, '2B 06 01 02 01 02 02 01 10 10'

Bu kadar! İstek mesajınız hazır. Geri kalan baytları olduğu gibi tutun.

Yönlendiricinizde SNMP'yi AÇMAK:

  • Varsayılan ağ geçidi üzerinden WiFi yönlendiricinizin sayfasında oturum açın. Tarayıcınıza 192.168.1.1 yazın ve enter'a basın. Varsayılan olarak, kullanıcı adı ve şifre 'admin' olmalıdır.
  • Bir TP-LINK (TD-W8961N) yönlendirici kullanıyorum. Bu yönlendirici için Erişim Yönetimi > SNMP'ye gitmeli ve 'Etkinleştirildi'yi seçmelisiniz.
  • GET Topluluğu: genel
  • Tuzak ana bilgisayarı: 0.0.0.0

Adım 5: GET Yanıtını Anlama

GET Yanıtını Anlama
GET Yanıtını Anlama

Bu adımı atlayabilirsiniz, ancak sorun giderme yapmanız gerekip gerekmediğini bilmekte fayda var.

Kodu yükleyip çalıştırdıktan sonra, yanıta Seri monitör aracılığıyla göz atabilirsiniz. Resimde gösterildiği gibi görünmelidir. Vurguladığım aramanız gereken birkaç bayt var.

0'dan başlayarak, 15. bayt, PDU Türünü bildirir - 0xA2, bunun bir GetResponse olduğu anlamına gelir.

48. bayt veri türünü söyler - 0x41, veri türünün Sayaç olduğu anlamına gelir.

49. bayt, verilerin uzunluğunu belirtir - 0x04, verilerin 4 bayt uzunluğunda olduğu anlamına gelir.

Bayt 50, 51, 52, 53 verileri içerir.

Adım 6: Dijitalden Analoga Dönüştürücü (DAC)

Dijitalden Analoga Dönüştürücü (DAC)
Dijitalden Analoga Dönüştürücü (DAC)

Mikrodenetleyiciler, Analog voltajları doğrudan anlamayan dijital cihazlardır. Giriş olarak değişken voltaj gerektiren bir analog metre kullanıyorum. Ancak mikrodenetleyici yalnızca YÜKSEK (NodeMCU durumunda 3,3V) ve DÜŞÜK (0V) çıkış verebilir. Şimdi neden sadece PWM kullanmıyorsunuz diyebilirsiniz. Sayaç yalnızca ortalama değeri göstereceğinden çalışmayacaktır.

Değişken voltaj elde etmek için MCP4725 DAC kullanıyorum. 12 bitlik bir DAC'dir, yani basit bir ifadeyle, 0 ila 3,3V'yi 4096 (= 2^12) parçaya böler. Çözünürlük 3.3/4096 = 0.8056mV olacaktır. Bu, 0'ın 0V'a, 1'in 0.8056mV'ye, 2'nin 1.6112mV'ye, ….., 4095'in 3.3V'a karşılık geldiği anlamına gelir.

İnternet hızı '0 ila 7 mbps' ile '0 ila 4095' arasında 'haritalanacak' ve daha sonra bu değer, internet hızıyla orantılı olacak bir voltaj çıkışı vermek için DAC'ye verilecektir.

Adım 7: Montaj

Meclis
Meclis
Meclis
Meclis
Meclis
Meclis
Meclis
Meclis

Bağlantılar çok basit. Şematik buraya eklenmiştir.

Teraziyi tasarladım ve bastım. Üstteki indirme hızı, alttaki ise yükleme hızı içindir. Yeni ölçeği eskisinin üzerine yapıştırdım.

Tüm eski şeyleri multimetreden çıkardım ve her şeyi içine tıktım. Sıkı bir uyum oldu. Yükleme ve indirme hızı arasında seçim yapmak için kullanılan geçiş anahtarını takmak için ön tarafta bir delik açmam gerekti.

Adım 8: Kodlama Zamanı

Kodlama Zamanı
Kodlama Zamanı
Kodlama Zamanı
Kodlama Zamanı
Kodlama Zamanı
Kodlama Zamanı

Kod buraya eklenmiştir. Arduino IDE'de indirin ve açın. Adafruit'ten MCP4725 kitaplığını yükleyin.

Yüklemeden önce:

  1. WiFi SSID'nizi ve Parolanızı girin
  2. Ölçekte belirtilen maksimum yükleme ve indirme hızını girin.
  3. İndirme ve yükleme paketleri için istek dizisinde gerekli değişiklikleri yapın.
  4. Seri monitörde yanıtı görüntülemek için satır 165'i kaldırın.

Yüklemeye basın!

9. Adım: Keyfini çıkarın

Gücü açın ve internette gezinirken iğnenin dans etmesini izlemenin tadını çıkarın!

Sonuna kadar bağlı kaldığınız için teşekkür ederiz. Umarım hepiniz bu projeyi seversiniz ve bugün yeni bir şey öğrenirsiniz. Kendin için bir tane yaparsan bana haber ver. Bu tür projeler için YouTube kanalıma abone olun.

Önerilen: