Агуулгын хүснэгт:

Bandwidth Monitor: 7 алхам (зурагтай)
Bandwidth Monitor: 7 алхам (зурагтай)

Видео: Bandwidth Monitor: 7 алхам (зурагтай)

Видео: Bandwidth Monitor: 7 алхам (зурагтай)
Видео: БЕСПРОВОДНОЕ ВИДЕОНАБЛЮДЕНИЕ WIFI комплект KERUI со слежением за людьми 2024, Арваннэгдүгээр
Anonim
Зурвасын өргөний хяналт
Зурвасын өргөний хяналт
Зурвасын өргөний хяналт
Зурвасын өргөний хяналт
Зурвасын өргөний хяналт
Зурвасын өргөний хяналт

Миний ISP одоогоор ямар зурвасын өргөнийг хангаж байгаа талаар би өөрөөсөө байнга асуудаг байсан (би интернетэд холбогдохын тулд LTE модем ашигладаг), би зурвасын өргөнийг хянах системийг бодсон. Систем нь авсаархан, хэмнэлттэй байх ёстой тул би Raspberry Pi Zero-ийг гол бүрэлдэхүүн хэсэг болгон сонгосон. Raspberry нь модемд WLAN -ээр холбогдсон тул WLAN -ийн асуудлыг илрүүлэх боломжтой.

Хангамж

  • Raspberry Pi Zero WH
  • Waveshare цахим бэх дэлгэц (2.9inch-e-paper-module)
  • DC-DC хөрвүүлэгч (жишээ нь DEBO DCDC 20W)
  • RGB LED (хуучин төхөөрөмжөөс авсан)
  • Дарах товчлуур
  • Шилжүүлэх
  • Relais модуль (жишээ нь 2 талын реле модуль2 Way Relay модуль)
  • Эр холбогч + Эмэгтэй холбогч (хоёулаа модемийн тэжээлийн залгуурын хэмжээтэй тохирч болно)
  • 3D хэвлэсэн хайрцаг

Алхам 1: Онцлог шинж чанарууд

Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
  • Raspberry Pi Zero нь WLAN-ээр холбогдсон бөгөөд татаж авах болон татаж авах хурдыг шалгаж, хагас цаг тутамд ping хэмжилт хийдэг. Speedtest.net -ийн командын шугамын хувилбарыг хэмжих үндэс болгон ашигладаг.
  • Зурвасын өргөн ба ping хэмжилтийн үр дүнг цахим бэх дэлгэц дээр харуулав. Хэмжилт хийх хугацааг мөн харуулав.
  • Хэрэв татаж авах хурд нь тогтоосон босго хэмжээнээс доогуур байвал реле нь модемийг богино хугацаанд унтрааж асаадаг. Тиймээс модемийг төхөөрөмжийн өөрчлөлтгүйгээр дахин тохируулдаг (зөвхөн цахилгаан хангамж тасалдсан).
  • Төхөөрөмжийн урд талын товчлуур нь зурвасын өргөнийг гараар хэмжих боломжтой.
  • Хэмжсэн утгыг Ubidots хяналтын самбарт (IOT портал) харуулна. Ерөнхий тоймд та хэмжсэн утгуудын цаг хугацааны түүх, сүүлчийн тохиргооны шалтгааныг харж болно.
  • IOT портал дээрээс та модемийг алсаас тохируулах товчлуурыг олох боломжтой.
  • Bandwidth монитор нь модемийн тэжээлийн хангамжийг ашигладаг. Нэмэлт хангамж шаардлагагүй. Реле нь тэжээлийн хангамжийг модем руу дамжуулахад саад болдог - бөөрөлзгөнө асаалттай хэвээр байна.

Алхам 2: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас

Эхний зурган дээр зурвасын өргөний дэлгэцийн дотоод дизайныг харж болно.

Гол бүрэлдэхүүн хэсгүүд нь:

    1. Дарах товчлуур
    2. Цахим бэх дэлгэц
    3. Raspberry Pi Zero
    4. Реле модуль
    5. RGB LED + резистор (таны ашигладаг RGB LED -ээс хамаарна)
    6. Шилжүүлэх
    7. DC-DC хөрвүүлэгч
    8. Эмэгтэй холбогч

Хоёрдахь зурагт утаснуудын схемийг харуулав. Нийлүүлэлтийн хүчдэлийн эерэг туйл нь DC-DC хүчдэл хувиргагч руу шилждэг (чиглүүлэгчийн 12V тэжээлийн хүчдэлийг бөөрөлзгөнө 5V болгон хувиргадаг) ба реле (ердийн холбосон зүүгээр) буцаж ирдэг. гаралтын холбогч. Тиймээс модем нь зурвасын өргөнийг унтраасан үед хүчээр хангагддаг.

Зурвасын өргөнийг хэмжих ажлыг товчлуураар гараар эхлүүлж болно. RGB LED нь янз бүрийн үйл ажиллагааны төлөв байдлыг дүрслэхэд ашиглагддаг.

Raspberry Pi ба e-ink дэлгэцийн холболтыг хэлхээний диаграммд харуулаагүй болно. Дээрх хүснэгтийн дагуу дэлгэцийг холбоно уу.

Алхам 3: 3D хэвлэх, хөөцөлдөх нь

3D хэвлэх, хөөцөлдөх нь
3D хэвлэх, хөөцөлдөх нь
3D хэвлэх, хөөцөлдөх нь
3D хэвлэх, хөөцөлдөх нь
3D хэвлэх, хөөцөлдөх нь
3D хэвлэх, хөөцөлдөх нь
3D хэвлэх, хөөцөлдөх нь
3D хэвлэх, хөөцөлдөх нь

Тохиолдолд дараах хэсгүүд шаардлагатай болно (дээрх зургийг үзнэ үү):

    1. доод хэсэг
    2. дээд хэсэг
    3. урд
    4. нуруу
    5. 4x холболт

Бүх хэсгийг тулгуургүйгээр хэвлэх боломжтой. Та Thingiverse дээрх файлууд болон миний бусад загваруудыг олж болно:

Дэлгэцийг урд талын самбар дээр бэхэлгээ, хоёр талт соронзон хальсны хамт хавсаргаж болно. Товчлуурын унтраалга ба эмэгтэй холбогчийг арын болон хойд самбарт шургуулдаг. Би орон сууцны хоёр талыг холбохын тулд 3x20 мм боолтыг ашигласан. Урд болон хойд хавтангийн ховил дээрх хүлцэл нь харьцангуй нягт байна. Шаардлагатай бол урд болон хойд хавтанг ирмэг дээр нь зүлгэж (гадаргууг нь сүйтгэхгүйн тулд дотор талаас нь) хийх ёстой.

Алхам 4: Raspberry PI -ийг тохируулах

Raspberry PI -ийг тохируулах
Raspberry PI -ийг тохируулах
Raspberry PI -ийг тохируулах
Raspberry PI -ийг тохируулах

Энэхүү тохиргооны гарын авлага нь янз бүрийн эх сурвалжаас (e-Ink дэлгэц үйлдвэрлэгчид, …) хэд хэдэн суулгах зааврыг бүрдүүлэхэд үндэслэсэн болно. Миний хувьд заавар нь хүссэн үр дүнд хүргэсэн. Би Линукс мэргэжилтэн биш тул оновчлол эсвэл үүнтэй төстэй зүйл хийгээгүй. Мэдээж илүү сайн, илүү үр дүнтэй шийдлүүд байгаа гэдгийг би мэдэж байна.

Таны Pi дээр Raspbian суулгасан байна (үндсэн үйлдлийн системийг хэрхэн суулгах талаар олон заавар байдаг), дэлгэц (miniHDMI -ээр), хулгана, гар холбогдсон гэж бодъё. Чиглүүлэгч эсвэл интернетэд зөв тохируулсан WLAN холболтыг бас авч үзнэ. Хэрэв өөрөөр заагаагүй бол суулгах бүх процедурыг терминал дээр гүйцэтгэдэг.

Алсын ширээний програмыг суулгана уу (компьютерээсээ PI руу нэвтрэхийн тулд):

sudo apt-get update

sudo apt-get

xrdp суулгана уу

эсвэл та ssh-ээр толгойгүй ажиллах боломжтой (жишээлбэл https://desertbot.io/blog/headless-raspberry-pi-3-bplus-ssh-wifi-setup-ийг үзнэ үү)

Нууц үгийг өөрчлөх:

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

Speedtest суулгах:

sudo

apt-get python-pip суулгана уу

sudo pip суулгах speedtest-cli

Суулгалт амжилттай болсон эсэхийг шалгахын тулд терминал дээр Speedtest ажиллуулна уу.

хамгийн хурдны клип

Хэрэв бүх зүйл зөв байвал та дээрх эхний зураг дээрх шиг зүйлийг авах ёстой.

WIPI суурилуулах

sudo apt-get суулгах git-core

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

cd утасPi

./ барих

(мөн үзнэ үү

Альтернатив:

sudo apt-get wiringpi суулгах

(https://wiringpi.com/download-and-install/ хаягийг үзнэ үү)

BCM2835 суулгана уу

(https://www.airspayce.com/mikem/bcm2835/ -г үзнэ үү)

Bcm2835-1.60.tar.gz татаж авах (эсвэл боломжтой бол шинэ хувилбар)

tar zxvf bcm2835-1.60.tar.gz

cd bcm2835-1.60

./ тохируулах

хийх

sudo шалгах

sudo make install

Python дүрслэх номын санг суулгана уу

sudo apt-get python-Imaging суулгаарай

Альтернатив:

sudo apt-get python-pil суулгана уу

I2C функцийг идэвхжүүлнэ үү.

Raspberry Pi самбараа тохируулахын тулд дараах тушаалыг ажиллуулна уу.

sudo raspi-config

I2C үндсэн драйверийг эхлүүлэхийн тулд Interface Options-> I2C -> yes -ийг сонгоно уу. Дараа нь та тохиргооны файлыг өөрчлөх хэрэгтэй. Тохиргооны файлыг нээхийн тулд дараах тушаалыг ажиллуулна уу.

sudo нано /etc /модулиуд

Дараах хоёр мөрийг тохиргооны файлд нэмнэ үү

i2c-bcm2708

i2c-dev

Мөн https://www.waveshare.com/wiki/Pioneer600#Libraries_Installation_for_RPi -г үзнэ үү.

SPI функцийг идэвхжүүлнэ үү

Raspberry Pi самбараа тохируулахын тулд дараах тушаалыг ажиллуулна уу.

sudo raspi-config

SPI үндсэн драйверийг эхлүүлэхийн тулд Interface Options-> SPI -> yes -ийг сонгоно уу.

Нэмэлт фонт суулгах:

sudo apt-get ttf-mscorefonts-installer суулгана уу

Фонт татаж аваад суулгаарай (Roboto + Droid)

gksudo

pcmanfm

Файлын менежерийг root эрхээр эхлүүлж, truetype фонтыг/usr/share/fonts/truetype руу хуулах

Альтернатив:

Фонтуудыг WinSCP ашиглан Татаж авах хавтсанд хуулж ав (WinSCP -ийг ашиглахын тулд ssh -ийг идэвхжүүлэх ёстой)

sudo cp -r/home/pi/Татаж авах/droid/usr/share/фонт/truetype

sudo cp -r/home/pi/Татаж авах/roboto/usr/share/фонт/truetype

Фонтын фолдерт хандахын тулд танд root эрх хэрэгтэй. Үүнийг хийх илүү сайн арга байж магадгүй (дээр дурдсанчлан би Линуксийн мэргэжилтэн биш), гэхдээ хоёулаа надад тусалсан.

Python файлууд:

Filemanger ашиглан "bandwidth_monitor" шинэ хавтас үүсгэнэ үү.

Бүх файлуудыг сангийн bandwidth_monitor руу хуулах

Python файлууд болон скриптүүдийг ажиллуулах боломжтой болгох

chmod +x *.py

chmod +x speedtest-cron.sh

Crontab -ийг тохируулах

crontab -e

Crontab нь програмын гүйцэтгэлийг төлөвлөхөд ашиглагддаг. хамгийн хурдан 30 минут тутамд. Дараах мөрүүдийг crontab дээрээ нэмнэ үү (мөн хоёр дахь зургийг үзнэ үү):

@дахин ачаалах/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

Төлөвлөсөн ажлуудын тодорхойлолт:

  • Дахин ачаалах үед дахин эхлүүлэх мессежийг IOT хяналтын самбарт бичнэ
  • Дахин ачаалах үед санал асуулгад test_now_button эхэлнэ
  • 30 минут тутамд зурвасын өргөнийг хэмждэг
  • 3 минут тутамд алсаас дахин тохируулах товчлуурын статусыг (IOT хяналтын самбар дээр) шалгадаг
  • өдөрт нэг удаа дэлгэцийг шинэчлэх мөчлөг эхэлдэг.

Програмын товч тайлбарыг програм хангамжийн хэсгээс үзнэ үү.

Алхам 5: Програм хангамж

Програм хангамж
Програм хангамж

Програм хангамжийг хэд хэдэн файл / програмд хуваадаг.

bandwidth_monitor_0_4.py бол Crontab -ээс хагас цаг тутамд ашигладаг үндсэн програм юм. Энэ нь зурвасын өргөний туршилтыг гүйцэтгэдэг (speedtest.net -ийн командын шугамын хувилбараар). Туршилтын явцад RGB LED нь цэнхэр өнгөтэй байна. Хэрэв зурвасын өргөн нь сонгосон босго хэмжээнээс дээгүүр байвал утгыг цахим бэх дэлгэц дээр (цагийн тэмдгийн хамт) харуулаад Ubidots хяналтын самбарт экспортлодог. Хэрэв зурвасын өргөн нь босго хэмжээнээс доогуур байвал LED нь улаан болж, богино хугацааны дараа хэмжилтийг давтана. 3 сөрөг оролдлогын дараа реле идэвхжиж, модемийн тэжээлийн хангамж тасалддаг. Дахин тохируулах кодыг (утга = 2) лог хэсэгт бичнэ.

poll_killswitch.py нь хяналтын самбар дээрх логик хувьсагчийн статусыг уншдаг. Хэрэв killswitch_state үнэн бол реле идэвхжсэн бөгөөд модемийн тэжээлийн хангамж тасалдсан байна. RGB LED нь алуурчны санал асуулгын үеэр ногоон болж хувирдаг. Дахин тохируулсны дараа killswitch_state -ийг худал гэж тохируулж, хяналтын самбарын бүртгэлийн хэсэгт оруулга үүснэ (утга = 1).

poll_test_now_button.py нь хэргийн урд талын товчлуурыг дарахыг хүлээж байна. Товчлуурыг идэвхжүүлснээр зурвасын өргөнийг гараар хэмждэг. Хөтөлбөрийг эхлүүлэх үед (Raspberry Pi -ийг дахин ачаалах үед) RGB LED улаан анивчдаг.

post_restart_message.py нь дахин тохируулах кодыг (утга = 3) хяналтын самбарын бүртгэлийн хэсэгт бичдэг. Энэ нь зурвасын өргөний мониторыг дахин эхлүүлсэн болохыг харуулж байна. Хөтөлбөрийг эхлүүлэх явцад RGB LED цэнхэр өнгөтэй болно.

test_LED.py ба test_relay.py нь RGB LED болон релений техник хангамжийн функцийг шалгахад ашиглаж болох энгийн скриптүүд юм.

epdconfig.py ба epd2in9.py бол Waveshare-с өгсөн цахим бэх дэлгэцийн төхөөрөмжийн драйвер юм.

Програмыг Ubidots хяналтын самбарт хандахыг зөвшөөрөхийн тулд та өөрийн жетон, төхөөрөмж эсвэл хувьсагчийн нэрийг нэмэх шаардлагатай (хэрэв та өөр тэмдэглэгээ ашигладаг бол). Дээрх зурагт үзүүлсэн шиг хэсгийг хайж олоорой (XXXXXXXX -ийг токеноор солино уу).

Хяналтын самбарыг хэрхэн бүтээх, хяналтын самбарыг Python програмд хэрхэн нэгтгэх талаархи дэлгэрэнгүй зааврыг Ubidots хуудаснаас (https://help.ubidots.com/en/) эсвэл Google -ээр дамжуулан олж болно.

Алхам 6: IOT хяналтын самбар

IOT хяналтын самбар
IOT хяналтын самбар

Ubidots -ийн зохион байгуулсан хяналтын самбар (https://ubidots.com -ийг үзнэ үү) доор товч тайлбарласан хэд хэдэн хэсгийг агуулдаг.

    1. Дээд ба татаж авах хурдны дараалал. Хагас цаг тутамд диаграммд шинэ утга оруулна.
    2. Хэмжилсэн ping хугацааны цаг хугацаа. Хагас цаг тутамд диаграммд шинэ утга оруулна.
    3. Татаж авах дундаж хурдны цагийн дараалал. 24 цагийн дундаж утгыг тооцоолж диаграммд бичнэ.
    4. Хүснэгтийн одоогийн хэмжлийн утгыг харуулсан цаг хугацааны тамга.
    5. Модемийг интернетээр дахин тохируулах алсын удирдлагын товчлуур. Асуулт 3 минут тутамд гардаг, өөрөөр хэлбэл үйлдэл хийгдэх хүртэл хэсэг хугацаа шаардагдана.
    6. Дахин тохируулах шалтгааныг багтаасан сүүлийн тохиргоог бүртгэх (алсын зайнаас асаах, унтраах эсвэл хүчдэлийн алдагдал, хамгийн бага зурвасын өргөнөөс доогуур байх)

Хяналтын самбарыг хэрхэн бүтээх, хяналтын самбарыг Python програмд хэрхэн нэгтгэх талаархи дэлгэрэнгүй зааврыг Ubidots хуудаснаас (https://help.ubidots.com/en/) эсвэл Google -ээр дамжуулан олж болно.

Зөвлөмж болгож буй: