Isi kandungan:
- Bekalan
- Langkah 1: Ciri-ciri
- Langkah 2: Pendawaian
- Langkah 3: Mencetak 3D dan Membangun Kejar
- Langkah 4: Menyiapkan Raspberry PI
- Langkah 5: Perisian
- Langkah 6: Papan Pemuka IOT
- Langkah 7: Pengenalan Fungsi Asas
Video: Monitor Lebar Jalur: 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Oleh kerana saya sering bertanya pada diri sendiri apakah lebar jalur yang disediakan oleh ISP saya (saya menggunakan modem LTE untuk sambungan Internet), saya memikirkan sistem pemantauan lebar jalur. Oleh kerana sistemnya harus ringkas dan menjimatkan tenaga, saya memilih Raspberry Pi Zero sebagai komponen pusat. Raspberry disambungkan ke modem melalui WLAN, oleh itu masalah WLAN dapat dikesan juga.
Bekalan
- Raspberry Pi Zero WH
- Paparan e-dakwat Waveshare (modul 2.9 inci-e-kertas)
- Penukar DC-DC (mis. DEBO DCDC 20W)
- LED RGB (dikeluarkan dari peranti lama)
- Tekan butang
- Tukar
- Modul Relais (mis. Modul 2 Jalan Relay 2 Modul Relay)
- Penyambung lelaki + Penyambung wanita (kedua-duanya sesuai dengan saiz palam bekalan kuasa modem anda)
- Sarung bercetak 3D
Langkah 1: Ciri-ciri
- Raspberry Pi Zero disambungkan melalui WLAN, menguji kelajuan dan muat turun dan melakukan pengukuran ping setiap setengah jam. Versi baris perintah speedtest.net digunakan sebagai asas pengukuran.
- Hasil pengukuran lebar jalur dan ping ditunjukkan pada paparan e-ink. Masa pengukuran juga ditunjukkan.
- Sekiranya kelajuan muat turun di bawah nilai ambang yang ditentukan, geganti akan mematikan dan mematikan modem untuk waktu yang singkat. Oleh itu, modem diset semula tanpa sebarang modifikasi pada peranti (hanya bekalan elektrik yang terganggu).
- Butang di bahagian depan peranti tersedia untuk mencetuskan pengukuran lebar jalur secara manual.
- Nilai yang diukur dipaparkan pada Ubidots Dashboard (IOT Portal). Dalam gambaran keseluruhan, anda juga dapat melihat sejarah masa dari nilai yang diukur dan sebab untuk tetapan semula terakhir.
- Di Portal IOT anda juga dapat mencari butang untuk menetapkan semula modem dari jauh.
- Monitor Lebar Lebar menggunakan bekalan kuasa modem. Tidak memerlukan bekalan tambahan. Rela mengganggu pemindahan bekalan kuasa ke modem - raspberry tetap dihidupkan.
Langkah 2: Pendawaian
Pada gambar pertama anda dapat melihat reka bentuk dalaman monitor lebar jalur:
Komponen utama adalah:
- Tekan butang
- Paparan E-ink
- Raspberry Pi Zero
- Modul Relay
- RGB LED + Resistor (bergantung pada RGB LED yang anda gunakan)
- Tukar
- Penukar DC-DC
- Penyambung wanita
Gambar kedua menunjukkan skema pendawaian. Tiang positif voltan bekalan diberi melalui suis ke penukar voltan DC-DC (yang menukar voltan bekalan 12V penghala ke 5V untuk Raspberry) dan melalui geganti (melalui pin bersambung normal) kembali ke penyambung output. Oleh itu, modem juga dibekalkan dengan kuasa semasa monitor lebar jalur dimatikan.
Pengukuran lebar jalur boleh dimulakan secara manual melalui butang. LED RGB digunakan untuk menggambarkan pelbagai keadaan operasi.
Sambungan antara paparan Raspberry Pi dan e-ink tidak ditunjukkan dalam rajah litar. Sambungkan paparan mengikut jadual dan pin-pin di atas.
Langkah 3: Mencetak 3D dan Membangun Kejar
Bahagian-bahagian berikut diperlukan untuk kes ini (lihat gambar di atas):
- bahagian terendah
- bahagian atas
- depan
- belakang
- 4x pelekap
Semua bahagian boleh dicetak tanpa sokongan. Anda juga dapat mencari fail dan beberapa reka bentuk saya yang lain di Thingiverse:
Paparan boleh dipasang ke panel depan dengan dudukan dan pita dua sisi. Suis butang dan penyambung femal disekat ke panel belakang dan belakang. Saya menggunakan skru 3x20mm untuk menyambungkan dua bahagian perumahan. Toleransi pada alur untuk panel depan dan belakang agak ketat. Sekiranya perlu, panel depan dan belakang mesti diampelas di tepi (di bahagian dalam untuk mengelakkan permukaannya musnah).
Langkah 4: Menyiapkan Raspberry PI
Panduan persediaan ini dibuat berdasarkan penyusunan beberapa arahan pemasangan dari pelbagai sumber (pengeluar paparan e-Ink,…). Bagi saya arahan tersebut membawa kepada hasil yang diinginkan. Oleh kerana saya bukan pakar Linux, tiada pengoptimuman atau yang serupa dilakukan. Saya sedar bahawa pasti ada penyelesaian yang lebih baik dan cekap.
Mari kita anggap anda sudah memasang Raspbian pada Pi anda (terdapat banyak tutorial mengenai cara memasang sistem operasi asas) dan anda mempunyai paparan (melalui miniHDMI), tetikus dan papan kekunci disambungkan. Sambungan WLAN yang betul ke penghala atau Internet juga diandaikan. Kecuali dinyatakan sebaliknya, semua prosedur pemasangan dilakukan di terminal.
Pasang desktop Jauh (untuk mengakses PI dari komputer anda):
sudo apt-get kemas kini
sudo apt-get
pasang xrdp
atau anda juga boleh bekerja tanpa kepala melalui ssh (lihat mis.
Tukar kata laluan:
www.raspberrypi.org/forums/viewtopic.php?t=193620
Pasang ujian laju:
sudo
apt-get pasang python-pip
sudo pip install speedtest-cli
untuk menguji sama ada pemasangan berjaya dijalankan Speedtest di terminal:
speedtest-cli
jika ada yang betul anda harus mendapatkan sesuatu seperti pada gambar pertama di atas.
Pasang pendawaianPI
sudo apt-get install git-core
git klon git: //git.drogon.net/wiringPi
pendawaian cdPi
./ membina
(lihat juga
Alternativ:
sudo apt-get install wiringpi
(lihat
Pasang BCM2835
(lihat
Muat turun bcm2835-1.60.tar.gz (atau versi yang lebih baru jika ada)
tar zxvf bcm2835-1.60.tar.gz
cd bcm2835-1.60
./konfigurasi
membuat
sudo buat cek
sudo buat pasang
Pasang pustaka pengimejan Python
sudo apt-get pasang pengimejan python
Alternativ:
sudo apt-get install python-pil
Aktifkan fungsi I2C.
Jalankan arahan berikut untuk mengkonfigurasi papan Raspberry Pi anda:
sudo raspi-config
Pilih Pilihan Antaramuka-> I2C -> ya, untuk memulakan pemacu teras I2C. Kemudian anda juga perlu mengubahsuai fail konfigurasi. Jalankan arahan berikut untuk membuka fail konfigurasi:
sudo nano / etc / modul
Tambahkan dua baris berikut ke fail konfigurasi
i2c-bcm2708
i2c-dev
Lihat juga
Aktifkan fungsi SPI
Jalankan arahan berikut untuk mengkonfigurasi papan Raspberry Pi anda:
sudo raspi-config
Pilih Pilihan Antaramuka-> SPI -> ya, untuk memulakan pemacu teras SPI.
Pasang fon tambahan:
sudo apt-get pasang ttf-mscorefonts-installer
Muat turun dan pasang Font (Roboto + Droid)
gksudo
pcmanfm
Untuk memulakan filemanager dengan hak istimewa root dan menyalin font truetype ke dalam folder / usr / share / fonts / truetype
Alternativ:
Salin fon ke folder Muat turun dengan WinSCP (ssh mesti diaktifkan untuk menggunakan WinSCP)
sudo cp -r / home / pi / Muat turun / droid / usr / share / font / truetype
sudo cp -r / home / pi / Muat turun / roboto / usr / share / font / truetype
Anda memerlukan hak istimewa root untuk mengakses folder fon. Mungkin ada cara yang lebih baik untuk melakukan ini (seperti yang telah disebutkan oleh saya bahawa saya bukan pakar Linux) tetapi kedua-dua cara itu berfungsi untuk saya.
Fail Python:
Gunakan filemanger untuk membuat folder baru "bandwidth_monitor"
Salin semua fail ke bandwidth_monitor direktori
Jadikan fail dan skrip python dapat dilaksanakan
chmod + x *.py
chmod + x speedtest-cron.sh
Konfigurasikan crontab
crontab -e
Crontab digunakan untuk menjadualkan pelaksanaan program mis. ujian laju setiap 30 min. 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
Penerangan mengenai tugas yang dijadualkan:
- semasa reboot, mesej semula ditulis ke papan pemuka IOT
- pada but semula ujian undian_now_button dimulakan
- setiap 30 minit pengukuran lebar jalur dilakukan
- setiap 3 minit status butang reset jauh (pada papan pemuka IOT) diperiksa
- sekali sehari kitaran penyegaran paparan dimulakan.
Lihat bahagian perisian untuk penerangan ringkas mengenai program.
Langkah 5: Perisian
Perisian ini dibahagikan kepada beberapa fail / program:
bandwidth_monitor_0_4.py adalah program utama yang dijalankan oleh Crontab setiap setengah jam. Ia melakukan ujian lebar jalur (melalui versi baris perintah speedtest.net). Semasa ujian, LED RGB berwarna biru. Sekiranya lebar jalur melebihi ambang yang dipilih, nilainya ditunjukkan pada paparan e-ink (bersama dengan cap waktu) dan dieksport ke papan pemuka Ubidots. Sekiranya lebar jalur berada di bawah ambang, LED bertukar menjadi merah dan pengukuran diulang setelah kelewatan yang singkat. Selepas 3 percubaan negatif, geganti diaktifkan dan dengan itu bekalan modem terganggu. Tetapkan semula kod (nilai = 2) ditulis ke bahagian log.
poll_killswitch.py membaca status pemboleh ubah boolean di papan pemuka. Sekiranya killswitch_state benar, relais diaktifkan dan bekalan kuasa modem terganggu. LED RGB berubah menjadi hijau semasa pengundian killswitch. Setelah menetapkan semula killswitch_state ditetapkan salah dan entri di bahagian log papan pemuka dihasilkan (nilai = 1).
poll_test_now_button.py sedang menunggu butang tekan pada panel depan kotak ditekan. Dengan mengaktifkan butang, pengukuran lebar jalur dipicu secara manual. Semasa program dimulakan (semasa reboot Raspberry Pi) LED RGB berkedip merah.
post_restart_message.py menulis kod tetapan semula (nilai = 3) ke bahagian log pada papan pemuka. Ini menunjukkan bahawa monitor lebar jalur telah dimulakan semula. Semasa program dimulakan, RGB LED berkelip biru.
test_LED.py dan test_relay.py adalah skrip mudah yang boleh digunakan untuk menguji fungsi perkakasan LED RGB dan geganti.
epdconfig.py dan epd2in9.py adalah pemacu peranti untuk paparan e-ink yang disediakan oleh Waveshare.
Untuk membolehkan program mengakses papan pemuka Ubidots, anda harus menambahkan token dan peranti anda sendiri atau nama pemboleh ubah (jika anda menggunakan notasi yang berbeza). Cari bahagian seperti yang ditunjukkan dalam gambar di atas (ganti XXXXXXXX dengan token anda).
Tutorial komprehensif mengenai cara membuat papan pemuka dan cara mengintegrasikan papan pemuka ke dalam program Python boleh didapati secara langsung di halaman Ubidots (https://help.ubidots.com/en/) atau melalui Google.
Langkah 6: Papan Pemuka IOT
Papan pemuka yang dihoskan oleh Ubidots (lihat https://ubidots.com) mengandungi beberapa bidang yang dijelaskan secara ringkas di bawah.
- Urutan masa kelajuan naik dan muat turun. Setiap setengah jam nilai baru dimasukkan ke dalam rajah.
- Jangka masa masa ping yang diukur. Setiap setengah jam nilai baru dimasukkan dalam rajah.
- Urutan masa dari kelajuan muat turun purata. Nilai purata selama 24 jam dikira dan ditulis ke rajah.
- Perwakilan hamparan nilai pengukuran semasa termasuk cap waktu.
- Butang kawalan jauh untuk menetapkan semula modem melalui Internet. Pertanyaan berlaku setiap 3 minit, iaitu mungkin memerlukan sedikit masa sehingga tindakan dijalankan.
- Pembalakan set semula terakhir termasuk alasan untuk menetapkan semula (pemicu jarak jauh, mematikan atau kehilangan voltan, jatuh di bawah lebar jalur minimum)
Tutorial komprehensif mengenai cara membuat papan pemuka dan cara mengintegrasikan papan pemuka ke dalam program Python boleh didapati secara langsung di halaman Ubidots (https://help.ubidots.com/en/) atau melalui Google.
Disyorkan:
Peranti Pintar Perisian Perkakasan dan Perisian, Tuya dan Jalur Lebar LED, Sonoff, Palam Pintar BSD33: 7 Langkah
Peranti Pintar Perisian Perkakasan dan Perisian, Tuya dan Broadlink LED, Sonoff, BSD33 Smart Plug: Dalam Instruksional ini saya menunjukkan kepada anda bagaimana saya memancarkan beberapa peranti pintar dengan firmware saya sendiri, jadi saya dapat mengawalnya dengan MQTT melalui persediaan Openhab saya. Saya akan menambah peranti baru ketika saya menggodamnya. Sudah tentu ada kaedah berasaskan perisian lain untuk mem
Jalur LED DIY: Cara Memotong, Menghubungkan, Memateri dan Jalur LED Kuasa: 3 Langkah (dengan Gambar)
Jalur LED DIY: Cara Memotong, Menghubungkan, Memateri dan Jalur LED Kuasa: Panduan pemula untuk membuat projek cahaya anda sendiri menggunakan jalur LED. Jalur LED yang fleksibel dan mudah digunakan, jalur LED adalah pilihan terbaik untuk pelbagai aplikasi. Saya akan membuat liputan asas-asas memasang jalur LED 60 LED / m dalaman yang sederhana, tetapi dalam
Lampu Jalur LED Mudah (Tingkatkan Jalur LED Anda): 4 Langkah (dengan Gambar)
Lampu Jalur LED Mudah (Tingkatkan Jalur LED Anda): Saya telah menggunakan jalur LED sejak sekian lama dan selalu menyukai kesederhanaannya. Anda hanya memotong sekeping peranan, memateri beberapa kabel padanya, memasang bekalan kuasa dan anda mempunyai sumber cahaya untuk diri sendiri. Selama bertahun-tahun saya telah menemui
Tingkatkan Prestasi Jalur Lebar ADSL: 9 Langkah
Tingkatkan Prestasi Jalur Lebar ADSL: Hari ini, saya akan menunjukkan kepada anda bagaimana meningkatkan prestasi jalur lebar ADSL hanya dengan beberapa langkah mudah. Pada akhir kerja, anda dapat merasakan perbezaan ketika anda melayari Internet, jauh lebih pantas ketika membuka laman web, kurang buffering ketika memainkan video YouTube. Tetapi, sp
Gunakan Hidangan Satelit untuk Meningkatkan Isyarat Jalur Lebar Tanpa Wayar 3G Anda: 4 Langkah
Gunakan Hidangan Satelit untuk Meningkatkan Isyarat Jalur Lebar Tanpa Wayar 3G Anda: Semasa mencari alternatif yang lebih pantas untuk dial-up, (hanya itu yang dapat anda dapatkan di tempat saya tinggal di Western NY) Saya menjumpai penyedia wayarles yang membekalkan modem wayarles 3G menuntut kelajuan muat turun 1.5 Mbps. Sekarang, saya rasa ini sangat baik