Tartalomjegyzék:

Sávszélesség -monitor: 7 lépés (képekkel)
Sávszélesség -monitor: 7 lépés (képekkel)

Videó: Sávszélesség -monitor: 7 lépés (képekkel)

Videó: Sávszélesség -monitor: 7 lépés (képekkel)
Videó: AMONG US в Реальной Жизни ! 2024, November
Anonim
Sávszélesség -monitor
Sávszélesség -monitor
Sávszélesség -monitor
Sávszélesség -monitor
Sávszélesség -monitor
Sávszélesség -monitor

Mivel gyakran megkérdeztem magamtól, hogy jelenleg milyen sávszélességet biztosít az internetszolgáltatóm (LTE modemet használok az internetkapcsolathoz), gondoltam egy sávszélesség -figyelő rendszerre. Mivel a rendszernek kompaktnak és energiatakarékosnak kell lennie, a Raspberry Pi Zero-t választottam központi elemként. A Raspberry WLAN -on keresztül csatlakozik a modemhez, ezért WLAN -problémák is észlelhetők.

Kellékek

  • Raspberry Pi Zero WH
  • Waveshare e-ink kijelző (2,9 hüvelykes e-papír modul)
  • DC-DC átalakító (pl. DEBO DCDC 20W)
  • RGB LED (régi készülékből kivéve)
  • Nyomógomb
  • Kapcsoló
  • Relais modul (pl. 2 utas relé modul 2 utas relé modul)
  • Férfi csatlakozó + női csatlakozó (mindkettő illeszkedik a modem tápkábeléhez)
  • 3D nyomtatott tok

1. lépés: Jellemzők

Jellemzők
Jellemzők
Jellemzők
Jellemzők
Jellemzők
Jellemzők
  • A Raspberry Pi Zero WLAN-on keresztül csatlakozik, teszteli a feltöltési és letöltési sebességet, és félóránként ping mérést végez. A speedtest.net parancssori verziója szolgál a mérések alapjául.
  • A sávszélesség és a ping mérés eredménye egy e-ink kijelzőn jelenik meg. A mérés ideje is megjelenik.
  • Ha a letöltési sebesség egy meghatározott küszöbérték alá esik, a relé rövid időre kikapcsolja és bekapcsolja a modemet. A modem tehát a készülék minden módosítása nélkül visszaáll (csak az áramellátás szakad meg).
  • A készülék elején található gomb lehetővé teszi a sávszélesség mérésének manuális elindítását.
  • A mért értékek egy Ubidots műszerfalon (IOT Portal) jelennek meg. Az áttekintésben láthatja a mért értékek időtörténetét és az utolsó visszaállítások okait is.
  • Az IOT portálon talál egy gombot a modem távoli alaphelyzetbe állításához.
  • A sávszélesség -monitor a modem tápellátását használja. Nincs szükség további ellátásra. A relé megszakítja a tápegység továbbítását a modemhez - a málna bekapcsolva marad.

2. lépés: Kábelezés

Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték

Az első képen a sávszélesség -monitor belső kialakítása látható:

A fő összetevők a következők:

    1. Nyomógomb
    2. E-ink kijelző
    3. Raspberry Pi Zero
    4. Relé modul
    5. RGB LED + ellenállások (az Ön által használt RGB LED -től függően)
    6. Kapcsoló
    7. DC-DC átalakító
    8. Női csatlakozó

A második képen a huzalozás vázlata látható. A tápfeszültség pozitív pólusa a kapcsolón keresztül az egyenáramú feszültségátalakítóhoz (amely az útválasztó 12 V-os tápfeszültségét 5 m-re alakítja a málna számára), és a relén keresztül (a normál csatlakoztatású tűn keresztül) vissza a tápfeszültséghez kimeneti csatlakozó. Így a modem áramellátást kap, amikor a sávszélesség -monitor ki van kapcsolva.

A sávszélesség mérése manuálisan indítható el egy gombbal. Az RGB LED a különböző működési állapotok megjelenítésére szolgál.

A Raspberry Pi és az e-ink kijelző közötti kapcsolat nem látható a kapcsolási rajzon. Csatlakoztassa a kijelzőt a táblázatnak és a fenti tűnek megfelelően.

3. lépés: 3D nyomtatás és az üldözés felépítése

3D nyomtatás és az üldözés építése
3D nyomtatás és az üldözés építése
3D nyomtatás és az üldözés építése
3D nyomtatás és az üldözés építése
3D nyomtatás és az üldözés építése
3D nyomtatás és az üldözés építése
3D nyomtatás és az üldözés építése
3D nyomtatás és az üldözés építése

A tokhoz a következő alkatrészekre van szükség (lásd a fenti képet):

    1. alsó rész
    2. felső rész
    3. elülső
    4. vissza
    5. 4x tartó

Minden alkatrész kinyomtatható támaszok nélkül. A fájlokat és néhány más tervemet is megtalálhatja a Thingiverse webhelyen:

A kijelző a tartókkal és egy kétoldalas szalaggal rögzíthető az előlapra. A gombos kapcsoló és a femal csatlakozó a hátsó és a hátsó panelhez van csavarozva. 3x20 mm -es csavarokkal kötöttem össze a ház két felét. Az elülső és a hátsó panel hornyainak tűrései viszonylag szűkek. Szükség esetén az elülső és a hátsó panelt a szélükön (belülről meg kell csiszolni a felület megsemmisülése érdekében).

4. lépés: A Raspberry PI beállítása

A Raspberry PI beállítása
A Raspberry PI beállítása
A Raspberry PI beállítása
A Raspberry PI beállítása

Ez a telepítési útmutató több telepítési utasítás összeállításán alapul különböző forrásokból (e-Ink kijelző gyártók, stb.). Számomra az utasítások a kívánt eredményhez vezettek. Mivel nem vagyok Linux szakértő, nem végeztek optimalizációkat vagy hasonlókat. Tisztában vagyok vele, hogy biztosan vannak jobb és hatékonyabb megoldások.

Tegyük fel, hogy a Raspbian már telepítve van a Pi -re (sok oktatóanyag található az alapvető operációs rendszer telepítéséről), és van egy kijelzője (miniHDMI -n keresztül), egér és billentyűzet csatlakoztatva. Feltételezzük a routerhez vagy az internethez megfelelően beállított WLAN -kapcsolatot is. Eltérő rendelkezés hiányában minden telepítési eljárást a terminálon végeznek.

Telepítse a Távoli asztalt (a PI eléréséhez a számítógépről):

sudo apt-get update

sudo apt-get

telepítsd az xrdp -t

vagy fej nélkül is dolgozhat az ssh-n keresztül (lásd pl.

Jelszó módosítása:

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

Speedtest telepítése:

sudo

apt-get install python-pip

sudo pip install speedtest-cli

a sikeres telepítés teszteléséhez futtassa a Speedtestet a terminálon:

speedtest-cli

ha minden helyes, akkor valami olyat kell kapnia, mint a fenti első képen.

Telepítse a wiringPI -t

sudo apt-get install git-core

git klón git: //git.drogon.net/wiringPi

cd huzalozásPi

./épít

(lásd még:

Alternatív megoldás:

sudo apt-get install wiringpi

(lásd:

Telepítse a BCM2835 programot

(lásd:

Letöltés bcm2835-1.60.tar.gz (vagy újabb verzió, ha elérhető)

tar zxvf bcm2835-1.60.tar.gz

cd bcm2835-1.60

./Beállítás

készíteni

sudo ellenőrizze

sudo make install

Telepítse a Python képalkotó könyvtárat

sudo apt-get install python-imaging

Alternatív megoldás:

sudo apt-get install python-pil

Engedélyezze az I2C funkciót.

Futtassa a következő parancsot a Raspberry Pi tábla konfigurálásához:

sudo raspi-config

Válassza az Interfészbeállítások-> I2C -> igen lehetőséget az I2C magvezérlőjének elindításához. Ezután módosítania kell a konfigurációs fájlt is. Futtassa a következő parancsot a konfigurációs fájl megnyitásához:

sudo nano /etc /modules

Adja hozzá a következő két sort a konfigurációs fájlhoz

i2c-bcm2708

i2c-dev

Lásd még:

Engedélyezze az SPI funkciót

Futtassa a következő parancsot a Raspberry Pi tábla konfigurálásához:

sudo raspi-config

Válassza az Interfészbeállítások-> SPI -> igen lehetőséget az SPI core driver elindításához.

További betűtípusok telepítése:

sudo apt-get install ttf-mscorefonts-installer

Betűtípusok letöltése és telepítése (Roboto + Droid)

gksudo

pcmanfm

A filemanager elindítása root jogosultságokkal, és a truetype betűtípusok másolása a/usr/share/fonts/truetype mappába

Alternatív megoldás:

Másolja a betűtípusokat a Letöltések mappába WinSCP -vel (az ssh -t engedélyezni kell a WinSCP használatához)

sudo cp -r/home/pi/Letöltések/droid/usr/share/fonts/truetype

sudo cp -r/home/pi/Letöltések/roboto/usr/share/fonts/truetype

A betűtípus mappa eléréséhez root jogosultságokra van szüksége. Talán vannak jobb módszerek is erre (mint már említettem, nem vagyok Linux -szakértő), de mindkét módszer bevált.

Python fájlok:

A filemanger segítségével hozzon létre egy új "bandwidth_monitor" mappát

Másolja az összes fájlt a bandwidth_monitor könyvtárba

Tegye futtathatóvá a python fájlokat és a szkriptet

chmod +x *.py

chmod +x speedtest-cron.sh

A crontab beállítása

crontab -e

A Crontab a program végrehajtásának ütemezésére szolgál pl. sebességteszt 30 percenként. Adja hozzá a következő sorokat a crontabhoz (lásd a második ábrát is):

@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

Az ütemezett feladatok leírása:

  • újraindításkor az újraindítás üzenet íródik az IOT műszerfalra
  • újraindításkor a teszt_now_button elindul
  • 30 percenként sávszélesség -mérést végeznek
  • 3 percenként ellenőrzik a távoli visszaállítás gomb (az IOT műszerfalon) állapotát
  • naponta egyszer elindul a kijelző frissítési ciklusa.

A programok rövid leírását lásd a szoftver részben.

5. lépés: Szoftver

Szoftver
Szoftver

A szoftver több fájlra / programra van felosztva:

A bandwidth_monitor_0_4.py a fő program, amelyet a Crontab félóránként meghív. Sávszélesség -tesztet hajt végre (a speedtest.net parancssori verzióján keresztül). A teszt során az RGB LED kék színű. Ha a sávszélesség meghaladja a kiválasztott küszöbértéket, akkor az érték megjelenik az e-ink kijelzőn (időbélyeggel együtt), és exportálásra kerül az Ubidots műszerfalba. Ha a sávszélesség a küszöbérték alatt van, a LED pirosan világít, és a mérést rövid késleltetés után megismétlik. 3 negatív kísérlet után a relé aktiválódik, és így a modem áramellátása megszakad. A visszaállítási kód (érték = 2) be van írva a napló részbe.

poll_killswitch.py beolvassa a logikai változó állapotát az irányítópulton. Ha a killswitch_state igaz, akkor a relé aktiválódik, és a modem áramellátása megszakad. Az RGB LED zöldre vált a killswitch lekérdezése közben. A visszaállítás után a killswitch_state értéke hamis, és egy bejegyzés jön létre a műszerfal napló részében (érték = 1).

poll_test_now_button.py várja a tok előlapján található nyomógomb megnyomását. A gomb aktiválásával a sávszélesség mérése manuálisan aktiválódik. A program indításakor (a Raspberry Pi újraindításakor) az RGB LED pirosan villog.

A post_restart_message.py írja a visszaállítási kódot (érték = 3) a műszerfal napló részébe. Ez azt jelzi, hogy a sávszélesség -figyelő újraindult. A program indításakor az RGB LED kéken villog.

A test_LED.py és a test_relay.py egyszerű parancsfájlok, amelyekkel tesztelhető az RGB LED és a relé hardver funkciója.

Az epdconfig.py és az epd2in9.py az illesztőprogram a Waveshare által biztosított e-ink kijelzőhöz.

Annak érdekében, hogy a programok hozzáférhessenek az Ubidots irányítópulthoz, hozzá kell adnia egyéni tokeneket és eszköz- vagy változóneveket (ha különböző jelöléseket használ). Keresse meg a fenti képhez hasonló részt (cserélje le XXXXXXXX jelszavával).

Az irányítópult felépítéséről és a műszerfal Python programba történő integrálásáról szóló átfogó oktatóanyagok közvetlenül az Ubidots oldalon (https://help.ubidots.com/en/) vagy a Google -on találhatók.

6. lépés: IOT irányítópult

IOT műszerfal
IOT műszerfal

Az Ubidots által üzemeltetett irányítópult (lásd: https://ubidots.com) számos olyan területet tartalmaz, amelyeket az alábbiakban röviden ismertetünk.

    1. A feltöltési és letöltési sebesség időbeli sorrendje. Félóránként új érték kerül be a diagramba.
    2. A mért ping idő időbeli lefolyása. Félóránként új érték kerül be a diagramba.
    3. Az átlagos letöltési sebesség időbeli sorrendje. A 24 óra átlagértékét kiszámítják és a diagramba írják.
    4. Az aktuális mérési értékek táblázatos ábrázolása, beleértve az időbélyeget.
    5. Távirányító gomb a modem visszaállításához az interneten keresztül. A lekérdezés 3 percenként történik, azaz eltarthat egy ideig, amíg a műveletet végrehajtják.
    6. Az utolsó nullázás naplózása, beleértve a visszaállítás okát (távoli aktiválás, kikapcsolás vagy feszültségkiesés, a minimális sávszélesség alá csökken)

Az irányítópult felépítéséről és a műszerfal Python programba történő integrálásáról szóló átfogó oktatóanyagok közvetlenül az Ubidots oldalon (https://help.ubidots.com/en/) vagy a Google -on találhatók.

Ajánlott: