Мазмұны:
- Жабдықтар
- 1 -қадам: ерекшеліктері
- 2 -қадам: Сымдарды жалғау
- 3 -қадам: 3D басып шығару және қуғынды құру
- 4 -қадам: Raspberry PI орнату
- 5 -қадам: Бағдарламалық қамтамасыз ету
- 6 -қадам: IOT бақылау тақтасы
- 7 -қадам: Негізгі функцияларды енгізу
Бейне: Өткізу қабілеті мониторы: 7 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Мен өзімнен қазіргі уақытта Интернет -провайдерім қандай өткізу қабілеттілігін қамтамасыз ететінін сұрайтын кезде (мен Интернетке қосылу үшін LTE модемін қолданамын), мен өткізу қабілеттілігін бақылау жүйесі туралы ойладым. Жүйе ықшам және қуатты үнемдейтін болғандықтан, мен орталық компонент ретінде Raspberry Pi Zero таңдадым. Таңқурай модемге WLAN арқылы қосылған, сондықтан WLAN ақауларын да анықтауға болады.
Жабдықтар
- Raspberry Pi Zero WH
- Waveshare электрондық сия дисплейі (2,9 дюймдік қағаз-модуль)
- DC-DC түрлендіргіші (мысалы, DEBO DCDC 20W)
- RGB жарық диоды (ескі құрылғыдан шығарылған)
- Батырмаға басу
- Ауыстыру
- Relais модулі (мысалы, 2 Way Relay модулі2 Way Relay модулі)
- Еркек коннектор + аналық қосқыш (екеуі де модемнің қуат көзінің ашасына сәйкес келеді)
- 3D басып шығарылған корпус
1 -қадам: ерекшеліктері
- Raspberry Pi Zero WLAN арқылы қосылады, жүктеу мен жүктеу жылдамдығын тексереді және әр жарты сағат сайын пинг өлшеуін жүргізеді. Өлшеу үшін негіз ретінде speedtest.net пәрмен жолы нұсқасы қолданылады.
- Өткізу ені мен пинг өлшеу нәтижесі электрондық сия дисплейінде көрсетіледі. Өлшеу уақыты да көрсетіледі.
- Егер жүктеу жылдамдығы белгіленген шекті мәннен төмен болса, реле модемді қысқа уақытқа өшіреді және қосады. Модем осылайша құрылғыны өзгертпей қалпына келтіріледі (тек қуат көзі үзіледі).
- Құрылғының алдыңғы жағында өткізу қабілеттілігін өлшеуді қолмен іске қосу үшін түйме бар.
- Өлшенген мәндер Ubidots бақылау тақтасында (IOT порталы) көрсетіледі. Шолу кезінде сіз өлшенген мәндердің уақыт тарихын және соңғы қалпына келтірудің себептерін көре аласыз.
- IOT порталында модемді қашықтан қалпына келтіру батырмасын табуға болады.
- Bandwidth мониторы модемнің қуат көзін пайдаланады. Қосымша жеткізілім қажет емес. Реле қуат көзін модемге жіберуді тоқтатады - таңқурай қосулы күйінде қалады.
2 -қадам: Сымдарды жалғау
Бірінші суретте сіз өткізу қабілеті мониторының ішкі дизайнын көре аласыз:
Негізгі компоненттер:
- Батырмаға басу
- E-сия дисплейі
- Raspberry Pi Zero
- Реле модулі
- RGB LED + резисторлары (сіз қолданатын RGB светодиодына байланысты)
- Ауыстыру
- DC-DC түрлендіргіші
- Әйел қосқышы
Екінші суретте сымдардың схемасы көрсетілген. Қоректендіру кернеуінің оң полюсі тұрақты ток кернеуінің түрлендіргішіне (маршрутизатордың 12В кернеуін таңқурай үшін 5В-қа түрлендіретін) қосқыш арқылы және реле арқылы (қалыпты қосылған түйреуіш арқылы) қайта қосылады. шығыс қосқышы. Сонымен, өткізу қабілеттілігі мониторы өшірілгенде модемге қуат беріледі.
Өткізу жолағын өлшеуді түйме арқылы қолмен бастауға болады. Әр түрлі жұмыс күйін бейнелеу үшін RGB жарық диоды қолданылады.
Raspberry Pi мен электрондық сия дисплейі арасындағы байланыс схемада көрсетілмеген. Дисплейді кестеге және жоғарыдағы бекіткішке сәйкес қосыңыз.
3 -қадам: 3D басып шығару және қуғынды құру
Корпус үшін келесі бөліктер қажет (жоғарыдағы суретті қараңыз):
- төменгі бөлігі
- жоғарғы бөлігі
- алдыңғы
- артқа
- 4x бекіту
Барлық бөлшектерді тіректерсіз басып шығаруға болады. Сіз сонымен қатар Thingiverse -те файлдарды және менің басқа дизайнды таба аласыз:
Дисплейді алдыңғы панельге бекітпелермен және екі жақты таспамен бекітуге болады. Түймешік қосқышы мен аналық қосқыш артқы және артқы панельге бекітілген. Мен корпустың екі жартысын қосу үшін 3x20 мм бұрандаларды қолдандым. Алдыңғы және артқы панельдердің ойықтарына төзімділік салыстырмалы түрде тығыз. Қажет болса, алдыңғы және артқы панельдерді шетінен тегістеу керек (бетін бұзбау үшін ішкі жағынан).
4 -қадам: Raspberry PI орнату
Бұл орнату нұсқаулығы әр түрлі көздерден бірнеше орнату нұсқауларын құрастыруға негізделген (e-Ink дисплей өндірушілері, …). Мен үшін нұсқаулар қажетті нәтижеге әкелді. Мен Linux маманы болмағандықтан, ешқандай оңтайландыру немесе ұқсас жасалған жоқ. Мен жақсы және тиімдірек шешімдер бар екенін білемін.
Сізде Pi -де Raspbian орнатылған (негізгі операциялық жүйені орнату бойынша көптеген оқулықтар бар) және сізде дисплей (miniHDMI арқылы), тінтуір мен пернетақта қосылған деп есептейік. Маршрутизаторға немесе Интернетке дұрыс орнатылған WLAN байланысы да қабылданады. Егер басқаша көрсетілмесе, барлық орнату процедуралары терминалда орындалады.
Қашықтағы жұмыс үстелін орнатыңыз (PI -ге компьютерден кіру үшін):
sudo apt-get жаңартуы
sudo apt-get
xrdp орнатыңыз
немесе сіз ssh арқылы бассыз жұмыс жасай аласыз (мысалы, қараңыз
Құпия сөзді өзгерту:
www.raspberrypi.org/forums/viewtopic.php?t=193620
Speedtest орнатыңыз:
sudo
apt-get python-pip орнатыңыз
sudo pip орнату speedtest-cli
Терминалда Speedtest орнатудың сәтті болғанын тексеру үшін:
жылдамдық-клип
егер бәрі дұрыс болса, сіз жоғарыдағы бірінші суреттегідей нәрсені алуыңыз керек.
Сымды ПИ орнатыңыз
sudo apt-get install-core орнатыңыз
git clone git: //git.drogon.net/wiringPi
CD сымдарыPi
./құру
(https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/ қараңыз)
Балама:
sudo apt-get wiringpi орнатыңыз
(https://wiringpi.com/download-and-install/ қараңыз)
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 nano /etc /модульдер
Келесі екі жолды конфигурация файлына қосыңыз
i2c-bcm2708
i2c-dev
Сондай -ақ қараңыз
SPI функциясын қосыңыз
Raspberry Pi тақтасын конфигурациялау үшін келесі пәрменді орындаңыз:
sudo raspi-config
SPI негізгі драйверін іске қосу үшін Interface Options-> SPI -> yes таңдаңыз.
Қосымша қаріптерді орнатыңыз:
sudo apt-get ttf-mscorefonts-installer орнатыңыз
Қаріптерді жүктеңіз және орнатыңыз (Roboto + Droid)
gksudo
pcmanfm
Файлдық менеджерді түбірлік артықшылықтармен іске қосу және truetype қаріптерін/usr/share/fonts/truetype қалтасына көшіру үшін
Балама:
Қаріптерді WinSCP көмегімен Жүктеулер қалтасына көшіріңіз (WinSCP пайдалану үшін ssh қосылуы керек)
sudo cp -r/home/pi/downloads/droid/usr/share/font/truetype
sudo cp -r/home/pi/жүктеулер/roboto/usr/share/font/truetype
Қаріп қалтасына кіру үшін сізге root артықшылықтары қажет. Мүмкін, мұны істеудің жақсы әдістері бар (жоғарыда айтылғандай, мен Linux маманы емеспін), бірақ екі әдіс де мен үшін жұмыс істеді.
Python файлдары:
Жаңа «bandwidth_monitor» қалтасын жасау үшін файлды жібергішті қолданыңыз.
Bandwidth_monitor каталогына барлық файлдарды көшіріңіз
Python файлдары мен сценарийді орындалатын етіп жасаңыз
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 жарық диоды көк түске боялады. Егер өткізу қабілеттілігі таңдалған шекті мәннен жоғары болса, мән электрондық сия дисплейінде (уақыт белгісімен бірге) көрсетіледі және Ubidots бақылау тақтасына экспортталады. Егер өткізу қабілеттілігі шекті мәннен төмен болса, жарық диоды қызыл түске боялады және қысқа кідірістен кейін өлшеу қайталанады. 3 теріс әрекеттен кейін реле іске қосылады, осылайша модемнің қоректенуі үзіледі. Қалпына келтіру коды (мән = 2) журнал бөліміне жазылады.
poll_killswitch.py бақылау тақтасындағы логикалық айнымалының күйін оқиды. Егер killswitch_state рас болса, реле қосылады және модемнің қуат көзі үзіледі. RGB светодиоды өлтірушіге дауыс беру кезінде жасыл түске боялады. Қалпына келтіруден кейін killswitch_state жалған болып табылады және бақылау тақтасының журнал бөлімінде жазба жасалады (мән = 1).
poll_test_now_button.py корпустың алдыңғы панеліндегі батырманың басылуын күтеді. Түймені іске қосу арқылы өткізу қабілеттілігін өлшеу қолмен іске қосылады. Бағдарлама басталған кезде (Raspberry Pi қайта жүктелгенде) RGB светодиоды қызыл түспен жыпылықтайды.
post_restart_message.py қалпына келтіру кодын (мән = 3) бақылау тақтасының журнал бөліміне жазады. Бұл өткізу қабілеттілігі мониторының қайта қосылғанын көрсетеді. Бағдарламаны бастау кезінде RGB светодиоды көк түспен жыпылықтайды.
test_LED.py және test_relay.py - бұл RGB светодиоды мен реленің аппараттық функциясын тексеру үшін қолдануға болатын қарапайым сценарийлер.
epdconfig.py және epd2in9.py-Waveshare ұсынған электрондық сия дисплейі үшін құрылғы драйвері.
Бағдарламаларға Ubidots бақылау тақтасына кіруге рұқсат беру үшін жеке таңбалауыштар мен құрылғыны немесе айнымалы атауларды қосу қажет (егер сіз әр түрлі белгілерді қолдансаңыз). Жоғарыдағы суретте көрсетілгендей бөлімді іздеңіз (XXXXXXXX белгісімен ауыстырыңыз).
Бақылау тақтасын құру және бақылау тақтасын Python бағдарламасына біріктіру бойынша толық нұсқаулықтарды Ubidots бетінде (https://help.ubidots.com/kz/) немесе Google арқылы табуға болады.
6 -қадам: IOT бақылау тақтасы
Ubidots орналастырған бақылау тақтасында (https://ubidots.com қараңыз) төменде қысқаша сипатталған бірнеше аймақ бар.
- Жоғары және жүктеу жылдамдығының уақыт реттілігі. Әр жарты сағат сайын диаграммаға жаңа мән енгізіледі.
- Өлшенген пинг уақытының уақыттық жүрісі. Әр жарты сағат сайын диаграммаға жаңа мән енгізіледі.
- Орташа жүктеу жылдамдығының уақыт реттілігі. 24 сағат ішінде орташа мән есептеледі және диаграммаға жазылады.
- Уақыт белгісін қосқандағы ағымдағы өлшеу мәндерінің электрондық кесте көрінісі.
- Модемді Интернет арқылы қалпына келтіруге арналған қашықтан басқару түймесі. Сұрау әр 3 минут сайын орын алады, яғни әрекет орындалғанша біраз уақыт кетуі мүмкін.
- Қалпына келтіру себебін қоса, соңғы қалпына келтірулерді тіркеу (қашықтан іске қосу, өшіру немесе кернеудің жоғалуы, ең төменгі өткізу жолағынан төмен түсу)
Бақылау тақтасын құру және бақылау тақтасын Python бағдарламасына біріктіру бойынша толық нұсқаулықтарды Ubidots бетінде (https://help.ubidots.com/kz/) немесе Google арқылы табуға болады.
Ұсынылған:
Есту қабілеті нашарларға арналған теңдестірілген құлаққап күшейткіші: 10 қадам (суреттермен)
Есту қабілеті нашарларға арналған теңдестірілген құлақаспап күшейткіші: Менің қажеттіліктерім Бірнеше ай бұрын маған дыбыстардың өшуі мен силлиланттарды ажыратуда қиындық тудыратын жоғары жиілікке сезімталдықтың жоғалуын өтейтін есту аппараттары орнатылған (мысалы, «S» және «F») . Бірақ көмек көрсетпейді
Үлкен би кешін өткізу: 6 қадам
Үлкен би кешін өткізу: Көңіл көтеру әр түрлі болады, бірақ адамдар бір нәрсені қайта -қайта орындаудан шаршайды, сондықтан олар келуді тоқтатады. Неліктен достарыңыздың/қонақтардың көңілін көтерудің жаңа әдісімен оларды қайта оралуға мүмкіндік бермеске? Би кеші - бұл ештеңе емес
Есту қабілеті нашар адамдарға қоңырау шалу: 7 қадам (суреттермен)
Есту қабілеті бұзылған есік қоңырауының бөлмесі Light Hack: Мәселе: менің әкем саңырау болып есепте тұрады, ал анамның есту қабілеті нашар, сондықтан оларға есік қоңырауын есту қиынға соғады. Бұл көптеген басқа адамдарға да қиындық туғызуы мүмкін, олар оларға көмектесу үшін жыпылықтайтын жарық қоңырау сатып алды
АТЛАС ӨТКІЗУ СЕНСОРЫНЫҢ АВТОМАТТЫ ТЕМПЕРАТУРАСЫН ӨТЕУ: 4 қадам
АТЛАСТЫҢ ӨТКІЗУ СЕНСОРЫНЫҢ АВТОМАТТЫ ТЕМПЕРАТУРАСЫН ӨТЕУ: Бұл жобада біз Atlas Scientific -тің өткізгіштік сенсорына автоматты түрде температураны өтейтін боламыз. Температураның өзгеруі сұйықтықтардың өткізгіштігіне/жалпы еріген қатты заттарға/тұздылығына әсер етеді және оны өтеу арқылы біз
PiTextReader-көру қабілеті бұзылған кезде құжаттарды оңай оқу құралы: 8 қадам (суреттермен)
PiTextReader-көру қабілеті нашарларға арналған құжаттарды оңай оқу құралы: Шолу Шолу Жаңартылған: Қысқа бейне демонстрация: https://youtu.be/n8-qULZp0GoPiTextReader көру қабілеті нашар адамға конверттерден, хаттардан және басқа элементтерден мәтінді «оқуға» мүмкіндік береді. Ол элементтің суретін түсіреді, OCR көмегімен қарапайым мәтінге түрлендіреді (Optical Char