Përmbajtje:

Monitorues i gjerësisë së brezit: 7 hapa (me fotografi)
Monitorues i gjerësisë së brezit: 7 hapa (me fotografi)

Video: Monitorues i gjerësisë së brezit: 7 hapa (me fotografi)

Video: Monitorues i gjerësisë së brezit: 7 hapa (me fotografi)
Video: Все новые ошибки ChatGPT c которыми ты можешь столкнуться 2024, Korrik
Anonim
Monitorues i gjerësisë së brezit
Monitorues i gjerësisë së brezit
Monitorues i gjerësisë së brezit
Monitorues i gjerësisë së brezit
Monitorues i gjerësisë së brezit
Monitorues i gjerësisë së brezit

Ndërsa shpesh pyesja veten se çfarë gjerësie brezi siguron aktualisht ISP -ja ime (unë përdor një modem LTE për lidhjen në internet), mendova për një sistem monitorimi të gjerësisë së brezit. Meqenëse sistemi duhet të jetë kompakt dhe të kursejë energji, unë zgjodha një Raspberry Pi Zero si përbërësin qendror. Mjedra është e lidhur me modemin nëpërmjet WLAN, prandaj edhe problemet me WLAN mund të zbulohen gjithashtu.

Furnizimet

  • Raspberry Pi Zero WH
  • Ekran me bojë elektronike Waveshare (modul letre 2.9 inç-e)
  • Konvertuesi DC-DC (p.sh. DEBO DCDC 20W)
  • RGB LED (e nxjerrë nga një pajisje e vjetër)
  • Butoni i shtypjes
  • Kaloni
  • Moduli i relaisit (p.sh. moduli i stafetës me 2 drejtime 2 moduli i stafetave të rrugës)
  • Lidhës mashkull + Lidhës femër (të dy përshtaten me madhësinë e prizës së modemit të furnizimit me energji elektrike)
  • Rast i printuar 3D

Hapi 1: Karakteristikat

Karakteristikat
Karakteristikat
Karakteristikat
Karakteristikat
Karakteristikat
Karakteristikat
  • Raspberry Pi Zero lidhet përmes WLAN, teston shpejtësinë e shkarkimit dhe bën një matje ping çdo gjysmë ore. Një version i linjës komanduese të speedtest.net përdoret si bazë për matjet.
  • Rezultati i gjerësisë së brezit dhe matjes së ping-ut tregohet në një ekran me bojë elektronike. Gjithashtu tregohet koha e matjes.
  • Nëse shpejtësia e shkarkimit bie nën një vlerë pragu të përcaktuar, një stafetë e fik modemin dhe e ndez atë për një kohë të shkurtër. Modemi kështu rivendoset pa ndonjë modifikim të pajisjes (ndërpritet vetëm furnizimi me energji).
  • Një buton në pjesën e përparme të pajisjes është në dispozicion për të shkaktuar matjen e gjerësisë së brezit me dorë.
  • Vlerat e matura shfaqen në një Pult të Ubidots (Portali IOT). Në përmbledhjen mund të shihni gjithashtu historinë kohore të vlerave të matura dhe arsyet për rivendosjet e fundit.
  • Në Portalin IOT mund të gjeni gjithashtu një buton për të rivendosur në distancë modemin.
  • Monitori i Bandwidth përdor furnizimin me energji të modemit. Nuk ka nevojë për furnizim shtesë. Relet ndërpret përcjelljen e furnizimit me energji në modem - mjedra mbetet e ndezur.

Hapi 2: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Në foton e parë mund të shihni modelin e brendshëm të monitorit të gjerësisë së brezit:

Komponentët kryesorë janë:

    1. Shtyp butonin
    2. Ekran me bojë elektronike
    3. Raspberry Pi Zero
    4. Moduli i stafetës
    5. RGB LED + Rezistenca (në varësi të RGB LED që përdorni)
    6. Kaloni
    7. Konvertuesi DC-DC
    8. Lidhës femër

Fotografia e dytë tregon një skemë të instalimeve elektrike. Poli pozitiv i tensionit të furnizimit ushqehet përmes kalimit në konvertuesin e tensionit DC-DC (i cili konverton tensionin e furnizimit 12V të ruterit në 5V për mjedrën) dhe nëpërmjet stafetës (përmes kunjit të lidhur normalisht) përsëri në lidhës dalës. Kështu, modemi furnizohet gjithashtu me energji kur monitori i brezit është i fikur.

Matja e gjerësisë së brezit mund të fillohet me dorë përmes një butoni. Një LED RGB përdoret për të vizualizuar gjendjet e ndryshme të funksionimit.

Lidhja midis Raspberry Pi dhe ekranit të bojës elektronike nuk tregohet në diagramin e qarkut. Lidhni ekranin sipas tabelës dhe pin-out më sipër.

Hapi 3: Shtypja 3D dhe Ndërtimi i Ndjekjes

Shtypja 3D dhe Ndërtimi i Ndjekjes
Shtypja 3D dhe Ndërtimi i Ndjekjes
Shtypja 3D dhe Ndërtimi i Ndjekjes
Shtypja 3D dhe Ndërtimi i Ndjekjes
Shtypja 3D dhe Ndërtimi i Ndjekjes
Shtypja 3D dhe Ndërtimi i Ndjekjes
Shtypja 3D dhe Ndërtimi i Ndjekjes
Shtypja 3D dhe Ndërtimi i Ndjekjes

Pjesët e mëposhtme janë të nevojshme për rastin (shiko foton më lart):

    1. pjesa e poshtme
    2. pjesa e sipërme
    3. para
    4. mbrapa
    5. Montim 4 herë

Të gjitha pjesët mund të printohen pa mbështetës. Ju gjithashtu mund të gjeni skedarët dhe disa nga modelet e mia të tjera në Thingiverse:

Ekrani mund të ngjitet në panelin e përparmë me montues dhe një kasetë të dyfishtë. Çelësi i butonit dhe lidhësi femëror janë të dehur në panelin e pasmë dhe të pasëm. Kam përdorur vida 3x20mm për të lidhur dy gjysmat e strehimit. Tolerancat në brazdat për panelet e përparme dhe të pasme janë relativisht të ngushta. Nëse është e nevojshme, panelet e përparme dhe të pasme duhet të lëmohen në buzë (në brendësi për të shmangur shkatërrimin e sipërfaqes).

Hapi 4: Vendosja e PI -së së Mjedrës

Vendosja e PI -së së Mjedrës
Vendosja e PI -së së Mjedrës
Vendosja e PI -së së Mjedrës
Vendosja e PI -së së Mjedrës

Ky udhëzues i konfigurimit bazohet në përpilimin e disa udhëzimeve të instalimit nga burime të ndryshme (prodhuesit e ekranit të e-Ink,…). Për mua udhëzimet kanë çuar në rezultatin e dëshiruar. Meqenëse nuk jam ekspert Linux, nuk u bënë optimizime ose të ngjashme. Unë jam i vetëdijshëm se ka sigurisht zgjidhje më të mira dhe më efikase.

Le të supozojmë se tashmë e keni Raspbian të instaluar në Pi tuaj (ka shumë mësime se si të instaloni sistemin bazë të funksionimit) dhe keni një ekran (nëpërmjet miniHDMI), miun dhe tastierën të lidhur. Supozohet gjithashtu një lidhje e vendosur WLAN me ruterin ose internetin. Nëse nuk thuhet ndryshe, të gjitha procedurat e instalimit kryhen në terminal.

Instaloni desktopin në distancë (për të hyrë në PI nga kompjuteri juaj):

përditësim sudo apt-get

sudo apt-get

instaloni xrdp

ose gjithashtu mund të punoni pa kokë përmes ssh (shih p.sh.

Ndrysho fjalekalimin:

www.raspberrypi.org/forums/viewtopic.php?t=193620

Instaloni testin e shpejtësisë:

sudo

apt-get instaloni python-pip

sudo pip instaloni speedtest-cli

për të provuar nëse instalimi ishte i suksesshëm ekzekutoni Speedtest në terminal:

speedtest-cli

nëse gjithçka është e saktë, duhet të merrni diçka si në foton e parë më sipër.

Instaloni instalime elektrikePI

sudo apt-get install git-core

git klon git: //git.drogon.net/wiringPi

instalime elektrike cdPi

./ ndertoje

(shih gjithashtu

Alternativ:

sudo apt-get install wiringpi

(shiko

Instaloni BCM2835

(shiko

Shkarkoni bcm2835-1.60.tar.gz (ose një version më të ri nëse është i disponueshëm)

tar zxvf bcm2835-1.60.tar.gz

cd bcm2835-1.60

./ konfiguro

bëj

sudo bëj kontroll

sudo make install

Instaloni bibliotekën e imazheve Python

sudo apt-get install python-imaging

Alternativ:

sudo apt-get instaloni python-pil

Aktivizo funksionin I2C.

Drejtoni komandën e mëposhtme për të konfiguruar bordin tuaj Raspberry Pi:

sudo raspi-config

Zgjidhni Opsionet e Ndërfaqes-> I2C -> po, për të nisur drejtuesin bazë të I2C. Pastaj ju gjithashtu duhet të modifikoni skedarin e konfigurimit. Drejtoni komandën e mëposhtme për të hapur skedarin e konfigurimit:

sudo nano /etc /module

Shtoni dy rreshtat e mëposhtëm në skedarin e konfigurimit

i2c-bcm2708

i2c-dev

Shihni gjithashtu

Aktivizo funksionin SPI

Drejtoni komandën e mëposhtme për të konfiguruar bordin tuaj Raspberry Pi:

sudo raspi-config

Zgjidhni Opsionet e Ndërfaqes-> SPI -> po, për të nisur drejtuesin kryesor të SPI.

Instaloni shkronja shtesë:

sudo apt-get install ttf-mscorefonts-installer

Shkarkoni dhe instaloni Fontet (Roboto + Droid)

gksudo

pcmanfm

Për të filluar menaxhimin e skedarëve me privilegje rrënjësore dhe kopjoni fontet e tipit truetype në dosje/usr/share/fonts/truetype

Alternativ:

Kopjoni fontet në dosjen Shkarkimet me WinSCP (ssh duhet të aktivizohet për të përdorur WinSCP)

sudo cp -r/home/pi/Shkarkime/droid/usr/share/fonts/truetype

sudo cp -r/home/pi/Shkarkime/roboto/usr/share/fonts/truetype

Keni nevojë për privilegje rrënjësore për të hyrë në dosjen e shkronjave. Ndoshta ka mënyra më të mira për ta bërë këtë (siç e përmenda tashmë nuk jam ekspert Linux), por të dyja mënyrat funksionuan për mua.

Skedarët Python:

Përdorni menaxherin e skedarëve për të krijuar një dosje të re "bandwidth_monitor"

Kopjoni të gjithë skedarët në bandwidth_monitor të drejtorisë

Bëni skedarë python dhe skript të ekzekutueshëm

chmod +x *.py

chmod +x speedtest-cron.sh

Konfiguro crontab

crontab -e

Crontab përdoret për të planifikuar ekzekutimin e programit p.sh. testi më i shpejtë çdo 30 min. Shtoni rreshtat e mëposhtëm në crontab tuaj (shiko edhe figurën e dytë):

@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

Përshkrimi i detyrave të planifikuara:

  • në rindezje mesazhi i rifillimit shkruhet në pultin e IOT
  • në rindezjen, sondazhi fillon test_now_button
  • çdo 30 minuta bëhet një matje e gjerësisë së brezit
  • çdo 3 minuta kontrollohet statusi i butonit të rivendosjes në distancë (në pultin e IOT)
  • një herë në ditë fillon një cikël rifreskimi i ekranit.

Shihni seksionin e softuerit për një përshkrim të shkurtër të programeve.

Hapi 5: Softuer

Softuer
Softuer

Softueri është i ndarë në disa skedarë / programe:

bandwidth_monitor_0_4.py është programi kryesor që thirret nga Crontab çdo gjysmë ore. Kryen një test të gjerësisë së brezit (përmes versionit të linjës komanduese të speedtest.net). Gjatë provës, LED RGB është blu. Nëse gjerësia e brezit është mbi pragun e zgjedhur, vlera shfaqet në ekranin e bojës elektronike (së bashku me një etiketë kohore) dhe eksportohet në pultin e Ubidots. Nëse gjerësia e brezit është nën pragun, LED kthehet i kuq dhe matja përsëritet pas një vonese të shkurtër. Pas 3 përpjekjesh negative stafeta aktivizohet dhe kështu ndërpritet furnizimi me energji i modemit. Kodi i rivendosjes (vlera = 2) shkruhet në seksionin e regjistrit.

poll_killswitch.py lexon statusin e një variabli boolean në pult. Nëse killswitch_state është e vërtetë relais aktivizohet dhe furnizimi me energji i modemit ndërpritet. RGB LED bëhet e gjelbër gjatë votimit të killswitch. Pas rivendosjes, killswitch_state vendoset false dhe krijohet një hyrje në seksionin e regjistrit të pultit (vlera = 1).

poll_test_now_button.py është duke pritur që të shtypet butoni në panelin e përparmë të kasës. Duke aktivizuar butonin, një matje e gjerësisë së brezit aktivizohet me dorë. Kur programi fillon (në rindezjen e Raspberry Pi) LED RGB po ndizet me të kuqe.

post_restart_message.py shkruan kodin e rivendosjes (vlera = 3) në seksionin e regjistrit të pultit. Kjo tregon që monitori i gjerësisë së brezit është rinisur. Gjatë fillimit të programit LED RGB ndizet blu.

test_LED.py dhe test_relay.py janë skripte të thjeshta që mund të përdoren për të testuar funksionin e harduerit të RGB LED dhe stafetës.

epdconfig.py dhe epd2in9.py janë drejtuesi i pajisjes për ekranin e bojës elektronike të ofruar nga Waveshare.

Në mënyrë që programet të kenë qasje në pultin e Ubidots, duhet të shtoni shenja individuale dhe emra të pajisjeve ose ndryshoreve (nëse përdorni shënime të ndryshme). Kërkoni për seksion si ai i treguar në imazhin e mësipërm (zëvendësoni XXXXXXXX me shenjën tuaj).

Udhëzime gjithëpërfshirëse se si të ndërtoni pultin dhe si të integroni pultin në një program Python mund të gjenden direkt në faqen Ubidots (https://help.ubidots.com/en/) ose përmes Google.

Hapi 6: Pulti IOT

Paneli i kontrollit IOT
Paneli i kontrollit IOT

Pulti i organizuar nga Ubidots (shiko https://ubidots.com) përmban disa zona të cilat përshkruhen shkurtimisht më poshtë.

    1. Sekuenca kohore e shpejtësisë së shkarkimit dhe shkarkimit. Çdo gjysmë ore një vlerë e re futet në diagram.
    2. Kursi kohor i kohës së matur të ping. Çdo gjysmë ore një vlerë e re futet në diagram.
    3. Sekuenca kohore e shpejtësisë mesatare të shkarkimit. Vlera mesatare mbi 24 orë llogaritet dhe shkruhet në diagram.
    4. Paraqitja e tabelave të vlerave të matjes aktuale duke përfshirë vulën kohore.
    5. Butoni i telekomandës për rivendosjen e modemit përmes Internetit. Pyetja ndodh çdo 3 minuta, domethënë mund të duhet pak kohë derisa të kryhet veprimi.
    6. Regjistrimi i rivendosjeve të fundit duke përfshirë arsyen e rivendosjes (aktivizimi në distancë, fikja ose humbja e tensionit, rënia nën gjerësinë e brezit minimal)

Udhëzime gjithëpërfshirëse se si të ndërtoni pultin dhe si të integroni pultin në një program Python mund të gjenden direkt në faqen Ubidots (https://help.ubidots.com/en/) ose përmes Google.

Recommended: