Daftar Isi:

Pengukur Kecepatan Internet: 4 Langkah (dengan Gambar)
Pengukur Kecepatan Internet: 4 Langkah (dengan Gambar)

Video: Pengukur Kecepatan Internet: 4 Langkah (dengan Gambar)

Video: Pengukur Kecepatan Internet: 4 Langkah (dengan Gambar)
Video: Cara Menampilkan Kecepatan Jaringan Internet Hp Android 2024, November
Anonim
Image
Image
Pengukur Kecepatan Internet
Pengukur Kecepatan Internet
Pengukur Kecepatan Internet
Pengukur Kecepatan Internet

Gambaran

"Pengukur Kecepatan Internet" ini akan memberi Anda pengawasan hampir waktu nyata atas penggunaan jaringan Anda. Informasi ini tersedia di antarmuka web sebagian besar router rumah. Namun, mengaksesnya mengharuskan Anda untuk menghentikan tugas Anda saat ini untuk mencarinya.

Saya ingin melihat informasi ini tanpa harus mengganggu tugas saya saat ini, untuk menampilkannya dalam format yang dapat dimengerti hanya dengan pandangan sekilas, dan untuk mendapatkan informasi dengan cara yang akan bekerja dengan router sebanyak mungkin, sehingga orang lain dapat melakukannya. berpotensi menggunakannya juga.

Bagaimana hal itu?

Saya memutuskan SNMP (Simple Network Management Protocol) sebagai cara untuk mendapatkan informasi dari router. SNMP banyak digunakan dalam peralatan jaringan dan jika perangkat Anda tidak mendukungnya secara default, DDWRT (firmware router open source) dapat digunakan untuk mengimplementasikan SNMP.

Untuk menampilkan informasi dengan cara yang mudah dipahami saya menggunakan pengukur dari mobil. Pengukur otomotif dirancang untuk memberi Anda informasi tanpa mengganggu atau membingungkan, sehingga pengemudi dapat mengawasi jalan. Juga, saya punya beberapa berbaring di sekitar.

Karena ini akan ada di meja saya, saya memutuskan saya juga akan membuat RGB lampu belakang karena aksesori komputer semuanya harus RGB. Benar?

Tantangan

Alat pengukur yang saya miliki menggunakan aktuator Air-Core. Saya belum pernah mendengar tentang ini sebelum proyek ini.

Dari Wikipedia: Pengukur inti udara terdiri dari dua kumparan tegak lurus independen yang mengelilingi ruang berongga. Sebuah poros jarum menonjol ke dalam ruangan, di mana magnet permanen ditempelkan pada poros. Ketika arus mengalir melalui kumparan tegak lurus, medan magnetnya tumpang tindih, dan magnet bebas untuk menyelaraskan dengan medan gabungan.

Saya tidak dapat menemukan perpustakaan untuk Arduino yang mendukung SNMP dalam konfigurasi manajer. SNMP memiliki dua bentuk utama, agen dan manajer. Agen menanggapi permintaan dan manajer mengirim permintaan ke agen. Saya bisa membuat fungsionalitas manajer berfungsi dengan memodifikasi perpustakaan Arduino_SNMP yang dibuat oleh 0neblock. Saya tidak pernah memprogram dalam C++ selain membuat LED berkedip pada Arduino jadi jika ada masalah dengan perpustakaan SNMP, beri tahu saya dan saya akan mencoba memperbaikinya, untuk saat ini berfungsi.

Selain itu, SNMP tidak dirancang untuk tampilan waktu nyata. Penggunaan yang dimaksudkan adalah untuk melacak statistik dan mendeteksi pemadaman. Karena itu, info di router hanya diperbarui setiap 5 detik (perangkat Anda mungkin berbeda). Itulah penyebab keterlambatan antara angka pada speed test 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
Desain Sirkuit
Desain Sirkuit

Kita akan membutuhkan 3 H-jembatan penuh. Model yang saya gunakan adalah Dual TB6612FNGdan Dual L298N.

Setiap aktuator Inti Udara membutuhkan 2 jembatan H penuh karena koil perlu dikontrol secara independen.

Salah satu pengukur yang saya gunakan memiliki satu kumparan yang dihubung singkat ke ground dengan dioda dan resistor. Saya tidak yakin dengan sains di baliknya, tetapi melakukan itu memungkinkannya berputar sekitar 90 derajat dengan hanya satu kumparan bertenaga.

Saya akan menggunakan regulator 12v hingga 5v yang merupakan bagian dari papan L298N yang saya pilih untuk memberi daya pada ESP32.

Semua sirkuit LED adalah opsional, serta konektor JST. Anda dapat dengan mudah menyolder kabel langsung ke ESP32 dan driver motor.

Langkah 3: Desain Kode

Pengaturan Kode

Kita perlu mengatur Arduino untuk dapat menggunakan papan ESP32. Ada panduan bagus yang terletak di sini yang akan memandu Anda melalui pengaturan Arduino ESP32.

Anda juga memerlukan perpustakaan Arduino_SNMP yang terletak di sini.

Untuk mengonfigurasi kode, Anda perlu mengumpulkan beberapa informasi.

  1. IP router
  2. Kecepatan unggah maksimal
  3. Kecepatan unduh maksimum
  4. Nama dan kata sandi WiFi Anda
  5. OID yang berisi jumlah oktet untuk "masuk" dan "keluar" pada antarmuka WAN router Anda

Ada OID standar (Object Identifiers) untuk informasi yang kita inginkan. Menurut standar MIB-2 angka yang kita inginkan 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 nomor yang ditetapkan ke antarmuka yang ingin Anda dapatkan statistiknya. Bagi saya nomor itu adalah 3. Salah satu cara untuk mengonfirmasi bahwa ini adalah OID yang benar untuk Anda dan untuk mengidentifikasi nomor antarmuka apa yang perlu Anda gunakan, adalah dengan menggunakan alat seperti MIB Browser.

Untuk mendapatkan kecepatan maksimal saya menggunakan SpeedTest.net. setelah Anda memiliki kecepatan dalam Mbps, Anda perlu mengubahnya menjadi oktet menggunakan rumus ini.

Oktet per detik = (Hasil dari tes kecepatan dalam Mbps * 1048576) / 8

Fungsi Kode

Kode mengirimkan SNMP get-request ke router. Router kemudian membalas dengan nomor, nomor tersebut mewakili jumlah oktet yang telah dikirim atau diterima. Pada saat yang sama, kami mencatat jumlah milidetik yang telah berlalu sejak Arduino dimulai.

Setelah proses ini terjadi setidaknya dua kali, kami dapat menghitung persentase penggunaan berdasarkan nilai maksimal kami menggunakan kode ini

persenDown = ((float)(byteDown - byteDownLast)/(float)(maxDown*((millis() - timeLast)/1000))) * 100;

Matematika rusak seperti ini:

octetsDiff = snmp_result - Sebelumnya_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second)/1000

Persen = (octetsDiff / MaxPosableOverTime) * 100

Sekarang kita memiliki persentase penggunaan jaringan, kita hanya perlu menuliskannya ke pengukur. Kami melakukannya dalam 2 langkah. Pertama kita menggunakan fungsi updateDownloadGauge. Dalam fungsi ini kami menggunakan "peta" untuk mengubah persentase menjadi angka yang mewakili posisi radian pada pengukur. Kemudian kita berikan angka tersebut ke fungsi setMeterPosition untuk memindahkan jarum ke posisi baru.

Langkah 4: Desain Kasus

Desain Kasus
Desain Kasus
Desain Kasus
Desain Kasus
Desain Kasus
Desain Kasus

Untuk menampung semuanya, saya mendesain enklosur di fusion360 dan mencetaknya 3D. Desain yang saya buat relatif sederhana. Saya menggunakan lem panas untuk mengencangkan komponen ke bagian dalam dan pengukur ditahan di tempatnya dengan dijepit di antara penutup depan dan penutup belakang. Anda tidak perlu menggunakan pencetakan 3D untuk membuat kasing. Misalnya, Anda dapat membuat kasing dari kayu, atau Anda dapat memasukkan semuanya kembali ke dalam wadah aslinya yang digunakan pengukur.

File STL saya tersedia di thingiverse jika Anda ingin melihatnya tetapi tidak mungkin mereka akan bekerja untuk Anda kecuali Anda mendapatkan pengukur yang sama persis seperti yang saya gunakan.

File kasus:

Terima kasih sudah membaca. Beri tahu saya jika Anda memiliki pertanyaan dan saya akan melakukan yang terbaik untuk menjawabnya.

Direkomendasikan: