Mundarija:
- Ta'minotlar
- 1 -qadam: Xususiyatlar
- 2 -qadam: simlarni ulash
- 3 -qadam: 3D bosib chiqarish va ta'qib qilish
- 4 -qadam: Raspberry PI ni sozlash
- 5 -qadam: dasturiy ta'minot
- 6 -qadam: IOT boshqaruv paneli
- 7 -qadam: Asosiy funktsiyalarni kiritish
Video: Tarmoqli kengligi monitor: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Men tez -tez o'z provayderim tomonidan qaysi tarmoqli kengligi ta'minlanganligini so'raganimda (men Internetga ulanish uchun LTE modemidan foydalanaman), men tarmoqli kengligini nazorat qilish tizimi haqida o'yladim. Tizim ixcham va quvvatni tejaydigan bo'lishi kerakligi sababli men markaziy komponent sifatida Raspberry Pi Zero ni tanladim. Raspberry modemga WLAN orqali ulangan, shuning uchun WLAN muammolarini ham aniqlash mumkin.
Ta'minotlar
- Raspberry Pi Zero WH
- Waveshare elektron siyohli displey (2,9 dyuymli elektron qog'ozli modul)
- DC-DC konvertori (masalan, DEBO DCDC 20W)
- RGB LED (eski qurilmadan olingan)
- Tugma
- O'tish
- Relais moduli (masalan, 2 tomonlama Relay moduli2 Way Relay moduli)
- Erkak ulagichi + ayol ulagichi (ikkalasi ham modem quvvat manbaiga ulanadi)
- 3D bosilgan quti
1 -qadam: Xususiyatlar
- Raspberry Pi Zero WLAN orqali ulanadi, yuklanish va yuklanish tezligini tekshiradi va har yarim soatda ping o'lchovini bajaradi. O'lchovlar uchun speedtest.net ning buyruq qatori versiyasi ishlatiladi.
- Tarmoqli kengligi va ping o'lchovining natijasi elektron siyohli displeyda ko'rsatiladi. O'lchov vaqti ham ko'rsatiladi.
- Agar yuklash tezligi belgilangan chegara qiymatidan past bo'lsa, o'rni qisqa vaqt ichida modemni o'chirib qo'yadi. Shunday qilib, modem qurilmani o'zgartirmasdan tiklanadi (faqat quvvat manbai uziladi).
- Qo'lda tarmoqli kengligini o'lchash uchun qurilmaning old qismidagi tugma mavjud.
- O'lchangan qiymatlar Ubidots boshqaruv panelida (IOT portali) ko'rsatiladi. Umumiy ko'rinishda siz o'lchangan qiymatlarning vaqt tarixini va oxirgi qayta tiklash sabablarini ko'rishingiz mumkin.
- IOT portalida siz modemni masofadan tiklash tugmachasini ham topishingiz mumkin.
- Tarmoqli kengligi monitorida modem quvvat manbai ishlatiladi. Qo'shimcha ta'minot kerak emas. Relea quvvat manbaini modemga uzatishni to'xtatadi - malina ochiq qoladi.
2 -qadam: simlarni ulash
Birinchi rasmda siz tarmoqli kengligi monitorining ichki dizaynini ko'rishingiz mumkin:
Asosiy komponentlar:
- Tugmani bosish
- Elektron siyohli displey
- Raspberry Pi Zero
- O'rnimizni moduli
- RGB LED + rezistorlar (siz foydalanadigan RGB LEDga bog'liq)
- O'tish
- DC-DC konvertori
- Ayol ulagichi
Ikkinchi rasmda simlarning sxemasi ko'rsatilgan. Ta'minot kuchlanishining musbat qutbi DC-DC kuchlanish konvertoriga (yo'riqchining 12V kuchlanishini Raspberry uchun 5V ga o'zgartiradi) va o'rni orqali (odatiy ulangan pin orqali) quvvat manbai orqali uzatiladi. chiqish ulagichi. Shunday qilib, tarmoqli kengligi monitor o'chirilganida, modem ham quvvat bilan ta'minlanadi.
Tarmoqli tarmoqli kengligini o'lchash tugma yordamida qo'lda boshlanishi mumkin. RGB LED har xil ish holatini vizualizatsiya qilish uchun ishlatiladi.
Raspberry Pi va elektron siyoh displeyi o'rtasidagi bog'liqlik sxemada ko'rsatilmagan. Ekranni yuqoridagi jadval va pin-ga muvofiq ulang.
3 -qadam: 3D bosib chiqarish va ta'qib qilish
Ish uchun quyidagi qismlar kerak (yuqoridagi rasmga qarang):
- pastki qismi
- yuqori qismi
- old
- orqaga
- 4x o'rnatish
Barcha qismlar tayanchlarsiz chop etilishi mumkin. Siz Thingiverse -da fayllarni va boshqa dizaynlarimni topishingiz mumkin:
Displeyni old panelga mahkamlagichlar va ikki tomonlama lenta bilan biriktirish mumkin. Tugma tugmasi va ayol konnektori orqa va orqa panelga vidalanadi. Men korpusning ikki yarmini ulash uchun 3x20 mm vintlarni ishlatardim. Old va orqa panellar uchun yivlardagi toleranslar nisbatan qattiq. Agar kerak bo'lsa, old va orqa panellarni chetidan zımparalanishi kerak (sirtni buzmaslik uchun ichki tomondan).
4 -qadam: Raspberry PI ni sozlash
Ushbu sozlash qo'llanmasi turli manbalardan (e-Ink displey ishlab chiqaruvchilari, …) bir nechta o'rnatish yo'riqnomalarini tuzishga asoslangan. Men uchun ko'rsatmalar kerakli natijaga olib keldi. Men Linux mutaxassisi bo'lmaganim uchun hech qanday optimallashtirish yoki shunga o'xshash ishlar qilinmagan. Men, albatta, yaxshiroq va samaraliroq echimlar borligini bilaman.
Faraz qilaylik, sizning Pi -da Raspbian o'rnatilgan (asosiy operatsion tizimni o'rnatish bo'yicha ko'plab qo'llanmalar mavjud) va sizda displey (miniHDMI orqali), sichqoncha va klaviatura ulangan. Router yoki Internetga to'g'ri o'rnatilgan WLAN ulanishi ham qabul qilinadi. Agar boshqacha ko'rsatilmagan bo'lsa, barcha o'rnatish tartiblari terminalda amalga oshiriladi.
Masofaviy ish stolini o'rnating (kompyuterdan PI -ga kirish uchun):
sudo apt-get yangilanishi
sudo apt-get
xrdp -ni o'rnating
yoki siz ssh orqali boshsiz ishlashingiz mumkin (qarang:
Kalit so'zni o'zgartirish:
www.raspberrypi.org/forums/viewtopic.php?t=193620
Speedtest -ni o'rnating:
sudo
apt-get install python-pip
sudo pip speedtest-cli ni o'rnatadi
O'rnatish muvaffaqiyatli bo'lganligini tekshirish uchun terminalda Speedtest -ni ishga tushiring:
eng tezkor-cli
Agar biror narsa to'g'ri bo'lsa, siz yuqoridagi birinchi rasmdagi kabi narsalarni olishingiz kerak.
Simlarni o'rnatish
sudo apt-get install-core ni o'rnating
git klon git: //git.drogon.net/wiringPi
CD simiPi
./qurmoq
(shuningdek qarang:
Alternativ:
sudo apt-get wiringpi-ni o'rnating
(qarang:
BCM2835 -ni o'rnating
(qarang:
Bcm2835-1.60.tar.gz-ni yuklab oling (yoki mavjud bo'lsa, yangi versiyasi)
tar zxvf bcm2835-1.60.tar.gz
CD bcm2835-1.60
./ sozlash
qilmoq
sudo tekshiring
sudo make install
Python tasvirlar kutubxonasini o'rnating
sudo apt-get python tasvirini o'rnating
Alternativ:
sudo apt-get install python-pil
I2C funktsiyasini yoqing.
Raspberry Pi kartasini sozlash uchun quyidagi buyruqni bajaring:
sudo raspi-config
I2C yadro drayverini ishga tushirish uchun interfeys parametrlari -> I2C -> ha -ni tanlang. Keyin konfiguratsiya faylini o'zgartirishingiz kerak. Konfiguratsiya faylini ochish uchun quyidagi buyruqni bajaring:
sudo nano /etc /modullari
Konfiguratsiya fayliga quyidagi ikkita qatorni qo'shing
i2c-bcm2708
i2c-dev
Shuningdek qarang:
SPI funktsiyasini yoqing
Raspberry Pi kartasini sozlash uchun quyidagi buyruqni bajaring:
sudo raspi-config
SPI yadro drayverini ishga tushirish uchun Interface Options-> SPI -> ha ni tanlang.
Qo'shimcha shriftlarni o'rnating:
sudo apt-get ttf-mscorefonts-installer-ni o'rnating
Shriftlarni yuklab oling va o'rnating (Roboto + Droid)
gksudo
pcmanfm
Fayl menejerini ildiz imtiyozlari bilan ishga tushirish va truetype shriftlarini/usr/share/fonts/truetype papkasiga nusxalash.
Alternativ:
Shriftlarni WinSCP yordamida Yuklamalar papkasiga nusxalash (WinSCP -dan foydalanish uchun ssh -ni yoqish kerak)
sudo cp -r/home/pi/Yuklamalar/droid/usr/share/shriftlar/truetype
sudo cp -r/home/pi/yuklamalar/roboto/usr/share/shriftlar/truetype
Shrift papkasiga kirish uchun sizga root imtiyozlari kerak. Ehtimol, buni qilishning yaxshiroq usullari bor (yuqorida aytib o'tilganidek, men Linux mutaxassisi emasman), lekin ikkala usul ham men uchun ishlagan.
Python fayllari:
Yangi "bandwidth_monitor" papkasini yaratish uchun filemangerdan foydalaning.
Bandwidth_monitor katalogiga barcha fayllarni nusxalash
Python fayllari va skriptni bajariladigan qilib qo'ying
chmod +x *.py
chmod +x speedtest-cron.sh
Crontab -ni sozlang
crontab -e
Crontab dasturning bajarilishini rejalashtirish uchun ishlatiladi, masalan. har 30 daqiqada eng tez. Crontab -ga quyidagi qatorlarni qo'shing (ikkinchi rasmga qarang):
@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
Rejalashtirilgan vazifalarning tavsifi:
- qayta ishga tushirilganda, qayta boshlash xabari IOT boshqaruv paneliga yoziladi
- qayta yuklashda test_now_button boshlanadi
- har 30 daqiqada tarmoqli kengligi o'lchami o'tkaziladi
- har 3 daqiqada masofadan tiklash tugmachasining holati (IOT asboblar panelida) tekshiriladi
- kuniga bir marta displeyni yangilash davri boshlanadi.
Dasturlarning qisqacha tavsifi uchun dasturiy ta'minot bo'limiga qarang.
5 -qadam: dasturiy ta'minot
Dastur bir nechta fayl / dasturlarga bo'lingan:
bandwidth_monitor_0_4.py - Crontab tomonidan har yarim soatda chaqiriladigan asosiy dastur. U tarmoqli kengligi sinovini o'tkazadi (speedtest.net ning buyruq qatori versiyasi orqali). Sinov paytida RGB LED ko'k rangda. Agar tarmoqli kengligi tanlangan chegaradan yuqori bo'lsa, qiymat elektron siyoh displeyida (vaqt tamg'asi bilan birga) ko'rsatiladi va Ubidots boshqaruv paneliga eksport qilinadi. Agar tarmoqli kengligi chegaradan past bo'lsa, LED qizil rangga aylanadi va o'lchov qisqa vaqtdan keyin takrorlanadi. 3 ta salbiy urinishdan so'ng, o'rni ishga tushadi va shuning uchun modemning quvvat manbai uziladi. Qayta tiklash kodi (qiymat = 2) jurnal bo'limiga yoziladi.
poll_killswitch.py asboblar panelida boolean o'zgaruvchining holatini o'qiydi. Agar killswitch_state rost bo'lsa, rele faollashtiriladi va modemning quvvat manbai uziladi. RGB svetodiod qichitgichni so'roq qilish paytida yashil rangga aylanadi. Qayta tiklashdan so'ng, killswitch_state "noto'g'ri" deb o'rnatiladi va asboblar panelidagi jurnallar bo'limida yozuv paydo bo'ladi (qiymat = 1).
poll_test_now_button.py korpus old panelidagi tugmachaning bosilishini kutmoqda. Tugmani faollashtirish orqali tarmoqli kengligi o'lchami qo'lda ishga tushiriladi. Dastur ishga tushirilganda (Raspberry Pi qayta ishga tushirilganda) RGB LED qizil yonadi.
post_restart_message.py asboblar panelining jurnal bo'limiga asl holatini tiklash kodini (qiymati = 3) yozadi. Bu tarmoqli kengligi monitorining qayta ishga tushirilganligini ko'rsatadi. Dastur boshlanganda RGB LED ko'k rangda yonadi.
test_LED.py va test_relay.py - bu oddiy skriptlar, ular RGB LED va o'rni apparat funktsiyasini sinab ko'rish uchun ishlatilishi mumkin.
epdconfig.py va epd2in9.py-Waveshare tomonidan taqdim etilgan elektron siyoh displeyi uchun qurilma drayveri.
Dasturlarga Ubidots boshqaruv paneliga kirishga ruxsat berish uchun siz individual belgilar va qurilmalar yoki o'zgaruvchilar nomlarini qo'shishingiz kerak (agar siz turli xil yozuvlardan foydalansangiz). Yuqoridagi rasmda ko'rsatilgandek bo'limni qidiring (XXXXXXXX ni belgingiz bilan almashtiring).
Boshqaruv panelini yaratish va asboblar panelini Python dasturiga qanday qo'shish bo'yicha keng qo'llanmalarni to'g'ridan -to'g'ri Ubidots sahifasida (https://help.ubidots.com/en/) yoki Google orqali topish mumkin.
6 -qadam: IOT boshqaruv paneli
Ubidots tomonidan boshqariladigan asboblar paneli (qarang: https://ubidots.com) quyida qisqacha tavsiflangan bir nechta sohalarni o'z ichiga oladi.
- Yuklanish va yuklanish tezligining vaqt ketma-ketligi. Har yarim soatda diagrammaga yangi qiymat kiritiladi.
- O'lchangan ping vaqtining vaqt yo'nalishi. Har yarim soatda diagrammada yangi qiymat kiritiladi.
- O'rtacha yuklab olish tezligining vaqt ketma -ketligi. O'rtacha qiymat 24 soat ichida hisoblanadi va diagramaga yoziladi.
- Jadvalda joriy o'lchov qiymatlari, shu jumladan vaqt tamg'asi.
- Internet orqali modemni qayta o'rnatish uchun masofadan boshqarish tugmasi. So'rov har 3 daqiqada sodir bo'ladi, ya'ni harakat bajarilgunga qadar biroz vaqt ketishi mumkin.
- Qayta tiklash sababini o'z ichiga olgan oxirgi sozlamalarni qayd qilish (masofadan turib ishga tushirish, kuchlanishni o'chirish yoki yo'qotish, minimal tarmoqli kengligidan pastga tushish)
Boshqaruv panelini yaratish va asboblar panelini Python dasturiga qanday qo'shish bo'yicha keng qo'llanmalarni to'g'ridan -to'g'ri Ubidots sahifasida (https://help.ubidots.com/en/) yoki Google orqali topish mumkin.
Tavsiya:
Ikki tarmoqli WiFi analizatori: 6 qadam (rasmlar bilan)
Ikkala tarmoqli WiFi analizatori: Bu ko'rsatgichlar Seeedstudio Wio terminalidan 2.4 gigagertsli va 5 gigagertsli ikkita diapazonli WiFi analizatorini qanday ishlatishni ko'rsatadi
Tarmoqli inverter: 10 qadam (rasmlar bilan)
Tarmoqli invertor: Bu go'shtli loyiha, shuning uchun bog'lab qo'ying! Tarmoqli invertorlar sizga quvvatni elektr tarmog'iga ulash imkonini beradi, bu ajoyib qobiliyat. Menga ularning dizaynida ishlaydigan elektronika va boshqaruv tizimlari qiziq, shuning uchun men o'zimni qurdim. Bu hisobot
Kauchuk tarmoqli mashinasi, infraqizil sezgich, televizor himoyachisi robot: 5 qadam (rasmlar bilan)
Kauchuk bantli mashinani ishga tushirish, infraqizil sezish, televidenie himoyachisi ROBOT: Integral sxemalarni ishlatmasdan, bu robot standart televizorning masofadan boshqarish pultidan infraqizil signalni kutadi, so'ngra rezina tasmalar to'plamini tezlik bilan o'chiradi. Eslatma: "Ish stoli saytini ko'rish/so'rash"; Agar siz videoni ko'rmasangiz. Ogohlantirish: Ushbu loyiha
Raqamli belgilar uchun Mirolo tarmoqli LED matritsali displey: 22 qadam (rasmlar bilan)
Raqamli imo -ishoralar uchun Mirolo tarmoqli LED matritsali displey: Raqamli tabelalar tadbirlarda tashrif buyuruvchilarga bo'lajak panellar, jadvaldagi o'zgarishlar yoki ma'lumotni dinamik ravishda etkazish uchun foydali bo'lishi mumkin. LED matritsali displeylardan foydalanish xabarlarni hatto uzoqdan o'qishga imkon beradi va ko'zni qamashtiradigan xususiyatdir
7 tarmoqli Led audiovizualizator: 4 qadam (rasmlar bilan)
7 diapazonli Led Audio Vizualizator: Bu uzluksiz analog signalni, odatda musiqani qabul qiladigan va 7 bandli vizualizatorni yoqish uchun foydalanadigan loyiha. Musiqa signalini tahlil qilish uchun MSGEQ7 chipidan foydalaniladi va chastota kattaligini oladi va uni chiziqlar chizig'iga joylashtiradi. Led chiziqlar