Isi kandungan:

Tolok Kelajuan Internet: 4 Langkah (dengan Gambar)
Tolok Kelajuan Internet: 4 Langkah (dengan Gambar)

Video: Tolok Kelajuan Internet: 4 Langkah (dengan Gambar)

Video: Tolok Kelajuan Internet: 4 Langkah (dengan Gambar)
Video: Cara Reset Line Phone Dengan Mudah 2024, September
Anonim
Image
Image
Tolok Kelajuan Internet
Tolok Kelajuan Internet
Tolok Kelajuan Internet
Tolok Kelajuan Internet

Gambaran keseluruhan

"Internet Speed Gauge" ini akan memberi anda pengawasan hampir masa nyata penggunaan rangkaian anda. Maklumat ini terdapat di antara muka web kebanyakan penghala rumah. Namun, untuk mengaksesnya memerlukan anda menghentikan tugas semasa anda untuk mencarinya.

Saya ingin melihat maklumat ini tanpa perlu mengganggu tugas saya sekarang, memaparkannya dalam format yang dapat difahami dengan sekejap, dan untuk mendapatkan maklumat dengan cara yang dapat berfungsi dengan seberapa banyak router, sehingga orang lain dapat berpotensi menggunakannya juga.

Bagaimana ia melakukan perkara-perkara

Saya memutuskan SNMP (Simple Network Management Protocol) sebagai cara untuk mendapatkan maklumat dari penghala. SNMP digunakan secara meluas dalam peralatan rangkaian dan jika peranti anda tidak mendukungnya secara default DDWRT (firmware penghala sumber terbuka) dapat digunakan untuk menerapkan SNMP.

Untuk memaparkan maklumat dengan cara yang mudah difahami, saya menggunakan alat pengukur dari sebuah kereta. Alat pengukur automotif direka untuk memberi anda maklumat tanpa mengganggu atau membingungkan, sehingga pemandu dapat mengawasi jalan. Saya juga berbaring.

Oleh kerana ini akan berada di meja saya, saya memutuskan untuk membuat lampu belakang RGB kerana semua aksesori komputer mestilah RGB. Betul?

Cabaran

Alat pengukur yang saya gunakan menggunakan penggerak Air-Core. Saya tidak pernah mendengar perkara ini sebelum projek ini.

Dari Wikipedia: Tolok teras udara terdiri daripada dua gegelung tegak lurus yang mengelilingi ruang berongga. Poros jarum menonjol ke ruang, di mana magnet kekal dilekatkan pada batang. Apabila arus mengalir melalui gegelung tegak lurus, medan magnetnya tumpang tindih, dan magnet bebas sejajar dengan medan gabungan.

Saya tidak dapat mencari perpustakaan untuk Arduino yang menyokong SNMP dalam konfigurasi pengurus. SNMP mempunyai dua bentuk utama, ejen dan pengurus. Ejen bertindak balas terhadap permintaan dan pengurus menghantar permintaan kepada ejen. Saya dapat membuat fungsi pengurus berfungsi dengan mengubah pustaka Arduino_SNMP yang dibuat oleh 0neblock. Saya tidak pernah memprogram di C ++ selain membuat LED berkedip pada Arduino, jadi jika ada masalah dengan perpustakaan SNMP beritahu saya dan saya akan berusaha memperbaikinya, kerana sekarang ia berfungsi.

Selain itu, SNMP tidak direka untuk melihat masa nyata. Penggunaan yang dimaksudkan adalah untuk mengesan statistik dan mengesan gangguan. Oleh kerana itu, maklumat pada penghala hanya dikemas kini setiap 5 saat (peranti anda mungkin berbeza). Itulah sebab kelewatan antara nombor pada ujian kelajuan dan jarum bergerak.

Langkah 1: Alat dan Bahan

Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Reka Bentuk Litar
Reka Bentuk Litar

Kami memerlukan 3 jambatan H penuh. Model yang saya gunakan ialah Dual TB6612FNGand Dual L298N.

Setiap penggerak Air-Core memerlukan 2 jambatan H penuh kerana gegelung perlu dikendalikan secara bebas.

Salah satu alat pengukur yang saya gunakan mempunyai satu gegelung yang terpendek ke tanah dengan diod dan perintang. Saya tidak yakin dengan sains di belakangnya tetapi melakukan itu membolehkannya berputar sekitar 90 darjah dengan hanya satu gegelung yang dikuasakan.

Saya akan menggunakan pengatur 12v hingga 5v yang merupakan bahagian papan L298N yang saya pilih untuk memberi kuasa kepada ESP32.

Semua litar LED adalah pilihan, begitu juga penyambung JST. Anda boleh memasangkan wayar dengan mudah terus ke ESP32 dan pemandu motor.

Langkah 3: Reka Bentuk Kod

Penyediaan Kod

Kita perlu menyiapkan Arduino untuk dapat menggunakan papan ESP32. Terdapat panduan baik yang terdapat di sini yang akan memandu anda melalui persediaan ESP32 Arduino.

Anda juga memerlukan perpustakaan Arduino_SNMP yang terdapat di sini.

Untuk mengkonfigurasi kod, anda perlu mengumpulkan beberapa maklumat.

  1. IP penghala
  2. Kelajuan muat naik maksimum
  3. Kelajuan muat turun maksimum
  4. Nama dan kata laluan WiFi anda
  5. OID yang mengandungi jumlah oktet untuk "in" dan "out" pada antara muka WAN router anda

Terdapat OID standard (Object Identifier) untuk maklumat yang kami mahukan. Menurut standard MIB-2 nombor yang kami mahukan adalah:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

Di mana X adalah nombor yang diberikan ke antara muka yang anda ingin dapatkan statistiknya. Bagi saya nombor itu adalah 3. Salah satu cara untuk mengesahkan bahawa ini adalah OID yang betul untuk anda dan untuk mengenal pasti nombor antara muka yang perlu anda gunakan, adalah dengan menggunakan alat seperti MIB Browser.

Untuk mendapatkan kelajuan maksimum saya menggunakan SpeedTest.net. apabila anda mempunyai kelajuan dalam Mbps, anda perlu mengubahnya menjadi oktet menggunakan formula ini.

Octet sesaat = (Hasil ujian kelajuan dalam Mbps * 1048576) / 8

Fungsi Kod

Kod tersebut menghantar permintaan get SNMP ke penghala. Penghala kemudian membalas dengan nombor, angka tersebut mewakili jumlah oktet yang telah dikirim atau diterima. Pada masa yang sama, kami mencatat jumlah milisaat yang berlalu sejak Arduino bermula.

Setelah proses ini berlaku sekurang-kurangnya dua kali, kita dapat mengira peratusan penggunaan berdasarkan nilai maksimum kita menggunakan kod ini

percentDown = ((float) (byteDown - byteDownLast) / (float) (maxDown * ((milis () - timeLast) / 1000))) * 100;

Matematik rosak seperti ini:

octetsDiff = snmp_result - Sebelumnya_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second) / 1000

Peratus = (octetsDiff / MaxPosableOverTime) * 100

Sekarang kita mempunyai peratus penggunaan rangkaian, kita hanya perlu menuliskannya ke ukuran. Kami melakukannya dalam 2 langkah. Mula-mula kita menggunakan fungsi updateDownloadGauge. Dalam fungsi ini kita menggunakan "peta" untuk mengubah persentase menjadi angka yang mewakili posisi radian di tolok. Kemudian kami memberikan nombor itu ke fungsi setMeterPosition untuk memindahkan jarum ke kedudukan baru.

Langkah 4: Reka Bentuk Kes

Reka Bentuk Kes
Reka Bentuk Kes
Reka Bentuk Kes
Reka Bentuk Kes
Reka Bentuk Kes
Reka Bentuk Kes

Untuk memuatkan segalanya, saya merancang kandang di fusion360 dan 3D mencetaknya. Reka bentuk yang saya buat agak sederhana. Saya menggunakan lem panas untuk mengikat komponen ke bahagian dalam dan alat pengukur ditahan di tempatnya dengan dicubit di antara penutup depan dan penutup belakang. Anda tidak perlu menggunakan percetakan 3D untuk membuat casing tersebut. Contohnya, anda boleh membuat casing dari kayu, atau memasukkan semula semuanya ke dalam bekas asal alat pengukur masuk.

Fail STL saya boleh didapati di benda-benda jika anda ingin melihatnya tetapi tidak mungkin fail-fail itu berfungsi untuk anda melainkan anda mendapat alat pengukur yang sama dengan yang saya gunakan.

Fail kes:

Terima kasih untuk membaca. Beritahu saya jika anda mempunyai sebarang pertanyaan dan saya akan berusaha sedaya upaya untuk menjawabnya.

Disyorkan: