Orodha ya maudhui:

Ufuatiliaji wa Bandwidth: Hatua 7 (na Picha)
Ufuatiliaji wa Bandwidth: Hatua 7 (na Picha)

Video: Ufuatiliaji wa Bandwidth: Hatua 7 (na Picha)

Video: Ufuatiliaji wa Bandwidth: Hatua 7 (na Picha)
Video: Дочка СТРАШНОГО КЛОУНА ФАНАТКА Сиреноголового! Сиреноголовый ИЩЕТ ДЕВУШКУ! Реалити Шоу! 2024, Novemba
Anonim
Ufuatiliaji wa Bandwidth
Ufuatiliaji wa Bandwidth
Ufuatiliaji wa Bandwidth
Ufuatiliaji wa Bandwidth
Ufuatiliaji wa Bandwidth
Ufuatiliaji wa Bandwidth

Kama nilivyojiuliza mara nyingi ni nini upelekaji wa data unaotolewa sasa na ISP yangu (ninatumia modem ya LTE kwa unganisho la Mtandao), nilifikiria mfumo wa ufuatiliaji wa upelekaji wa data. Kwa kuwa mfumo unapaswa kuwa thabiti na kuokoa nguvu, nilichagua Raspberry Pi Zero kama sehemu kuu. Raspberry imeunganishwa na modem kupitia WLAN, kwa hivyo shida za WLAN zinaweza kugunduliwa pia.

Vifaa

  • Raspberry Pi Zero WH
  • Onyesho la wino la eveshare (moduli 2.9-inch-e-karatasi)
  • Kubadilisha DC-DC (k.v. DEBO DCDC 20W)
  • RGB LED (imetolewa kutoka kifaa cha zamani)
  • Kitufe cha kushinikiza
  • Badilisha
  • Moduli ya kurudisha (k.m moduli 2 ya Kupitisha Njia2 Moduli ya Kupitisha Njia)
  • Kiunganishi cha kiume
  • Kesi iliyochapishwa ya 3D

Hatua ya 1: Vipengele

Vipengele
Vipengele
Vipengele
Vipengele
Vipengele
Vipengele
  • Raspberry Pi Zero imeunganishwa kupitia WLAN, hujaribu- na kupakua kasi na hufanya kipimo cha ping kila nusu saa. Toleo la laini ya amri ya speedtest.net hutumiwa kama msingi wa vipimo.
  • Matokeo ya kipimo data na kipimo cha ping imeonyeshwa kwenye onyesho la e-wino. Wakati wa kipimo pia umeonyeshwa.
  • Ikiwa kasi ya kupakua iko chini ya thamani ya kizingiti iliyoainishwa, relay huzima modem na kuwasha kwa muda mfupi. Modem imewekwa upya bila mabadiliko yoyote ya kifaa (tu usambazaji wa umeme umeingiliwa).
  • Kitufe kilicho mbele ya kifaa kinapatikana ili kuchochea kipimo cha upelekaji kwa mikono.
  • Thamani zilizopimwa zinaonyeshwa kwenye Dashibodi ya Ubidots (Porto ya IOT). Katika muhtasari unaweza pia kuona historia ya wakati wa maadili yaliyopimwa na sababu za kuweka upya mwisho.
  • Katika bandari ya IOT unaweza pia kupata kitufe cha kuweka upya modem kwa mbali.
  • Mfuatiliaji wa Bandwidth hutumia umeme wa modem. Hakuna usambazaji wa ziada unahitajika. Relais inakataza usambazaji wa umeme kwa modem - rasipberry inabaki kuwashwa.

Hatua ya 2: Wiring

Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring

Katika picha ya kwanza unaweza kuona muundo wa ndani wa mfuatiliaji wa upelekaji:

Sehemu kuu ni:

    1. Bonyeza kitufe
    2. Onyesho la wino wa E
    3. Raspberry Pi Zero
    4. Kupitisha Moduli
    5. RGB LED + Resistors (kulingana na RGB LED unayotumia)
    6. Badilisha
    7. Kubadilisha DC-DC
    8. Kiunganishi cha kike

Picha ya pili inaonyesha skimu ya wiring. Pole chanya ya voltage ya usambazaji inalishwa kupitia swichi kwa kibadilishaji cha voltage cha DC-DC (ambacho hubadilisha voltage ya usambazaji wa 12V ya router kuwa 5V kwa Raspberry) na kupitia relay (kupitia pini iliyounganishwa na normaly) kurudi kwa kontakt pato. Kwa hivyo modem pia hutolewa kwa nguvu wakati mfuatiliaji wa upelekaji umeme umezimwa.

Upimaji wa kipimo data unaweza kuanza kwa mikono kupitia kitufe. RGB ya LED hutumiwa kuibua hali anuwai za utendaji.

Uunganisho kati ya Raspberry Pi na onyesho la e-wino hauonyeshwa kwenye mchoro wa mzunguko. Unganisha onyesho kulingana na meza na pini hapo juu.

Hatua ya 3: Uchapishaji wa 3D na Ujenzi wa Chase

Uchapishaji wa 3D na Ujenzi wa Chase
Uchapishaji wa 3D na Ujenzi wa Chase
Uchapishaji wa 3D na Ujenzi wa Chase
Uchapishaji wa 3D na Ujenzi wa Chase
Uchapishaji wa 3D na Ujenzi wa Chase
Uchapishaji wa 3D na Ujenzi wa Chase
Uchapishaji wa 3D na Ujenzi wa Chase
Uchapishaji wa 3D na Ujenzi wa Chase

Sehemu zifuatazo zinahitajika kwa kesi hiyo (angalia picha hapo juu):

    1. sehemu ya chini
    2. sehemu ya juu
    3. mbele
    4. nyuma
    5. Mlima 4x

Sehemu zote zinaweza kuchapishwa bila msaada. Unaweza pia kupata faili na miundo yangu mingine kwenye Thingiverse:

Onyesho linaweza kushikamana na jopo la mbele na milima na mkanda ulio na pande mbili. Kitufe cha kubadili na kontakt ya kike hupigwa kwa nyuma na nyuma. Nilitumia screws 3x20mm kuunganisha nusu mbili za nyumba. Uvumilivu kwenye grooves kwa paneli za mbele na nyuma ni ngumu sana. Ikiwa ni lazima, paneli za mbele na za nyuma lazima ziweke mchanga pembeni (ndani ili kuepusha kuharibu uso).

Hatua ya 4: Kuweka Raspberry PI

Kuanzisha Raspberry PI
Kuanzisha Raspberry PI
Kuanzisha Raspberry PI
Kuanzisha Raspberry PI

Mwongozo huu wa usanidi unategemea kukusanya maagizo kadhaa ya usanikishaji kutoka kwa vyanzo tofauti (watengenezaji wa onyesho la e-Ink,…). Kwangu mimi maagizo yamesababisha matokeo unayotaka. Kwa kuwa mimi sio mtaalam wa Linux, hakuna uboreshaji au sawa ilifanyika. Ninajua kuwa hakika kuna suluhisho bora na bora zaidi.

Hebu fikiria tayari umeweka Raspbian kwenye Pi yako (kuna mafunzo mengi juu ya jinsi ya kusanikisha mfumo wa operesheni ya msingi) na una onyesho (kupitia miniHDMI), panya na kibodi iliyounganishwa. Uunganisho sahihi wa WLAN kwa router au mtandao pia unadhaniwa. Isipokuwa imeelezwa vinginevyo, taratibu zote za ufungaji zinafanywa kwenye terminal.

Sakinisha eneo-kazi la mbali (kufikia PI kutoka kwa kompyuta yako):

Sudo apt-pata sasisho

sudo apt-kupata

kufunga xrdp

au unaweza pia kufanya kazi bila kichwa kupitia ssh (tazama mfano

Badilisha neno la siri:

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

Sakinisha kasi zaidi:

Sudo

Pata-apt kufunga python-pip

Sudo pip kufunga speedtest-ehl

kujaribu ikiwa usanikishaji umefanikiwa kukimbia Speedtest kwenye terminal:

kasi-cli

ikiwa kitu chochote ni sahihi unapaswa kupata kitu kama kwenye picha ya kwanza hapo juu.

Sakinisha wiringPI

Sudo apt-get kufunga git-msingi

git clone git: //git.drogon.net/wiringPi

wiring ya cdPi

./ijenga

(tazama pia

Mbadala:

Sudo apt-get kufunga wiringpi

(tazama

Sakinisha BCM2835

(tazama

Pakua bcm2835-1.60.tar.gz (au toleo jipya zaidi ikiwa linapatikana)

tar zxvf bcm2835-1.60.tar.gz

cd bcm2835-1.60

./kusanidi

fanya

Sura hufanya hundi

Sudo kufanya kufunga

Sakinisha maktaba ya picha ya Python

Sudo apt-get kufunga python-imaging

Mbadala:

Sudo apt-get kufunga python-pil

Wezesha kazi ya I2C.

Tumia amri ifuatayo kusanidi bodi yako ya Raspberry Pi:

Sudo raspi-config

Chagua Chaguzi za Kiolesura-> I2C -> ndio, kuanzisha dereva wa msingi wa I2C. Kisha unahitaji pia kurekebisha faili ya usanidi. Tumia amri ifuatayo ili kufungua faili ya usanidi:

Sudo nano / nk / moduli

Ongeza mistari miwili ifuatayo kwenye faili ya usanidi

i2c-bcm2708

i2c-dev

Tazama pia

Wezesha kazi ya SPI

Tumia amri ifuatayo kusanidi bodi yako ya Raspberry Pi:

Sudo raspi-config

Chagua Chaguzi za Kiolesura-> SPI -> ndio, kuanzisha dereva wa msingi wa SPI.

Sakinisha fonti za ziada:

Sudo apt-get kufunga ttf-mscorefonts-kisakinishi

Pakua na usakinishe Fonti (Roboto + Droid)

gksudo

pcmanfm

Kuanza msimamizi wa faili na haki za mizizi na nakili fonti za truetype kwenye folda / usr / share / fonts / truetype

Mbadala:

Nakili fonti kwenye folda ya Upakuaji na WinSCP (ssh lazima iwezeshwe kutumia WinSCP)

sudo cp -r / nyumbani / pi / Upakuaji / droid / usr / share / fonts / truetype

sudo cp -r / nyumbani / pi / Upakuaji / roboto / usr / share / fonts / truetype

Unahitaji upendeleo wa mizizi kufikia folda ya fonti. Labda kuna njia bora za kufanya hivi (kama ilivyotajwa hapo awali mimi sio mtaalam wa Linux) lakini njia zote mbili zilinifanyia kazi.

Faili za chatu:

Tumia faili ya faili kuunda folda mpya "bandwidth_monitor"

Nakili faili zote kwa saraka ya bandwidth_monitor

Fanya faili za chatu na hati inayoweza kutekelezwa

chmod + x *.py

chmod + x kasi zaidi-cron.sh

Sanidi crontab

crontab -e

Crontab hutumiwa kupanga utekelezaji wa programu k.v. kasi zaidi kila dakika 30. Ongeza mistari ifuatayo kwenye crontab yako (angalia pia takwimu ya pili):

@ reboot / usr / bin / chatu / nyumba/pi/bandwidth_monitor/post_restart_message.py &

@ reboot kulala 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 / chatu / nyumba / pi / bandwidth_monitor/refresh_display.py

Maelezo ya kazi zilizopangwa:

  • wakati wa kuwasha upya ujumbe wa kuanza upya umeandikwa kwenye dashibodi ya IOT
  • wakati wa kuwasha upya kitufe cha mtihani_ya_kipimo umeanza
  • kila dakika 30 upimaji wa kipimo data unafanywa
  • kila dakika 3 hali ya kitufe cha kuweka upya kijijini (kwenye dashibodi ya IOT) inachunguzwa
  • mara moja kwa siku mzunguko wa kuonyesha upya umeanza.

Tazama sehemu ya programu kwa maelezo mafupi ya programu.

Hatua ya 5: Programu

Programu
Programu

Programu imegawanywa katika faili / programu kadhaa:

bandwidth_monitor_0_4.py ni mpango kuu ambao unatakiwa na Crontab kila nusu saa. Inafanya mtihani wa kipimo data (kupitia toleo la mstari wa amri ya speedtest.net). Wakati wa jaribio, RGB LED ni bluu. Ikiwa kipimo cha data kiko juu ya kizingiti kilichochaguliwa, thamani inaonyeshwa kwenye onyesho la e-wino (pamoja na muhuri wa muda) na kusafirishwa kwa dashibodi ya Ubidots. Ikiwa kipimo cha data kiko chini ya kizingiti LED inageuka kuwa nyekundu na kipimo kinarudiwa baada ya kuchelewa kwa muda mfupi. Baada ya majaribio 3 hasi relay imeamilishwa na kwa hivyo umeme wa modem umeingiliwa. Nambari ya kuweka upya (thamani = 2) imeandikwa kwa sehemu ya logi.

poll_killswitch.py inasoma hali ya ubadilishaji wa boolean kwenye dashibodi. Ikiwa killswitch_state ni kweli relais imeamilishwa usambazaji wa umeme wa modem umeingiliwa. RGB LED inageuka kijani wakati wa kupiga kura ya killswitch. Baada ya kuweka upya eneo la killswitch_state limewekwa uwongo na kuingia kwenye sehemu ya logi ya dashibodi hutengenezwa (value = 1).

poll_test_now_button.py inasubiri kitufe cha kushinikiza kwenye jopo la mbele la kesi hiyo kushinikizwa. Kwa kuamilisha kitufe, kipimo cha kipimo data kinasababishwa kwa mikono. Wakati programu inapoanza (wakati wa kuwasha tena Raspberry Pi) RGB LED inaangaza nyekundu.

post_restart_message.py inaandika nambari ya kuweka upya (value = 3) kwa sehemu ya logi ya dashibodi. Hii inaonyesha kuwa mfuatiliaji wa upelekaji umeme umeanza tena. Wakati wa programu anza RGB LED inaangaza hudhurungi.

test_LED.py na test_relay.py ni hati rahisi ambazo zinaweza kutumiwa kujaribu kazi ya vifaa vya RGB LED na relay.

epdconfig.py na epd2in9.py ni dereva wa kifaa cha onyesho la e-wino lililotolewa na Waveshare.

Ili kuruhusu programu kufikia dashibodi ya Ubidots, lazima uongeze ishara zako za kibinafsi na kifaa au majina anuwai (ikiwa unatumia notisi tofauti). Tafuta sehemu kama ile iliyoonyeshwa kwenye picha hapo juu (badala ya XXXXXXXX kwa ishara yako).

Mafunzo kamili juu ya jinsi ya kujenga dashibodi na jinsi ya kuingiza dashibodi kwenye programu ya Python inaweza kupatikana moja kwa moja kwenye ukurasa wa Ubidots (https://help.ubidots.com/en/) au kupitia Google.

Hatua ya 6: IOT Dashibodi

Dashibodi ya IOT
Dashibodi ya IOT

Dashibodi iliyohifadhiwa na Ubidots (tazama https://ubidots.com) ina maeneo kadhaa ambayo yameelezewa kwa ufupi hapa chini.

    1. Mlolongo wa wakati wa up- na kasi ya kupakua. Kila nusu saa thamani mpya imeingizwa kwenye mchoro.
    2. Kozi ya wakati wa kipimo cha ping. Kila nusu saa thamani mpya imeingizwa kwenye mchoro.
    3. Mlolongo wa wakati wa wastani wa kasi ya kupakua. Thamani ya wastani zaidi ya masaa 24 imehesabiwa na kuandikwa kwenye mchoro.
    4. Uwakilishi wa lahajedwali la maadili ya kipimo cha sasa pamoja na stempu ya wakati.
    5. Kitufe cha kudhibiti kijijini cha kuweka tena modem kupitia mtandao. Hoja hufanyika kila baada ya dakika 3, i.e. inaweza kuchukua muda hadi hatua ifanyike.
    6. Uwekaji wa rejista za mwisho ikiwa ni pamoja na sababu ya kuweka upya (kuchochea kijijini, kuzima au upotezaji wa voltage, iko chini ya kiwango cha chini cha kipimo data)

Mafunzo kamili juu ya jinsi ya kujenga dashibodi na jinsi ya kuingiza dashibodi kwenye programu ya Python inaweza kupatikana moja kwa moja kwenye ukurasa wa Ubidots (https://help.ubidots.com/en/) au kupitia Google.

Ilipendekeza: