Obsah:
- Zásoby
- Krok 1: Vlastnosti
- Krok 2: Zapojenie
- Krok 3: 3D tlač a vytváranie prenasledovania
- Krok 4: Nastavenie Raspberry PI
- Krok 5: Softvér
- Krok 6: Hlavný panel IOT
- Krok 7: Zavedenie základných funkcií
Video: Monitor šírky pásma: 7 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Keďže som si často kládol otázku, akú šírku pásma v súčasnosti poskytuje môj poskytovateľ internetových služieb (na internetové pripojenie používam modem LTE), napadol ma systém monitorovania šírky pásma. Pretože by mal byť systém kompaktný a úsporný, vybral som si ako centrálny komponent Raspberry Pi Zero. Raspberry je k modemu pripojený prostredníctvom siete WLAN, takže je možné zistiť aj problémy s WLAN.
Zásoby
- Raspberry Pi Zero WH
- Displej elektronického atramentu Waveshare (modul 2,9 palca na e-papier)
- Menič DC-DC (napr. DEBO DCDC 20W)
- RGB LED (vybraté zo starého zariadenia)
- Tlačidlo
- Prepnúť
- Reléový modul (napr. 2 -cestný reléový modul 2 -cestný reléový modul)
- Zástrčka + zásuvka (obe zodpovedajú veľkosti zástrčky napájacieho zdroja vášho modemu)
- 3D tlačené puzdro
Krok 1: Vlastnosti
- Raspberry Pi Zero je pripojený cez WLAN, testuje rýchlosť sťahovania a sťahovania a meria ping každú pol hodinu. Ako základ pre meranie sa používa verzia speedtest.net pre príkazový riadok.
- Výsledok merania šírky pásma a pingu sa zobrazuje na displeji elektronického atramentu. Zobrazí sa aj čas merania.
- Ak rýchlosť sťahovania klesne pod definovanú prahovú hodnotu, relé modem na krátku dobu vypne a zapne. Modem sa tak resetuje bez akejkoľvek úpravy zariadenia (preruší sa iba napájanie).
- K dispozícii je tlačidlo na prednej strane zariadenia na manuálne spustenie merania šírky pásma.
- Namerané hodnoty sa zobrazia na palubnom paneli Ubidots (portál IOT). V prehľade vidíte aj časovú históriu nameraných hodnôt a dôvody posledných resetov.
- Na portáli IOT nájdete aj tlačidlo na vzdialený reset modemu.
- Monitor šírky pásma využíva napájanie modemu. Nie je potrebná žiadna dodatočná dodávka. Relé prerušuje presmerovanie napájania na modem - malina zostáva zapnutá.
Krok 2: Zapojenie
Na prvom obrázku môžete vidieť vnútorný dizajn monitora šírky pásma:
Hlavnými zložkami sú:
- Tlačidlo
- E-ink displej
- Raspberry Pi Zero
- Reléový modul
- RGB LED + rezistory (v závislosti od použitej RGB LED)
- Prepnúť
- Prevodník DC-DC
- Zásuvka
Druhý obrázok ukazuje schému zapojenia. Kladný pól napájacieho napätia je vedený cez spínač do meniča napätia DC-DC (ktorý prevádza napájacie napätie 12V smerovača na 5V pre malinu) a cez relé (cez normálne zapojený kolík) späť do výstupný konektor. Modem je teda napájaný aj vtedy, keď je monitor šírky pásma vypnutý.
Meranie šírky pásma je možné spustiť ručne pomocou tlačidla. RGB LED sa používa na vizualizáciu rôznych prevádzkových stavov.
Spojenie medzi Raspberry Pi a displejom e-ink nie je zobrazené na schéme zapojenia. Pripojte displej podľa tabuľky a vývodu vyššie.
Krok 3: 3D tlač a vytváranie prenasledovania
K puzdru sú potrebné nasledujúce diely (pozri obrázok vyššie):
- nižšia časť
- vyššia časť
- vpredu
- späť
- 4x držiak
Všetky diely je možné tlačiť bez podpier. Súbory a niektoré z ďalších mojich návrhov nájdete aj na Thingiverse:
Displej je možné pripevniť na predný panel pomocou úchytiek a obojstrannej pásky. Gombíkový spínač a konektor na zadnej strane sú priskrutkované k zadnému a zadnému panelu. Na spojenie dvoch polovíc puzdra som použil skrutky 3x20 mm. Tolerancie drážok pre predný a zadný panel sú relatívne tesné. V prípade potreby je potrebné predný a zadný panel obrúsiť na okraji (na vnútornej strane, aby nedošlo k zničeniu povrchu).
Krok 4: Nastavenie Raspberry PI
Táto inštalačná príručka je založená na zostavení niekoľkých inštalačných pokynov z rôznych zdrojov (výrobcovia displejov e-Ink, …). Pokyny pre mňa viedli k požadovanému výsledku. Keďže nie som odborník na Linux, neboli vykonané žiadne optimalizácie ani nič podobné. Uvedomujem si, že určite existujú lepšie a efektívnejšie riešenia.
Predpokladajme, že už máte na svojom Pi nainštalovaný Raspbian (existuje veľa návodov na inštaláciu základného operačného systému) a máte pripojený displej (prostredníctvom miniHDMI), myš a klávesnicu. Predpokladá sa aj správne nastavené pripojenie WLAN k smerovaču alebo internetu. Pokiaľ nie je uvedené inak, všetky inštalačné postupy sa vykonávajú v termináli.
Nainštalujte vzdialenú plochu (na prístup k PI z počítača):
sudo apt-get aktualizácia
sudo apt-get
nainštalovať xrdp
alebo môžete pracovať aj bez hlavy cez ssh (pozri napr.
Zmeniť heslo:
www.raspberrypi.org/forums/viewtopic.php?t=193620
Nainštalovať speedtest:
sudo
apt-get nainštalovať python-pip
sudo pip install speedtest-cli
na otestovanie, či bola inštalácia úspešná, spustite Speedtest na termináli:
speedtest-cli
ak je všetko správne, mali by ste získať niečo ako na prvom obrázku vyššie.
Nainštalujte kabelážPI
sudo apt-get install git-core
klon git git: //git.drogon.net/wiringPi
cd elektroinštalácia Pi
./build
(pozri tiež
Alternatíva:
sudo apt-get install wiringpi
(pozri
Nainštalujte BCM2835
(pozri
Stiahnite si bcm2835-1.60.tar.gz (alebo novšiu verziu, ak je k dispozícii)
decht zxvf bcm2835-1,60.tar.gz
cd bcm2835-1,60
./konfigurovať
urobiť
sudo urob kontrolu
sudo vykonať inštaláciu
Nainštalujte si zobrazovaciu knižnicu Python
sudo apt-get install python-imaging
Alternatíva:
sudo apt-get install python-pil
Povoľte funkciu I2C.
Na konfiguráciu dosky Raspberry Pi spustite nasledujúci príkaz:
sudo raspi-config
Ak chcete spustiť hlavný ovládač I2C, vyberte položku Možnosti rozhrania -> I2C -> áno. Potom musíte tiež upraviť konfiguračný súbor. Spustite nasledujúci príkaz na otvorenie konfiguračného súboru:
sudo nano /etc /modules
Do konfiguračného súboru pridajte nasledujúce dva riadky
i2c-bcm2708
i2c-dev
Pozri tiež
Povoliť funkciu SPI
Spustite nasledujúci príkaz na konfiguráciu dosky Raspberry Pi:
sudo raspi-config
Na spustenie hlavného ovládača SPI zvoľte Možnosti rozhrania -> SPI -> áno.
Nainštalujte ďalšie písma:
sudo apt-get install ttf-mscorefonts-installer
Stiahnite si a nainštalujte písma (Roboto + Droid)
gksudo
pcmanfm
Ak chcete spustiť správcu súborov s oprávneniami root a skopírovať písma truetype do priečinka/usr/share/fonts/truetype
Alternatíva:
Skopírujte písma do priečinka Stiahnuté súbory pomocou WinSCP (na používanie WinSCP musí byť povolené ssh)
sudo cp -r/home/pi/Downloads/droid/usr/share/fonts/truetype
sudo cp -r/home/pi/Downloads/roboto/usr/share/fonts/truetype
Na prístup k priečinku s písmami potrebujete oprávnenia root. Možno existujú lepšie spôsoby, ako to urobiť (ako som už spomenul, nie som odborník na Linux), ale oba spôsoby fungovali pre mňa.
Súbory Pythonu:
Pomocou správcu súborov vytvorte nový priečinok „bandwidth_monitor“
Skopírujte všetky súbory do adresára bandwidth_monitor
Vytvorte spustiteľné súbory a skripty pythonu
chmod +x *.py
chmod +x speedtest-cron.sh
Konfigurujte crontab
crontab -e
Crontab sa používa na naplánovanie spustenia programu, napr. speedtest každých 30 min. Pridajte do svojho crontabu nasledujúce riadky (pozri tiež druhý obrázok):
@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
Popis naplánovaných úloh:
- pri reštarte sa správa o reštarte zapíše na informačný panel IOT
- pri reštarte sa spustí hlasovanie test_now_button
- každých 30 minút sa vykonáva meranie šírky pásma
- každé 3 minúty sa kontroluje stav tlačidla diaľkového resetovania (na prístrojovej doske IOT)
- jedenkrát denne sa spustí cyklus obnovenia displeja.
Stručný popis programov nájdete v sekcii softvéru.
Krok 5: Softvér
Softvér je rozdelený do niekoľkých súborov / programov:
bandwidth_monitor_0_4.py je hlavný program, ktorý Crontab vyvoláva každú pol hodinu. Vykonáva test šírky pásma (prostredníctvom verzie príkazového riadka speedtest.net). Počas testu je LED dióda RGB modrá. Ak je šírka pásma nad zvoleným prahom, hodnota sa zobrazí na displeji elektronického atramentu (spolu s časovou pečiatkou) a exportuje sa na palubnú dosku Ubidots. Ak je šírka pásma pod prahovou hodnotou, dióda LED sa zmení na červenú a meranie sa po krátkom oneskorení zopakuje. Po 3 negatívnych pokusoch sa relé aktivuje a tým sa preruší napájanie modemu. Resetovací kód (hodnota = 2) sa zapíše do sekcie denníka.
poll_killswitch.py číta stav logickej premennej na palubnej doske. Ak je hodnota killswitch_state pravdivá, relé sa aktivuje a napájanie modemu sa preruší. RGB LED sa počas hlasovania killswitchu zmení na zelenú. Po resete je killswitch_state nastavený na hodnotu false a vygeneruje sa záznam v sekcii denníka na palubnej doske (hodnota = 1).
poll_test_now_button.py čaká na stlačenie tlačidla na prednom paneli puzdra. Aktiváciou tlačidla sa meranie šírky pásma spustí ručne. Po spustení programu (pri reštarte Raspberry Pi) LED dióda RGB bliká načerveno.
post_restart_message.py zapíše resetovací kód (hodnota = 3) do sekcie denníka na paneli dashboard. To znamená, že monitor šírky pásma bol reštartovaný. Počas spustenia programu LED dióda RGB bliká namodro.
test_LED.py a test_relay.py sú jednoduché skripty, ktoré je možné použiť na testovanie hardvérovej funkcie RGB LED a relé.
epdconfig.py a epd2in9.py sú ovládače zariadenia pre displej elektronického atramentu, ktoré poskytuje spoločnosť Waveshare.
Aby ste umožnili programom prístup na hlavný panel Ubidots, musíte pridať svoje jednotlivé tokeny a názvy zariadení alebo premenných (ak používate rôzne zápisy). Vyhľadajte sekciu, ako je zobrazená na obrázku vyššie (nahraďte XXXXXXXX svojim tokenom).
Komplexné návody, ako zostaviť dashboard a ako integrovať dashboard do programu Python, nájdete priamo na stránke Ubidots (https://help.ubidots.com/en/) alebo cez Google.
Krok 6: Hlavný panel IOT
Hlavný panel hostovaný Ubidots (pozri https://ubidots.com) obsahuje niekoľko oblastí, ktoré sú stručne popísané nižšie.
- Časová postupnosť rýchlosti up a download. Každú pol hodinu sa do diagramu vloží nová hodnota.
- Časový priebeh nameraného času pingu. Každú pol hodinu sa do diagramu vloží nová hodnota.
- Časová postupnosť priemernej rýchlosti sťahovania. Vypočíta sa priemerná hodnota za 24 hodín a zapíše sa do diagramu.
- Tabuľkové znázornenie aktuálnych nameraných hodnôt vrátane časovej pečiatky.
- Tlačidlo diaľkového ovládania na resetovanie modemu cez internet. Dotaz sa vyskytuje každé 3 minúty, to znamená, že môže chvíľu trvať, kým sa akcia vykoná.
- Záznam posledných resetov vrátane dôvodu resetovania (diaľkové spustenie, vypnutie alebo strata napätia, pokles pod minimálnu šírku pásma)
Komplexné návody, ako zostaviť dashboard a ako integrovať dashboard do programu Python, nájdete priamo na stránke Ubidots (https://help.ubidots.com/en/) alebo cez Google.
Odporúča:
Visuino Ako použiť moduláciu šírky impulzu (PWM) na zmenu jasu LED: 7 krokov
Visuino Ako použiť moduláciu šírky impulzu (PWM) na zmenu jasu diódy LED: V tomto tutoriáli použijeme diódu LED pripojenú k Arduino UNO a Visuino na zmenu jasu pomocou modulácie šírky impulzu (PWM). Pozrite si ukážkové video
RAM RAM Visuino pre moduláciu šírky impulzu (PWM) pomocou LED: 8 krokov
RAM RAM Visuino pre moduláciu šírky impulzu (PWM) pomocou LED: V tomto návode použijeme LED diódu pripojenú k Arduino UNO a Visuino na stlmenie LED pomocou komponentu Pulse Width Modulation (PWM) a rampy. Pozrite si ukážkové video
Popis a ukážka stredného pásma El Python: 8 krokov (s obrázkami)
Stredne veľký priemer v oblasti Pythonu: Počet vypočítaných modelov, ktoré môžu mať zásadný význam pre každú z nich, čo je možné zaznamenať ako hlavné a veľké množstvo nebezpečných vecí. . Sin embargo, el calculo de esta á rea n
Mikrokontrolér AVR. Modulovanie šírky impulzu. Ovládač jednosmerného motora a intenzity svetla LED: 6 krokov
Mikrokontrolér AVR. Modulovanie šírky impulzu. Ovládač jednosmerného motora a intenzity svetla LED: Dobrý deň, všetci! Pulzná šírková modulácia (PWM) je veľmi bežnou technikou v oblasti telekomunikácií a riadenia výkonu. bežne sa používa na ovládanie výkonu dodávaného elektrickému zariadeniu, či už je to motor, LED dióda, reproduktory atď. Je to v podstate modul
Rádiové pásma šunky 2 metre/ 70 cm mikropásková doska: 9 krokov
Rádiové pásma Ham 2 metre/ 70 cm mikropásková doska: Ahoj, toto je Andy. G0SFJI nenašiel nikde v literatúre žiadne plány pre dosky mikropásmových antén pre pásma šunky 70 cm a 2 metre. Zdá sa, že všetky sú určené pre zariadenia rfid alebo 2,4 GHz alebo vyššie. Pustil som sa teda do vývoja mikropáskových tlačených bo