Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Онцлог шинж чанарууд
- Алхам 2: Цахилгааны утас
- Алхам 3: 3D хэвлэх, хөөцөлдөх нь
- Алхам 4: Raspberry PI -ийг тохируулах
- Алхам 5: Програм хангамж
- Алхам 6: IOT хяналтын самбар
- Алхам 7: Үндсэн функцуудын танилцуулга
Видео: Bandwidth Monitor: 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Миний 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: Цахилгааны утас
Эхний зурган дээр зурвасын өргөний дэлгэцийн дотоод дизайныг харж болно.
Гол бүрэлдэхүүн хэсгүүд нь:
- Дарах товчлуур
- Цахим бэх дэлгэц
- Raspberry Pi Zero
- Реле модуль
- RGB LED + резистор (таны ашигладаг RGB LED -ээс хамаарна)
- Шилжүүлэх
- DC-DC хөрвүүлэгч
- Эмэгтэй холбогч
Хоёрдахь зурагт утаснуудын схемийг харуулав. Нийлүүлэлтийн хүчдэлийн эерэг туйл нь DC-DC хүчдэл хувиргагч руу шилждэг (чиглүүлэгчийн 12V тэжээлийн хүчдэлийг бөөрөлзгөнө 5V болгон хувиргадаг) ба реле (ердийн холбосон зүүгээр) буцаж ирдэг. гаралтын холбогч. Тиймээс модем нь зурвасын өргөнийг унтраасан үед хүчээр хангагддаг.
Зурвасын өргөнийг хэмжих ажлыг товчлуураар гараар эхлүүлж болно. RGB LED нь янз бүрийн үйл ажиллагааны төлөв байдлыг дүрслэхэд ашиглагддаг.
Raspberry Pi ба e-ink дэлгэцийн холболтыг хэлхээний диаграммд харуулаагүй болно. Дээрх хүснэгтийн дагуу дэлгэцийг холбоно уу.
Алхам 3: 3D хэвлэх, хөөцөлдөх нь
Тохиолдолд дараах хэсгүүд шаардлагатай болно (дээрх зургийг үзнэ үү):
- доод хэсэг
- дээд хэсэг
- урд
- нуруу
- 4x холболт
Бүх хэсгийг тулгуургүйгээр хэвлэх боломжтой. Та Thingiverse дээрх файлууд болон миний бусад загваруудыг олж болно:
Дэлгэцийг урд талын самбар дээр бэхэлгээ, хоёр талт соронзон хальсны хамт хавсаргаж болно. Товчлуурын унтраалга ба эмэгтэй холбогчийг арын болон хойд самбарт шургуулдаг. Би орон сууцны хоёр талыг холбохын тулд 3x20 мм боолтыг ашигласан. Урд болон хойд хавтангийн ховил дээрх хүлцэл нь харьцангуй нягт байна. Шаардлагатай бол урд болон хойд хавтанг ирмэг дээр нь зүлгэж (гадаргууг нь сүйтгэхгүйн тулд дотор талаас нь) хийх ёстой.
Алхам 4: 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 хяналтын самбар
Ubidots -ийн зохион байгуулсан хяналтын самбар (https://ubidots.com -ийг үзнэ үү) доор товч тайлбарласан хэд хэдэн хэсгийг агуулдаг.
- Дээд ба татаж авах хурдны дараалал. Хагас цаг тутамд диаграммд шинэ утга оруулна.
- Хэмжилсэн ping хугацааны цаг хугацаа. Хагас цаг тутамд диаграммд шинэ утга оруулна.
- Татаж авах дундаж хурдны цагийн дараалал. 24 цагийн дундаж утгыг тооцоолж диаграммд бичнэ.
- Хүснэгтийн одоогийн хэмжлийн утгыг харуулсан цаг хугацааны тамга.
- Модемийг интернетээр дахин тохируулах алсын удирдлагын товчлуур. Асуулт 3 минут тутамд гардаг, өөрөөр хэлбэл үйлдэл хийгдэх хүртэл хэсэг хугацаа шаардагдана.
- Дахин тохируулах шалтгааныг багтаасан сүүлийн тохиргоог бүртгэх (алсын зайнаас асаах, унтраах эсвэл хүчдэлийн алдагдал, хамгийн бага зурвасын өргөнөөс доогуур байх)
Хяналтын самбарыг хэрхэн бүтээх, хяналтын самбарыг Python програмд хэрхэн нэгтгэх талаархи дэлгэрэнгүй зааврыг Ubidots хуудаснаас (https://help.ubidots.com/en/) эсвэл Google -ээр дамжуулан олж болно.
Зөвлөмж болгож буй:
Crawl Space Monitor (өөр хөлдөөсөн хоолой байхгүй !!): 12 алхам (зурагтай)
Crawl Space Monitor (aka: No Frozen Pipes !!): Манай байшин руу ус халаахгүй мөлхөж буй орон зайгаар дамжин худгаас минь ирдэг. Гал тогоо, угаалгын өрөөний бүх сантехник энэ орон зайд дамждаг. (Байшин доторх сантехник нь 70-аад оны дундуур энэ байшинд хийссэн юм.) Би дулааны гэрлийг ашиглаж байсан
Ergonomic Edge Lit Monitor Stand: 18 алхам (зурагтай)
Ergonomic Edge Lit Monitor Stand: Эргономик, ажлын байр, бүтээгдэхүүн, системийг тэдгээрийг ашиглаж буй хүмүүст тохируулан зохион бүтээх, зохион байгуулах үйл явц. Хяналтын стандарт тохиргоонд тулгардаг гол асуудлуудын нэг бол та өөрийн хүссэн байрлалын дагуу байрлалаа тохируулж чадахгүй байгаа явдал юм
Arduino Air Monitor Shield. Аюулгүй орчинд амьдар.: 5 алхам (зурагтай)
Arduino Air Monitor Shield. Аюулгүй орчинд амьдар. Сайн байна уу, энэ зааварчилгаанд би arduino -д зориулсан агаарын хяналтын бамбай хийх гэж байна. Энэ нь бидний агаар мандал дахь LPG -ийн алдагдал, CO2 -ийн концентрацийг мэдэрч, LPG буюу баяжмал илрэх бүрт LED болон яндангийн сэнс асдаг
Raspberry Pi Impact Force Monitor!: 16 алхам (зурагтай)
Raspberry Pi Impact Force Monitor!: Хүний биед хэр их нөлөө үзүүлэх вэ? Хөлбөмбөг, хаданд авирах эсвэл унадаг дугуй осолдсон эсэхээс үл хамааран мөргөлдсөний дараа хэзээ яаралтай эмнэлгийн тусламж авахаа мэдэх нь маш чухал юм, ялангуяа хэрэв траатын шинж тэмдэг илрээгүй бол
Arduino Climate Monitor: 5 алхам (зурагтай)
Arduino Уур амьсгалын хяналт: Тиймээс цахилгааны төлбөр өндөртэй хотод амьдрахын тулд би жил бүр зарцуулдаг мөнгөө багасгахыг хүсдэг байсан ч эвгүй дулаахан эсвэл хүйтэн өрөөнд амьдрахыг хүсдэггүй. Би мөн байшингийн идэвхгүй уур амьсгалын дизайны жинхэнэ хүсэл тэмүүлэлтэй байсан бөгөөд хоёр удаа хийжээ