Daftar Isi:
- Perlengkapan
- Langkah 1: Fitur
- Langkah 2: Pengkabelan
- Langkah 3: Pencetakan 3D dan Membangun Pengejaran
- Langkah 4: Menyiapkan Raspberry PI
- Langkah 5: Perangkat Lunak
- Langkah 6: Dasbor IOT
- Langkah 7: Pengenalan Fungsi Dasar
Video: Monitor Bandwidth: 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Karena saya sering bertanya pada diri sendiri berapa bandwidth yang saat ini disediakan oleh ISP saya (saya menggunakan modem LTE untuk koneksi Internet), saya memikirkan sistem pemantauan bandwidth. Karena sistemnya harus kompak dan hemat daya, saya memilih Raspberry Pi Zero sebagai komponen utama. Raspberry terhubung ke modem melalui WLAN, sehingga masalah WLAN dapat dideteksi juga.
Perlengkapan
- Raspberry Pi Nol WH
- Layar e-ink Waveshare (modul e-kertas 2,9 inci)
- Konverter DC-DC (misalnya DEBO DCDC 20W)
- RGB LED (diambil dari perangkat lama)
- Tekan tombol
- Mengalihkan
- Modul relai (misalnya modul Relai 2 Arah Modul Relai 2 Arah)
- Konektor Male + Konektor Female (keduanya pas dengan ukuran colokan catu daya modem Anda)
- kasus cetak 3D
Langkah 1: Fitur
- Raspberry Pi Zero terhubung melalui WLAN, menguji kecepatan dan mengunduh serta melakukan pengukuran ping setiap setengah jam. Versi baris perintah speedtest.net digunakan sebagai dasar pengukuran.
- Hasil pengukuran bandwidth dan ping ditampilkan pada layar e-ink. Waktu pengukuran juga ditampilkan.
- Jika kecepatan unduh turun di bawah nilai ambang batas yang ditentukan, relai mematikan dan menghidupkan modem untuk waktu yang singkat. Dengan demikian modem disetel ulang tanpa modifikasi perangkat apa pun (hanya catu daya yang terputus).
- Sebuah tombol di bagian depan perangkat tersedia untuk memicu pengukuran bandwidth secara manual.
- Nilai terukur ditampilkan di Ubidots Dashboard (Portal IOT). Dalam ikhtisar, Anda juga dapat melihat riwayat waktu dari nilai yang diukur dan alasan penyetelan ulang terakhir.
- Di Portal IOT Anda juga dapat menemukan tombol untuk mengatur ulang modem dari jarak jauh.
- Monitor Bandwidth menggunakan catu daya modem. Tidak diperlukan pasokan tambahan. Relai menginterupsi penerusan catu daya ke modem - raspberry tetap menyala.
Langkah 2: Pengkabelan
Pada gambar pertama Anda dapat melihat desain internal monitor bandwidth:
Komponen utamanya adalah:
- Tekan tombol
- Tampilan E-tinta
- Raspberry Pi Nol
- Modul Relay
- RGB LED + Resistor (tergantung pada LED RGB yang Anda gunakan)
- Mengalihkan
- Konverter DC-DC
- Konektor wanita
Gambar kedua menunjukkan skema pengkabelan. Kutub positif dari tegangan suplai diumpankan melalui sakelar ke konverter tegangan DC-DC (yang mengubah tegangan suplai 12V dari router menjadi 5V untuk Raspberry) dan melalui relai (melalui pin yang terhubung normal) kembali ke konektor keluaran. Dengan demikian modem juga disuplai dengan daya ketika monitor bandwidth dimatikan.
Pengukuran bandwidth dapat dimulai secara manual melalui sebuah tombol. LED RGB digunakan untuk memvisualisasikan berbagai status operasi.
Hubungan antara Raspberry Pi dan tampilan e-ink tidak ditampilkan dalam diagram sirkuit. Hubungkan layar sesuai dengan tabel dan pin-out di atas.
Langkah 3: Pencetakan 3D dan Membangun Pengejaran
Bagian-bagian berikut diperlukan untuk kasing (lihat gambar di atas):
- bagian bawah
- bagian atas
- depan
- kembali
- 4x pemasangan
Semua bagian dapat dicetak tanpa penyangga. Anda juga dapat menemukan file dan beberapa desain saya yang lain di Thingiverse:
Layar dapat dipasang ke panel depan dengan dudukan dan selotip dua sisi. Sakelar tombol dan konektor femal disekrup ke panel belakang dan belakang. Saya menggunakan sekrup 3x20mm untuk menghubungkan kedua bagian rumah. Toleransi pada lekukan untuk panel depan dan belakang relatif ketat. Jika perlu, panel depan dan belakang harus diampelas di tepinya (di bagian dalam agar tidak merusak permukaan).
Langkah 4: Menyiapkan Raspberry PI
Panduan penyiapan ini didasarkan pada kompilasi beberapa petunjuk penginstalan dari sumber yang berbeda (produsen tampilan e-Ink, …). Bagi saya instruksi telah mengarah pada hasil yang diinginkan. Karena saya bukan ahli Linux, tidak ada pengoptimalan atau hal serupa yang dilakukan. Saya sadar bahwa pasti ada solusi yang lebih baik dan lebih efisien.
Mari kita asumsikan Anda sudah menginstal Raspbian di Pi Anda (ada banyak tutorial tentang cara menginstal sistem operasi dasar) dan Anda memiliki layar (melalui miniHDMI), mouse dan keyboard yang terhubung. Koneksi WLAN yang diatur dengan benar ke router atau Internet juga diasumsikan. Kecuali dinyatakan lain, semua prosedur instalasi dilakukan di terminal.
Instal Remote desktop (untuk mengakses PI dari komputer Anda):
sudo apt-get update
sudo apt-get
instal xrdp
atau Anda juga dapat bekerja tanpa kepala melalui ssh (lihat misalnya
Ganti kata sandi:
www.raspberrypi.org/forums/viewtopic.php?t=193620
Instal tes kecepatan:
sudo
apt-get install python-pip
sudo pip install speedtest-cli
untuk menguji apakah instalasi berhasil jalankan Speedtest di terminal:
speedtest-cli
jika semuanya benar, Anda harus mendapatkan sesuatu seperti pada gambar pertama di atas.
Instal kabelPI
sudo apt-get install git-core
git clone git://git.drogon.net/wiringPi
kabel cdPi
./membangun
(lihat juga
Alternatif:
sudo apt-get install wiringpi
(lihat
Instal BCM2835
(lihat
Unduh bcm2835-1.60.tar.gz (atau versi yang lebih baru jika tersedia)
tar zxvf bcm2835-1.60.tar.gz
cd bcm2835-1.60
./konfigurasi
membuat
sudo buat cek
sudo make install
Instal perpustakaan pencitraan Python
sudo apt-get install python-imaging
Alternatif:
sudo apt-get install python-pil
Aktifkan fungsi I2C.
Jalankan perintah berikut untuk mengkonfigurasi papan Raspberry Pi Anda:
sudo raspi-config
Pilih Opsi Antarmuka-> I2C -> ya, untuk memulai driver inti I2C. Kemudian Anda juga perlu memodifikasi file konfigurasi. Jalankan perintah berikut untuk membuka file konfigurasi:
sudo nano /etc/modules
Tambahkan dua baris berikut ke file konfigurasi
i2c-bcm2708
i2c-dev
Lihat juga
Aktifkan fungsi SPI
Jalankan perintah berikut untuk mengkonfigurasi papan Raspberry Pi Anda:
sudo raspi-config
Pilih Opsi Antarmuka-> SPI -> ya, untuk memulai driver inti SPI.
Instal font tambahan:
sudo apt-get install ttf-mscorefonts-installer
Unduh dan instal Font (Roboto + Droid)
gksudo
pcmanfm
Untuk memulai pengelola file dengan hak akses root dan salin font truetype ke folder /usr/share/fonts/truetype
Alternatif:
Salin font ke folder Unduhan dengan WinSCP (ssh harus diaktifkan untuk menggunakan WinSCP)
sudo cp -r /home/pi/Downloads/droid /usr/share/fonts/truetype
sudo cp -r /home/pi/Downloads/roboto /usr/share/fonts/truetype
Anda memerlukan hak akses root untuk mengakses folder font. Mungkin ada cara yang lebih baik untuk melakukan ini (seperti yang telah disebutkan saya bukan ahli Linux) tetapi kedua cara itu berhasil untuk saya.
File Python:
Gunakan pengelola file untuk membuat folder baru "bandwidth_monitor"
Salin semua file ke direktori bandwidth_monitor
Jadikan file python dan skrip dapat dieksekusi
chmod +x *.py
chmod +x speedtest-cron.sh
Konfigurasikan crontab
crontab -e
Crontab digunakan untuk menjadwalkan eksekusi program mis. speedtest setiap 30 menit. Tambahkan baris berikut ke crontab Anda (lihat juga gambar kedua):
@reboot /usr/bin/python /home/pi/bandwidth_monitor/post_restart_message.py &
@reboot sleep 30 && /usr/bin/python /home/pi/bandwidth_monitor/poll_test_now_button.py */30 * * * * /home/pi/bandwidth_monitor/speedtest-cron.sh */3 * * * * /usr/ bin/python /home/pi/bandwidth_monitor/poll_killswitch.py 13 03 * * * /usr/bin/python /home/pi/bandwidth_monitor/refresh_display.py
Deskripsi tugas yang dijadwalkan:
- saat reboot, pesan restart ditulis ke dasbor IOT
- saat reboot, polling test_now_button dimulai
- setiap 30 menit dilakukan pengukuran bandwidth
- setiap 3 menit status tombol reset jarak jauh (di dasbor IOT) dicentang
- sekali sehari siklus penyegaran tampilan dimulai.
Lihat bagian perangkat lunak untuk penjelasan singkat tentang program.
Langkah 5: Perangkat Lunak
Perangkat lunak ini dibagi menjadi beberapa file / program:
bandwidth_monitor_0_4.py adalah program utama yang dipanggil oleh Crontab setiap setengah jam. Ia melakukan tes bandwidth (melalui versi baris perintah speedtest.net). Selama pengujian, LED RGB berwarna biru. Jika bandwidth di atas ambang yang dipilih, nilainya akan ditampilkan pada tampilan e-ink (bersama dengan stempel waktu) dan diekspor ke dasbor Ubidots. Jika bandwidth di bawah ambang batas, LED berubah menjadi merah dan pengukuran diulang setelah penundaan singkat. Setelah 3 kali percobaan negatif, relai diaktifkan dan dengan demikian catu daya modem terputus. Kode reset (nilai=2) ditulis ke bagian log.
poll_killswitch.py membaca status variabel boolean di dasbor. Jika killswitch_state benar, relais diaktifkan dan catu daya modem terputus. RGB LED berubah menjadi hijau selama polling dari killswitch. Setelah reset, killswitch_state disetel salah dan entri di bagian log dasbor dibuat (nilai=1).
poll_test_now_button.py sedang menunggu tombol di panel depan kasing untuk ditekan. Dengan mengaktifkan tombol, pengukuran bandwidth dipicu secara manual. Saat program dimulai (saat reboot Raspberry Pi) LED RGB berkedip merah.
post_restart_message.py menulis kode reset (nilai=3) ke bagian log dasbor. Ini menunjukkan bahwa monitor bandwidth telah dimulai ulang. Selama program dimulai, LED RGB berkedip biru.
test_LED.py dan test_relay.py adalah skrip sederhana yang dapat digunakan untuk menguji fungsi perangkat keras LED RGB dan relai.
epdconfig.py dan epd2in9.py adalah driver perangkat untuk tampilan e-ink yang disediakan oleh Waveshare.
Untuk mengizinkan program mengakses dasbor Ubidots, Anda harus menambahkan token individual dan nama perangkat atau variabel Anda (jika Anda menggunakan notasi yang berbeda). Cari bagian seperti yang ditunjukkan pada gambar di atas (ganti XXXXXXX dengan token Anda).
Tutorial lengkap tentang cara membangun dasbor dan cara mengintegrasikan dasbor ke dalam program Python dapat ditemukan langsung di halaman Ubidots (https://help.ubidots.com/en/) atau melalui Google.
Langkah 6: Dasbor IOT
Dasbor yang dihosting oleh Ubidots (lihat https://ubidots.com) berisi beberapa area yang dijelaskan secara singkat di bawah ini.
- Urutan waktu kecepatan naik dan unduh. Setiap setengah jam nilai baru dimasukkan ke dalam diagram.
- Waktu perjalanan waktu ping yang diukur. Setiap setengah jam nilai baru dimasukkan dalam diagram.
- Urutan waktu kecepatan unduh rata-rata. Nilai rata-rata selama 24 jam dihitung dan ditulis ke diagram.
- Representasi spreadsheet dari nilai pengukuran saat ini termasuk cap waktu.
- Tombol remote control untuk mengatur ulang modem melalui Internet. Kueri terjadi setiap 3 menit, yaitu mungkin perlu beberapa saat hingga tindakan dilakukan.
- Mencatat reset terakhir termasuk alasan reset (pemicu jarak jauh, mematikan atau kehilangan voltase, turun di bawah bandwidth minimum)
Tutorial lengkap tentang cara membangun dasbor dan cara mengintegrasikan dasbor ke dalam program Python dapat ditemukan langsung di halaman Ubidots (https://help.ubidots.com/en/) atau melalui Google.
Direkomendasikan:
Breathe Light Anxiety Device Dengan Monitor Detak Jantung: 18 Langkah (dengan Gambar)
Breathe Light Anxiety Device Dengan Heart Rate Monitor: Dengan dunia yang semakin sibuk, semua orang berada dalam lingkungan stres yang semakin tinggi. Mahasiswa berada pada risiko stres dan kecemasan yang lebih tinggi. Ujian adalah periode stres yang sangat tinggi bagi siswa, dan jam tangan pintar dengan latihan pernapasan
Hemat Air & Uang Dengan Pancuran Air Monitor: 15 Langkah (dengan Gambar)
Hemat Air & Uang Dengan Pancuran Air Monitor: Mana yang menggunakan lebih banyak air - mandi atau pancuran? Saya baru-baru ini memikirkan pertanyaan ini, dan saya menyadari bahwa saya sebenarnya tidak tahu berapa banyak air yang digunakan ketika saya mandi. Saya tahu ketika saya di kamar mandi kadang-kadang pikiran saya mengembara, memikirkan sesuatu yang keren
Monitor Privasi Diretas Dari Monitor LCD Lama: 7 Langkah (dengan Gambar)
Monitor Privasi Diretas Dari Monitor LCD Lama: Akhirnya Anda dapat melakukan sesuatu dengan monitor LCD lama yang Anda miliki di garasi. Anda dapat mengubahnya menjadi monitor privasi! Semua orang terlihat putih kecuali Anda, karena Anda memakai "ajaib" kacamata! Yang benar-benar harus Anda miliki adalah pa
Kotak Musik Dengan Mini Monitor (OLED) dan LED: 8 Langkah (dengan Gambar)
Kotak Musik Dengan Monitor Mini (OLED) dan LED: Ide saya adalah kotak yang akan memutar musik saat Anda membukanya. Ini juga memiliki tampilan dengan emoji di atasnya yang membangunkan, menyapa Anda. Ada juga LED di dalamnya yang menyala jika Anda memegang resistor peka gaya yang terjepit di antara jari-jari Anda, sementara
Memperbaiki Monitor Dengan Pembuat Roti: AKA Jangan Buang!: 5 Langkah (dengan Gambar)
Memperbaiki Monitor Dengan Pembuat Roti: AKA Don't Throw It Out!: Secara lokal di Victoria, BC kami memiliki seorang pria yang mengambil peralatan IT yang dibuang tetapi dapat digunakan dan menyerahkannya kembali ke komunitas secara gratis. Upayanya menjaga barang elektronik bekas dari tempat pembuangan sampah dan membantu orang keluar adalah hal yang luar biasa. Saya mengambil sebuah