Isi kandungan:

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
Rancangan
Rancangan

Dengan penutupan sepenuhnya di India, semua perkara termasuk perkhidmatan mel telah ditutup. Tidak ada projek PCB baru, tidak ada komponen baru, tidak ada! Oleh itu, untuk mengatasi kebosanan dan menyibukkan diri, saya memutuskan untuk membuat sesuatu dari bahagian yang sudah ada di rumah. Saya mula mencari dari timbunan sampah elektronik dan menjumpai multimeter analog lama. Saya menyelamatkan 'pergerakan meter' darinya dan memutuskan untuk memaparkan beberapa jenis maklumat tetapi tidak tahu sebenarnya. Pertama, saya terfikir untuk memaparkan statistik COVID-19 tetapi sudah ada banyak projek yang lebih baik di internet. Juga, data dikemas kini setelah beberapa jam dan penunjuk meter yang tidak stabil akan membosankan. Saya mahukan data yang berubah dengan cepat, berubah setiap saat. Saya meminta cadangan di Instagram dan salah seorang pengikut saya menjawab dengan Speedometer Internet. Kedengarannya menarik dan memutuskan untuk membuatnya!

Dalam Instructable ini, saya akan menunjukkan kepada anda bagaimana saya mengambil data dari penghala WiFi saya menggunakan SNMP dan memperlihatkan kelajuan muat naik dan muat turun pada meter.

Mari kita mulakan

Langkah 1: Rancangan

Seperti biasa sebelum memulakan projek, saya membuat sedikit kajian di internet. Saya menjumpai beberapa projek yang berkaitan dengan topik ini. Mereka terdiri daripada dua jenis. Salah satu yang menunjukkan kelajuan internet dengan mengukur 'kekuatan' isyarat WiFi. Saya bukan lelaki pakar rangkaian tetapi ini tidak betul. Yang lain mengukur kependaman dan dikategorikan kelajuan sebagai perlahan, sederhana atau cepat. Latensi adalah kelewatan waktu antara mengirim permintaan dan mendapatkan respons dan oleh itu tidak boleh menjadi gambaran sebenar kelajuan internet. Kita boleh menyebutnya sebagai kelajuan tindak balas rangkaian! Kemudian ada projek sah yang mengukur masa yang diperlukan untuk memuat turun beberapa data dan mengira kelajuan internet berdasarkan itu.

Tetapi dalam projek ini (oleh Alistair) saya belajar mengenai Protokol Pengurusan Rangkaian Sederhana atau SNMP. Dengan menggunakan SNMP, kami dapat berkomunikasi dengan penghala WiFi dan mendapatkan data yang diperlukan langsung daripadanya. Mudah, bukan? Sebenarnya tidak! Kerana model router WiFi yang berbeza-beza mempunyai pengaturan yang berbeza dan memerlukan banyak percubaan dan ralat sebelum akhirnya anda mendapat output. Jangan takut. Saya akan menerangkan secara ringkas apa sahaja yang saya pelajari mengenai SNMP dan kesukaran yang saya hadapi dalam langkah-langkah yang akan datang.

Jadi rancangannya adalah menggunakan NodeMCU untuk menyambung ke WiFi Router. Ini adalah langkah untuk mencapai hasil akhir:

  • Kirim permintaan ke router 'meminta' data yang diperlukan
  • Dapatkan respons dari penghala
  • Menganalisis tindak balas dan menghuraikan data yang diperlukan darinya
  • Tukarkan data 'mentah' menjadi maklumat yang dapat difahami
  • Hasilkan voltan berkadar dengan kelajuan internet untuk meter
  • Ulangi

Saya akan menggunakan DAC atau Digital to Analog Converter untuk mengawal meter.

Langkah 2: Perkara yang Anda Perlu

Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu

1x NodeMCU

Pergerakan Meter Analog 1x

1x MPU4725 DAC

Suis 1x SPDT

Potensiometer 1x 10k

1x Perintang

Langkah 3: Mengira arus pesongan skala penuh

Mengira arus pesongan skala penuh
Mengira arus pesongan skala penuh
Mengira arus pesongan skala penuh
Mengira arus pesongan skala penuh

Nota: Lompat ke Langkah 7 untuk membina sebenarnya!

Langkau langkah ini jika anda sudah mengetahui arus pesongan skala penuh untuk meter anda. Meter saya tidak menyebutnya, jadi saya mesti mengira. Tetapi pertama-tama, mari kita lihat dengan cepat bagaimana pergerakan seperti ini berfungsi. Ia terdiri daripada gegelung yang digantung di medan magnet. Ketika arus mengalir melalui gegelung, menurut hukum Faraday, ia mengalami kekuatan. Gegelung dibiarkan berputar bebas di medan magnet dan begitu juga penunjuk yang melekat pada gegelung. Besarnya arus yang menjadikan penunjuk bergerak pada 'hujung skala' disebut arus pesongan skala penuh. Ini juga arus maksimum yang mesti dibiarkan mengalir melalui gegelung.

Masih banyak yang berlaku tetapi ini sudah cukup untuk apa yang kita lakukan. Kami sekarang mempunyai pergerakan. Ia dapat digunakan sebagai voltmeter dengan menambahkan rintangan tinggi secara bersiri atau sebagai Ammeter dengan menambahkan rintangan kecil selari dengannya. Kami akan menggunakannya sebagai voltmeter untuk menampilkan voltan berkadar dengan kelajuan internet. Oleh itu, kita perlu mengira rintangan yang akan ditambah secara bersiri. Untuk itu, pertama kita perlu mengira arus pesongan skala penuh.

  1. Pilih nilai rintangan tinggi (seperti> 100k)
  2. Sambungkan secara bersiri dengan pergerakan dan terapkan voltan berubah di atasnya menggunakan periuk.
  3. Terus meningkatkan voltan perlahan sehingga penunjuk mencapai akhir skala.
  4. Dengan menggunakan multimeter, ukur arus yang mengalir. Ini adalah arus pesongan skala penuh. (Saya = 150uA dalam kes saya)

Kami menggunakan DAC yang mempunyai julat voltan keluaran dari 0 hingga VCC (3.3V kerana NodeMCU). Ini bermaksud bahawa apabila 3.3V diterapkan pada meter, ia harus menunjuk pada akhir skala. Ini boleh berlaku apabila arus pesongan skala penuh mengalir melalui litar semasa 3.3V digunakan. Menggunakan Hukum Ohm, 3.3 / (arus pesongan skala penuh) memberikan nilai ketahanan untuk dimasukkan secara seri.

Langkah 4: Membuat SNMP DAPATKAN Permintaan

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 Standard Internet untuk mengumpulkan dan menyusun maklumat mengenai peranti yang diuruskan pada rangkaian IP dan untuk mengubah maklumat tersebut untuk mengubah tingkah laku peranti. Peranti yang biasanya menyokong SNMP merangkumi modem kabel, router, suis, pelayan, stesen kerja, pencetak, dan banyak lagi. Untuk membina ini, kami akan berkomunikasi dengan WiFi Router kami menggunakan SNMP dan mendapatkan data yang diperlukan.

Tetapi pertama, kita perlu mengirim permintaan yang dikenal sebagai 'GET Request' ke router yang menyebutkan perincian data yang kita inginkan. Format GET Request ditunjukkan dalam gambar. Permintaan itu terdiri daripada pelbagai bahagian. Saya telah mengetengahkan bait yang mungkin anda mahu ubah.

Harap maklum bahawa semuanya dalam Heksadesimal.

Mesej SNMP -Dalam kes saya, panjang keseluruhan mesej adalah 40 (warna kelabu) yang apabila ditukar menjadi heksadesimal adalah 0x28.

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

Jenis SNMP PDU - Dalam kes saya, panjang mesej adalah 27 (biru) iaitu 0x1B.

Jenis Senarai Varbind - Dalam kes saya, panjang mesej adalah 16 (hijau) iaitu 0x10.

Jenis Varbind - Dalam kes saya, panjang mesej adalah 14 (merah jambu) iaitu 0x0E.

Pengecam Objek -

Seperti yang telah disebutkan sebelumnya, perangkat jaringan berkemampuan SNMP (mis. Router, switch, dll.) Menyimpan pangkalan data status sistem, ketersediaan, dan informasi prestasi sebagai objek, yang diidentifikasi oleh OID. Anda perlu mengenal pasti OID penghala anda untuk memuat naik dan memuat turun paket. Ia boleh dilakukan dengan menggunakan MIB Browser percuma 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 Dapatkan operasi dan klik Pergi. Anda mesti melihat OID beserta nilai dan jenisnya.

Dalam kes saya, panjang mesej ialah 10 (merah) iaitu 0x0A. Ganti nilainya dengan OID. Dalam kes ini, '2B 06 01 02 01 02 02 01 10 10'

Itu sahaja! Mesej permintaan anda sudah siap. Simpan bait selebihnya.

Menghidupkan SNMP pada penghala anda:

  • Log masuk ke halaman penghala WiFi anda melalui gateway lalai. Taip 192.168.1.1 di penyemak imbas anda dan tekan enter. Secara lalai, nama pengguna dan kata laluan harus menjadi 'admin'.
  • Saya menggunakan penghala TP-LINK (TD-W8961N). Untuk penghala ini, anda harus pergi ke Akses Pengurusan> SNMP dan pilih 'Diaktifkan'.
  • DAPATKAN Komuniti: awam
  • Host perangkap: 0.0.0.0

Langkah 5: Memahami GET Response

Memahami GET Response
Memahami GET Response

Anda boleh melangkau langkah ini, tetapi ada baiknya anda mengetahui jika anda perlu melakukan beberapa penyelesaian masalah.

Sebaik sahaja anda memuat naik kod dan menjalankannya, anda dapat melihat tindak balas melalui monitor Serial. Ia kelihatan seperti yang ditunjukkan dalam gambar. Terdapat beberapa bait yang perlu anda perhatikan yang telah saya ketengahkan.

Bermula dari 0, Byte ke-15 memberitahu Jenis PDU - 0xA2 bermaksud bahawa ia adalah GetResponse.

Byte ke-48 memberitahu jenis data - 0x41 bermaksud bahawa jenis data adalah Pembilang.

Bait ke 49 memberitahu panjang data - 0x04 bermaksud bahawa panjang data 4 bait.

Byte 50, 51, 52, 53 mengandungi data.

Langkah 6: Penukar Digital ke Analog (DAC)

Penukar Digital ke Analog (DAC)
Penukar Digital ke Analog (DAC)

Mikrokontroler adalah peranti digital yang tidak memahami voltan Analog secara langsung. Saya menggunakan meter analog yang memerlukan voltan berubah sebagai input. Tetapi mikrokontroler hanya dapat menghasilkan HIGH (3.3V sekiranya berlaku NodeMCU) dan LOW (0V). Sekarang anda mungkin mengatakan mengapa tidak hanya menggunakan PWM. Ia tidak akan berfungsi kerana meter hanya akan menunjukkan nilai purata.

Saya menggunakan MCP4725 DAC untuk mendapatkan voltan berubah. Ia adalah DAC 12-bit, iaitu dengan mudah, ia akan membahagikan 0 hingga 3.3V menjadi 4096 (= 2 ^ 12) bahagian. Resolusi akan menjadi 3.3 / 4096 = 0.8056mV. Ini bermaksud bahawa 0 sesuai dengan 0V, 1 sesuai dengan 0,8056mV, 2 sesuai dengan 1,6112mV,….., 4095 sepadan dengan 3.3V.

Kelajuan internet akan 'dipetakan' dari '0 hingga 7 mbps' menjadi '0 hingga 4095' dan kemudian nilai ini akan diberikan kepada DAC untuk menghasilkan voltan yang sebanding dengan kelajuan internet.

Langkah 7: Majlis

Majlis
Majlis
Majlis
Majlis
Majlis
Majlis
Majlis
Majlis

Sambungan sangat mudah. Skema telah dilampirkan di sini.

Saya merancang dan mencetak skala. Yang atas adalah untuk kelajuan muat turun dan yang lebih rendah adalah untuk kelajuan muat naik. Saya menempelkan skala baru daripada yang lama.

Saya mengeluarkan semua barang lama dari multimeter dan menjejalkan semua yang ada di dalamnya. Ia sangat sesuai. Saya terpaksa menggerudi lubang di depan untuk memasang suis togol yang digunakan untuk memilih antara kelajuan muat naik dan muat turun.

Langkah 8: Masa untuk Pengekodan

Masa untuk Pengekodan
Masa untuk Pengekodan
Masa untuk Pengekodan
Masa untuk Pengekodan
Masa untuk Pengekodan
Masa untuk Pengekodan

Kod telah dilampirkan di sini. Muat turun dan buka di Arduino IDE. Pasang perpustakaan MCP4725 dari Adafruit.

Sebelum anda memuat naik:

  1. Masukkan SSID dan Kata Laluan WiFi anda
  2. Masukkan kelajuan muat naik dan muat turun maksimum yang disebutkan dalam skala.
  3. Lakukan perubahan yang diperlukan dalam larik permintaan untuk muat turun dan juga muat naik paket.
  4. Uncomment line 165 untuk melihat tindak balas pada monitor bersiri.

Muat naik!

Langkah 9: Nikmati

Kuasa dan nikmati menonton jarum menari semasa anda melayari internet!

Terima kasih kerana berpegang pada akhir. Semoga anda semua menyukai projek ini dan belajar sesuatu yang baru hari ini. Beritahu saya jika anda membuatnya sendiri. Langgan saluran YouTube saya untuk lebih banyak projek seperti itu.

Disyorkan: