Daftar Isi:

Speedometer Internet: 9 Langkah (dengan Gambar)
Speedometer Internet: 9 Langkah (dengan Gambar)

Video: Speedometer Internet: 9 Langkah (dengan Gambar)

Video: Speedometer Internet: 9 Langkah (dengan Gambar)
Video: Cara Menampilkan Kecepatan Internet Di HP Xiaomi Redmi 9, Note 9, Note 9 Pro 2024, November
Anonim
Image
Image
Rencana
Rencana

Dengan penguncian total yang terjadi di India, semuanya termasuk layanan surat telah ditutup. Tidak ada proyek PCB baru, tidak ada komponen baru, tidak ada! Jadi untuk mengatasi kebosanan dan menyibukkan diri, saya memutuskan untuk membuat sesuatu dari bagian-bagian yang sudah saya miliki di rumah. Saya mulai mencari dari tumpukan sampah elektronik dan menemukan multimeter analog tua yang rusak. Saya menyelamatkan 'pergerakan meteran' darinya dan memutuskan untuk menampilkan semacam informasi tetapi tidak tahu persis apa. Pertama, saya berpikir untuk menampilkan statistik COVID-19 tetapi sudah ada banyak proyek yang lebih baik di internet. Juga, data diperbarui setelah beberapa jam dan penunjuk meter yang diam akan membosankan. Saya ingin data yang berubah dengan cepat, berubah setiap detik. Saya meminta saran di Instagram dan salah satu pengikut saya menjawab dengan Internet Speedometer. Kedengarannya menarik dan memutuskan untuk membuatnya!

Dalam Instruksi ini, saya akan menunjukkan kepada Anda bagaimana saya mengambil data dari router WiFi saya menggunakan SNMP dan menampilkan kecepatan unggah dan unduh pada meteran.

Mari kita mulai

Langkah 1: Rencana

Seperti biasa sebelum memulai proyek, saya melakukan sedikit riset di internet. Saya menemukan beberapa proyek yang terkait dengan topik ini. Mereka terdiri dari dua jenis. Salah satunya yang menunjukkan kecepatan internet dengan mengukur 'kekuatan' sinyal WiFi. Saya bukan orang yang ahli jaringan tetapi ini kedengarannya tidak benar. Yang lain mengukur latensi dan mengkategorikan kecepatan sebagai lambat, sedang atau cepat. Latency adalah waktu tunda antara mengirim permintaan dan mendapatkan respons sehingga tidak bisa menjadi representasi sebenarnya dari kecepatan internet. Kami dapat menyebutnya sebagai kecepatan respons jaringan! Lalu ada proyek resmi yang mengukur waktu yang diperlukan untuk mengunduh beberapa data dan menghitung kecepatan internet berdasarkan itu.

Tapi di proyek ini (oleh Alistair) saya belajar tentang Simple Network Management Protocol atau SNMP. Menggunakan SNMP, kita dapat berkomunikasi dengan router WiFi dan mendapatkan data yang diperlukan langsung darinya. Mudah, kan? Sebenarnya tidak! Karena model yang berbeda dari penggunaan router WiFi memiliki pengaturan yang berbeda dan membutuhkan banyak trial and error sebelum Anda akhirnya mendapatkan output. Jangan takut. Saya akan menjelaskan secara singkat apa pun yang saya pelajari tentang SNMP dan kesulitan yang saya hadapi di langkah-langkah mendatang.

Jadi rencananya akan menggunakan NodeMCU untuk terhubung ke Router WiFi. Ini adalah langkah-langkah untuk mendapatkan hasil akhir:

  • Kirim permintaan ke router 'meminta' data yang diperlukan
  • Dapatkan respons dari router
  • Analisis respons dan uraikan data yang diperlukan darinya
  • Ubah data 'mentah' menjadi informasi yang dapat dipahami
  • Hasilkan tegangan sebanding dengan kecepatan internet untuk meteran
  • Mengulang

Saya akan menggunakan DAC atau Digital to Analog Converter untuk mengontrol meteran.

Langkah 2: Hal-hal yang Anda Butuhkan

Hal-hal yang Anda Butuhkan
Hal-hal yang Anda Butuhkan
Hal-hal yang Anda Butuhkan
Hal-hal yang Anda Butuhkan
Hal-hal yang Anda Butuhkan
Hal-hal yang Anda Butuhkan

1x NodeMCU

1x Gerakan Meter Analog

1x MPU4725 DAC

1x Saklar SPDT

Potensiometer 1x 10k

1x Resistor

Langkah 3: Menghitung Arus Defleksi Skala Penuh

Menghitung Arus Defleksi Skala Penuh
Menghitung Arus Defleksi Skala Penuh
Menghitung Arus Defleksi Skala Penuh
Menghitung Arus Defleksi Skala Penuh

Catatan: Langsung ke Langkah 7 untuk build yang sebenarnya!

Lewati langkah ini jika Anda sudah mengetahui arus defleksi skala penuh untuk meteran Anda. Meteran saya tidak menyebutkannya jadi saya harus menghitung. Tapi pertama-tama, mari kita lihat dengan cepat bagaimana gerakan seperti itu bekerja. Ini terdiri dari sebuah kumparan tergantung dalam medan magnet. Ketika arus mengalir melalui kumparan, menurut hukum Faraday, ia mengalami gaya. Kumparan dibiarkan berputar bebas dalam medan magnet dan begitu juga penunjuk yang menempel pada kumparan. Besarnya arus yang membuat penunjuk bergerak pada 'ujung skala' disebut arus defleksi skala penuh. Ini juga merupakan arus maksimum yang harus dibiarkan mengalir melalui koil.

Masih banyak lagi yang terjadi tapi ini sudah cukup untuk apa yang kita lakukan. Kami sekarang memiliki gerakan. Ini dapat digunakan sebagai voltmeter dengan menambahkan resistansi tinggi secara seri atau sebagai Ammeter dengan menambahkan resistansi kecil secara paralel. Kami akan menggunakannya sebagai voltmeter untuk menampilkan tegangan sebanding dengan kecepatan internet. Jadi, kita perlu menghitung hambatan yang akan ditambahkan secara seri. Untuk itu, pertama-tama kita perlu menghitung arus defleksi skala penuh.

  1. Pilih nilai resistansi tinggi (seperti >100k)
  2. Hubungkan secara seri dengan gerakan dan berikan tegangan variabel di atasnya menggunakan panci.
  3. Terus naikkan voltase secara perlahan hingga penunjuk mencapai ujung skala.
  4. Dengan menggunakan multimeter, ukur arus yang mengalir. Ini adalah arus defleksi skala penuh. (I = 150uA dalam kasus saya)

Kami menggunakan DAC yang memiliki rentang tegangan keluaran dari 0 hingga VCC (3.3V karena NodeMCU). Ini berarti bahwa ketika 3.3V diterapkan ke meteran, itu harus menunjuk ke ujung skala. Ini dapat terjadi ketika arus defleksi skala penuh mengalir melalui rangkaian ketika 3.3V diterapkan. Menggunakan Hukum Ohm, 3,3/(arus defleksi skala penuh) memberikan nilai resistansi untuk dimasukkan secara seri.

Langkah 4: Membuat Permintaan GET SNMP

Membuat Permintaan GET SNMP
Membuat Permintaan GET SNMP
Membuat Permintaan GET SNMP
Membuat Permintaan GET SNMP
Membuat Permintaan GET SNMP
Membuat Permintaan GET SNMP

Simple Network Management Protocol (SNMP) adalah protokol Standar Internet untuk mengumpulkan dan mengatur informasi tentang perangkat yang dikelola di jaringan IP dan untuk memodifikasi informasi tersebut untuk mengubah perilaku perangkat. Perangkat yang biasanya mendukung SNMP termasuk modem kabel, router, switch, server, workstation, printer, dan banyak lagi. Untuk build ini, kami akan berkomunikasi dengan Router WiFi kami menggunakan SNMP dan mendapatkan data yang diperlukan.

Tapi pertama-tama, kita perlu mengirim permintaan yang dikenal sebagai 'GET Request' ke router dengan menyebutkan detail data yang kita inginkan. Format Permintaan GET ditunjukkan pada gambar. Permintaan terdiri dari berbagai bagian. Saya telah menyoroti byte yang mungkin ingin Anda ubah.

Harap dicatat bahwa semuanya dalam Heksadesimal.

Pesan SNMP -Dalam kasus saya, panjang seluruh pesan adalah 40 (warna abu-abu) yang ketika dikonversi ke heksadesimal adalah 0x28.

SNMP Community String - Nilai 'PUBLIC' ditulis dalam heksadesimal sebagai '70 75 62 6C 69 63' yang panjangnya 6 (kuning).

SNMP PDU Type - Dalam kasus saya, panjang pesan adalah 27 (biru) yaitu 0x1B.

Jenis Daftar Varbind - Dalam kasus saya, panjang pesan adalah 16 (hijau) yaitu 0x10.

Jenis Varbind - Dalam kasus saya, panjang pesan adalah 14 (merah muda) yaitu 0x0E.

Pengenal Objek -

Seperti disebutkan sebelumnya, perangkat jaringan berkemampuan SNMP (misalnya router, switch, dll.) memelihara database status sistem, ketersediaan, dan informasi kinerja sebagai objek, yang diidentifikasi oleh OID. Anda perlu mengidentifikasi OID router Anda untuk paket Upload dan Download. Itu dapat dilakukan dengan menggunakan Browser MIB gratis seperti ini.

Masukkan Alamat sebagai 192.168.1.1 dan OID sebagai.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) atau.1.3.6.1.2.1.2.2.1.16.x. (ifOutOctets). Pilih Get operation dan klik Go. Anda akan melihat OID beserta nilai dan jenisnya.

Dalam kasus saya, panjang pesan adalah 10 (merah) yaitu 0x0A. Ganti nilainya dengan OID. Dalam hal ini, '2B 06 01 02 01 02 02 01 10 10'

Itu dia! Pesan permintaan Anda sudah siap. Pertahankan sisa byte apa adanya.

Mengaktifkan SNMP di router Anda:

  • Masuk ke halaman router WiFi Anda melalui gateway default. Ketik 192.168.1.1 di browser Anda dan tekan enter. Secara default, nama pengguna dan kata sandi harus 'admin'.
  • Saya menggunakan router TP-LINK (TD-W8961N). Untuk router ini, Anda harus pergi ke Access Management > SNMP dan pilih 'Activated'.
  • DAPATKAN Komunitas: publik
  • Tuan rumah perangkap: 0.0.0.0

Langkah 5: Memahami GET Response

Memahami Respon GET
Memahami Respon GET

Anda dapat melewati langkah ini, tetapi ada baiknya mengetahui apakah Anda perlu melakukan pemecahan masalah.

Setelah Anda mengunggah kode dan menjalankannya, Anda dapat melihat respons melalui monitor Serial. Seharusnya terlihat seperti yang ditunjukkan pada gambar. Ada beberapa byte yang perlu Anda cari yang telah saya soroti.

Mulai dari 0, Byte ke-15 memberi tahu Jenis PDU - 0xA2 berarti itu adalah GetResponse.

Byte ke-48 memberi tahu tipe data - 0x41 berarti tipe datanya adalah Counter.

Byte ke-49 menunjukkan panjang data - 0x04 berarti panjang data adalah 4 byte.

Byte 50, 51, 52, 53 berisi data.

Langkah 6: Konverter Digital ke Analog (DAC)

Konverter Digital ke Analog (DAC)
Konverter Digital ke Analog (DAC)

Mikrokontroler adalah perangkat digital yang tidak memahami tegangan Analog secara langsung. Saya menggunakan meteran analog yang membutuhkan tegangan variabel sebagai input. Tetapi mikrokontroler hanya dapat mengeluarkan TINGGI (3.3V dalam kasus NodeMCU) dan RENDAH (0V). Sekarang Anda mungkin mengatakan mengapa tidak menggunakan PWM saja. Ini tidak akan berfungsi karena meteran hanya akan menampilkan nilai rata-rata.

Saya menggunakan MCP4725 DAC untuk mendapatkan tegangan variabel. Ini adalah DAC 12-bit yaitu dalam istilah sederhana, itu akan membagi 0 hingga 3.3V menjadi 4096 (= 2 ^ 12) bagian. Resolusinya akan menjadi 3,3/4096 = 0,8056mV. Ini berarti bahwa 0 sesuai dengan 0V, 1 sesuai dengan 0.8056mV, 2 sesuai dengan 1.6112mV, ….., 4095 sesuai dengan 3.3V.

Kecepatan internet akan 'dipetakan' dari '0 hingga 7 mbps' hingga '0 hingga 4095' dan kemudian nilai ini akan diberikan ke DAC untuk mengeluarkan tegangan yang akan sebanding dengan kecepatan internet.

Langkah 7: Majelis

Perakitan
Perakitan
Perakitan
Perakitan
Perakitan
Perakitan
Perakitan
Perakitan

Koneksi sangat sederhana. Skema telah dilampirkan di sini.

Saya merancang dan mencetak timbangan. Yang atas untuk kecepatan unduh dan yang bawah untuk kecepatan unggah. Saya merekatkan timbangan baru di atas timbangan lama.

Saya menghapus semua barang lama dari multimeter dan saya menjejalkan semua yang ada di dalamnya. Itu sangat ketat. Saya harus mengebor lubang di bagian depan untuk memasang sakelar sakelar yang digunakan untuk memilih antara kecepatan unggah dan unduh.

Langkah 8: Saatnya Coding

Saatnya Coding
Saatnya Coding
Saatnya Coding
Saatnya Coding
Saatnya Coding
Saatnya Coding

Kode telah dilampirkan di sini. Unduh dan buka di Arduino IDE. Instal pustaka MCP4725 dari Adafruit.

Sebelum Anda mengunggah:

  1. Masukkan SSID dan Kata Sandi WiFi Anda
  2. Masukkan kecepatan unggah dan unduh maksimum yang disebutkan pada skala.
  3. Buat perubahan yang diperlukan dalam larik permintaan untuk mengunduh serta mengunggah paket.
  4. Batalkan komentar pada baris 165 untuk melihat respons pada monitor serial.

Tekan unggah!

Langkah 9: Nikmati

Nyalakan dan nikmati menonton jarum menari-nari saat Anda menjelajahi internet!

Terima kasih telah bertahan sampai akhir. Semoga Anda semua menyukai proyek ini dan belajar sesuatu yang baru hari ini. Beri tahu saya jika Anda membuatnya sendiri. Berlangganan ke saluran YouTube saya untuk lebih banyak proyek serupa.

Direkomendasikan: