Სარჩევი:

გამტარუნარიანობის მონიტორი: 7 ნაბიჯი (სურათებით)
გამტარუნარიანობის მონიტორი: 7 ნაბიჯი (სურათებით)

ვიდეო: გამტარუნარიანობის მონიტორი: 7 ნაბიჯი (სურათებით)

ვიდეო: გამტარუნარიანობის მონიტორი: 7 ნაბიჯი (სურათებით)
ვიდეო: How to Update Windows 7 2024, ნოემბერი
Anonim
გამტარუნარიანობის მონიტორი
გამტარუნარიანობის მონიტორი
გამტარუნარიანობის მონიტორი
გამტარუნარიანობის მონიტორი
გამტარუნარიანობის მონიტორი
გამტარუნარიანობის მონიტორი

მე ხშირად ვეკითხებოდი საკუთარ თავს, რა სიჩქარეს უზრუნველყოფს ამჟამად ჩემი პროვაიდერი (მე ვიყენებ LTE მოდემს ინტერნეტ კავშირისთვის), ვფიქრობდი გამტარუნარიანობის მონიტორინგის სისტემაზე. ვინაიდან სისტემა უნდა იყოს კომპაქტური და ენერგიის დაზოგვის, მე ავირჩიე Raspberry Pi Zero, როგორც ცენტრალური კომპონენტი. ჟოლო მოდემს უკავშირდება WLAN- ით, შესაბამისად WLAN- ის პრობლემებიც შეიძლება გამოვლინდეს.

მარაგები

  • ჟოლო Pi Zero WH
  • Waveshare ელექტრონული მელნის ჩვენება (2.9 დიუმიანი ელექტრონული ქაღალდის მოდული)
  • DC-DC გადამყვანი (მაგ. DEBO DCDC 20W)
  • RGB LED (ამოღებულია ძველი მოწყობილობიდან)
  • დააჭირეთ ღილაკს
  • გადართვა
  • Relais მოდული (მაგ. 2 Way Relay მოდული 2 Way Relay მოდული)
  • მამრობითი კონექტორი + ქალი კონექტორი (ორივე შეესაბამება თქვენი მოდემის კვების ბლოკის ზომას)
  • 3D დაბეჭდილი ქეისი

ნაბიჯი 1: მახასიათებლები

მახასიათებლები
მახასიათებლები
მახასიათებლები
მახასიათებლები
მახასიათებლები
მახასიათებლები
  • Raspberry Pi Zero დაკავშირებულია WLAN– ით, ამოწმებს გადმოტვირთვის სიჩქარეს და ასრულებს პინგის გაზომვას ყოველ ნახევარ საათში. Speedtest.net– ის ბრძანების ხაზის ვერსია გამოიყენება გაზომვების საფუძვლად.
  • გამტარუნარიანობისა და პინგის გაზომვის შედეგი ნაჩვენებია ელექტრონული მელნის ეკრანზე. ასევე ნაჩვენებია გაზომვის დრო.
  • თუ გადმოტვირთვის სიჩქარე ეცემა განსაზღვრულ ზღურბლს, რელე რამოდენიმე ხნით გამორთავს და ააქტიურებს მოდემს. ამრიგად, მოდემი გადატვირთულია მოწყობილობის ყოველგვარი მოდიფიკაციის გარეშე (მხოლოდ ელექტროენერგიის მიწოდება წყდება).
  • მოწყობილობის წინა მხარეს არის ღილაკი, რომელიც ხელს უწყობს გამტარუნარიანობის გაზომვას ხელით.
  • გაზომილი მნიშვნელობები ნაჩვენებია Ubidots დაფაზე (IOT პორტალი). მიმოხილვაში ასევე შეგიძლიათ ნახოთ გაზომილი მნიშვნელობების დროის ისტორია და ბოლო გადატვირთვის მიზეზები.
  • IOT პორტალში ასევე შეგიძლიათ იპოვოთ მოდემის დისტანციურად გადატვირთვის ღილაკი.
  • გამტარუნარიანობის მონიტორი იყენებს მოდემის კვების ბლოკს. დამატებითი მარაგი არ არის საჭირო. რელე წყვეტს ელექტროენერგიის მიწოდებას მოდემზე - ჟოლო რჩება ჩართული.

ნაბიჯი 2: გაყვანილობა

გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა
გაყვანილობა

პირველ სურათზე შეგიძლიათ იხილოთ გამტარუნარიანობის მონიტორის შიდა დიზაინი:

ძირითადი კომპონენტებია:

    1. დააჭირეთ ღილაკს
    2. ელ-მელნის ჩვენება
    3. ჟოლო პი ნულოვანი
    4. სარელეო მოდული
    5. RGB LED + რეზისტორები (დამოკიდებულია თქვენს მიერ გამოყენებულ RGB LED- ზე)
    6. გადართვა
    7. DC-DC კონვერტორი
    8. ქალი კონექტორი

მეორე სურათი გვიჩვენებს გაყვანილობის სქემატურს. მიწოდების ძაბვის პოზიტიური პოლუსი იკვებება DC-DC ძაბვის გადამყვანზე გადართვით (რომელიც როუტერის 12 ვ ძაბვის ძაბვას გარდაქმნის ჟოლოსთვის 5 ვ-მდე) და რელეს საშუალებით (ნორმალურად დაკავშირებული პინის საშუალებით) უკან გამომავალი კონექტორი. ამრიგად, მოდემი ასევე მიეწოდება ენერგიას, როდესაც გამტარუნარიანობის მონიტორი გამორთულია.

გამტარუნარიანობის გაზომვა შესაძლებელია ხელით ღილაკის საშუალებით. RGB LED გამოიყენება სხვადასხვა ოპერაციული მდგომარეობების ვიზუალიზაციისთვის.

Raspberry Pi- სა და ელექტრონული მელნის ჩვენებას შორის კავშირი არ არის ნაჩვენები წრიულ დიაგრამაში. შეაერთეთ ეკრანი ცხრილის მიხედვით და ზემოთ დაყენებული.

ნაბიჯი 3: 3D ბეჭდვა და მშენებლობა დევნა

3D ბეჭდვა და მშენებლობა დევნა
3D ბეჭდვა და მშენებლობა დევნა
3D ბეჭდვა და მშენებლობა დევნა
3D ბეჭდვა და მშენებლობა დევნა
3D ბეჭდვა და მშენებლობა დევნა
3D ბეჭდვა და მშენებლობა დევნა
3D ბეჭდვა და მშენებლობა დევნა
3D ბეჭდვა და მშენებლობა დევნა

საქმისთვის საჭიროა შემდეგი ნაწილები (იხ. სურათი ზემოთ):

    1. ქვედა ნაწილი
    2. ზედა ნაწილი
    3. წინა
    4. უკან
    5. 4x მთა

ყველა ნაწილის დაბეჭდვა შესაძლებელია მხარდაჭერის გარეშე. თქვენ ასევე შეგიძლიათ იპოვოთ ფაილები და ჩემი სხვა დიზაინები Thingiverse– ზე:

ეკრანი შეიძლება მიმაგრდეს წინა პანელზე საყრდენებით და ორმაგი ლენტით. ღილაკის გადამრთველი და ქალის კონექტორი ხრახნიანია უკანა და უკანა პანელზე. მე გამოვიყენე 3x20 მმ ხრახნები საცხოვრებლის ორი ნახევრის დასაკავშირებლად. წინა და უკანა პანელების ღარებზე ტოლერანტობა შედარებით მჭიდროა. საჭიროების შემთხვევაში, წინა და უკანა პანელები უნდა იყოს ქვიშიანი ზღვარზე (შიგნიდან ზედაპირის განადგურების თავიდან ასაცილებლად).

ნაბიჯი 4: ჟოლოს PI- ის დაყენება

ჟოლოს PI- ის დაყენება
ჟოლოს PI- ის დაყენება
ჟოლოს PI- ის დაყენება
ჟოლოს PI- ის დაყენება

ეს დაყენების სახელმძღვანელო ემყარება სხვადასხვა წყაროებიდან რამდენიმე ინსტალაციის ინსტრუქციის შედგენას (ელექტრონული მელნის ჩვენების მწარმოებლები,…). ჩემთვის ინსტრუქციამ სასურველი შედეგი გამოიღო. ვინაიდან მე არ ვარ Linux– ის ექსპერტი, არანაირი ოპტიმიზაცია ან მსგავსი არ გაკეთებულა. მე ვიცი, რომ ნამდვილად არსებობს უკეთესი და ეფექტური გადაწყვეტილებები.

დავუშვათ, რომ თქვენ უკვე გაქვთ Raspbian დაინსტალირებული თქვენს Pi- ზე (არის მრავალი გაკვეთილი, თუ როგორ უნდა დააინსტალიროთ ძირითადი ოპერაციული სისტემა) და თქვენ გაქვთ ეკრანი (miniHDMI- ს საშუალებით), მაუსი და კლავიატურა დაკავშირებული. ასევე ვარაუდობენ, რომ WLAN– ის სწორად დაყენებული როუტერი ან ინტერნეტი. თუ სხვა რამ არ არის მითითებული, ყველა სამონტაჟო პროცედურა ტერმინალში ხორციელდება.

დააინსტალირეთ დისტანციური დესკტოპი (თქვენი კომპიუტერიდან PI– ზე შესასვლელად):

sudo apt-get განახლება

sudo apt-get

დააინსტალირეთ xrdp

ან ასევე შეგიძლიათ თავადაც იმუშაოთ ssh– ის საშუალებით (იხ. მაგ.

Პაროლის შეცვლა:

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

დააინსტალირეთ speedtest:

სუდო

apt-get დააინსტალირეთ python-pip

sudo pip დააინსტალირეთ speedtest-cli

შეამოწმოთ წარმატებულია თუ არა ინსტალაცია ტერმინალში Speedtest:

speedtest-cli

თუ ყველაფერი სწორია, თქვენ უნდა მიიღოთ მსგავსი რამ, როგორც ზემოთ მოცემულ სურათზე.

დააინსტალირეთ გაყვანილობა PI

sudo apt-get დააინსტალირეთ git-core

git კლონი git: //git.drogon.net/wiringPi

cd გაყვანილობა Pi

./ აშენება

(იხ. ასევე

ალტერნატიული:

sudo apt-get დააინსტალირეთ გაყვანილობა

(იხილეთ

დააინსტალირეთ BCM2835

(იხილეთ

ჩამოტვირთეთ bcm2835-1.60.tar.gz (ან უფრო ახალი ვერსია, თუ ეს შესაძლებელია)

tar zxvf bcm2835-1.60.tar.gz

cd bcm2835-1.60

./ კონფიგურაცია

გააკეთოს

sudo გააკეთე შემოწმება

sudo make install

დააინსტალირეთ პითონის გამოსახულების ბიბლიოთეკა

sudo apt-get დააინსტალირეთ პითონის გამოსახულება

ალტერნატიული:

sudo apt-get დააინსტალირეთ python-pil

ჩართეთ I2C ფუნქცია.

გაუშვით შემდეგი ბრძანება თქვენი Raspberry Pi დაფის კონფიგურაციისთვის:

sudo raspi-config

აირჩიეთ ინტერფეისის პარამეტრები-> I2C -> დიახ, I2C ძირითადი დრაივერის დასაწყებად. შემდეგ თქვენ ასევე გჭირდებათ კონფიგურაციის ფაილის შეცვლა. გაუშვით შემდეგი ბრძანება კონფიგურაციის ფაილის გასახსნელად:

sudo nano /etc /modules

დაამატეთ შემდეგი ორი ხაზი კონფიგურაციის ფაილში

i2c-bcm2708

i2c-dev

ასევე იხილეთ

ჩართეთ SPI ფუნქცია

გაუშვით შემდეგი ბრძანება თქვენი Raspberry Pi დაფის კონფიგურაციისთვის:

sudo raspi-config

აირჩიეთ ინტერფეისის პარამეტრები-> SPI -> დიახ, SPI ძირითადი დრაივერის დასაწყებად.

დააინსტალირეთ დამატებითი შრიფტები:

sudo apt-get install ttf-mscorefonts-installer

ჩამოტვირთეთ და დააინსტალირეთ შრიფტები (Roboto + Droid)

გკსუდო

pcmanfm

ფაილ მენეჯერის დასაწყებად root პრივილეგიებით და დააკოპირეთ truetype შრიფტები საქაღალდეში/usr/share/fonts/truetype

ალტერნატიული:

დააკოპირეთ შრიფტები ჩამოტვირთვების საქაღალდეში WinSCP– ით (ssh უნდა იყოს ჩართული WinSCP– ის გამოსაყენებლად)

sudo cp -r/home/pi/ჩამოტვირთვები/droid/usr/share/fonts/truetype

sudo cp -r/home/pi/ჩამოტვირთვები/roboto/usr/share/fonts/truetype

თქვენ გჭირდებათ root პრივილეგიები შრიფტის საქაღალდეზე წვდომისათვის. შეიძლება არსებობდეს ამის უკეთესი გზები (როგორც უკვე აღვნიშნე, მე არ ვარ Linux– ის ექსპერტი), მაგრამ ორივე გზა ჩემზე მუშაობდა.

პითონის ფაილები:

გამოიყენეთ filemanger ახალი საქაღალდის "bandwidth_monitor" შესაქმნელად

დააკოპირეთ ყველა ფაილი დირექტორიაში bandwidth_monitor

გააკეთეთ პითონის ფაილები და სკრიპტი შესრულებადი

chmod +x *.py

chmod +x speedtest-cron.sh

Crontab- ის კონფიგურაცია

crontab -e

Crontab გამოიყენება პროგრამის შესრულების დასაგეგმად მაგ. ყველაზე სწრაფი ტესტი ყოველ 30 წუთში. დაამატეთ შემდეგი ხაზები თქვენს crontab- ში (იხ. ასევე მეორე ფიგურა):

@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

დაგეგმილი ამოცანების აღწერა:

  • გადატვირთვისას გადატვირთვის შეტყობინება იწერება 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– ის გამოკითხვის დროს. გადატვირთვის შემდეგ killswitch_state არის მითითებული false და იქმნება ჩანაწერი დაფის ჟურნალის განყოფილებაში (მნიშვნელობა = 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 თქვენი ჟეტონით).

ყოვლისმომცველი გაკვეთილები, თუ როგორ უნდა ავაშენოთ დაფა და როგორ გავაერთიანოთ დაფა პითონის პროგრამაში, შეგიძლიათ იხილოთ პირდაპირ Ubidots გვერდზე (https://help.ubidots.com/en/) ან Google- ის საშუალებით.

ნაბიჯი 6: IOT დაფა

IOT დაფა
IOT დაფა

Ubidots– ის მასპინძელი დაფა (იხ. Https://ubidots.com) შეიცავს რამდენიმე სფეროს, რომლებიც მოკლედ არის აღწერილი ქვემოთ.

    1. Up- და გადმოტვირთვის სიჩქარის დროის თანმიმდევრობა. ყოველ ნახევარ საათში დიაგრამაში ჩნდება ახალი მნიშვნელობა.
    2. გაზომილი პინგ -დროის დროის კურსი. ყოველ ნახევარ საათში დიაგრამაში ჩნდება ახალი მნიშვნელობა.
    3. გადმოტვირთვის საშუალო სიჩქარის დროის თანმიმდევრობა. საშუალო ღირებულება 24 საათის განმავლობაში გამოითვლება და იწერება დიაგრამაზე.
    4. ცხრილების წარმოდგენა მიმდინარე გაზომვის მნიშვნელობებზე დროის შტამპის ჩათვლით.
    5. დისტანციური მართვის ღილაკი მოდემის გადატვირთვისთვის ინტერნეტით. შეკითხვა ხდება ყოველ 3 წუთში, ანუ შეიძლება გარკვეული დრო დასჭირდეს მოქმედების განხორციელებამდე.
    6. ბოლო გადატვირთვის ჩანაწერები გადატვირთვის მიზეზის ჩათვლით (დისტანციური გაშვება, ძაბვის გათიშვა ან დაკარგვა, მინიმალური გამტარუნარიანობაზე ნაკლები)

ყოვლისმომცველი გაკვეთილები, თუ როგორ უნდა ავაშენოთ დაფა და როგორ გავაერთიანოთ დაფა პითონის პროგრამაში, შეგიძლიათ იხილოთ პირდაპირ Ubidots გვერდზე (https://help.ubidots.com/en/) ან Google- ის საშუალებით.

გირჩევთ: