Мазмұны:

1984 WeatherMan Pi: 7 қадам (суреттермен)
1984 WeatherMan Pi: 7 қадам (суреттермен)

Бейне: 1984 WeatherMan Pi: 7 қадам (суреттермен)

Бейне: 1984 WeatherMan Pi: 7 қадам (суреттермен)
Бейне: The Giant Wave - The Perfect Storm (3/5) Movie CLIP (2000) HD 2024, Қараша
Anonim
Image
Image
1984 Ауа райы Man Pi
1984 Ауа райы Man Pi
1984 Ауа райы Man Pi
1984 Ауа райы Man Pi

Бұл портативті кассеталық ойнатқыш қазір 80 -ші жылдардың басындағы IoT ауа райы дисплейі болып табылады, онда «қазіргі жағдайлар» анимациясы, айналдыру температурасы мен жаңбыр ықтималдығы графигі таспа терезесінен көрсетіледі. Ауа райы жағдайы өзгергенде, серво басқарылатын құлаққаптар жоғарыға және артқа айналады, бұл ескерту ретінде.

Функционалды таспалы есікті ашқанда, шаңды түпнұсқа компоненттер Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) және шағын сервоға ауыстырылғанын көреміз. Ауа райы туралы мәліметтер менің нақты орналасқан жеріме сәйкес келетін Dark Sky Weather API-ді сұрайтын Python сценарийі арқылы алынған.

Бұл қарапайым, бірақ әдемі және функционалды IoT қондырғысы, ол менің YouTube есептегішімнің қарама-қарсы үстелінің динамигінде орналасқан, мені ауа райы туралы үнсіз хабардар етеді.

Жабдықтар

Raspberry Pi Zero

Pimoroni Unicorn HAT HD

Кішкене сервис

1984 Hitachi SP-1 жеке стерео және құлаққаптар

USB WiFi адаптері

2 мм бұрандалы штанга

Сугру (қара және сұр)

GeoMag магниті

1 -қадам: таспаны жұлу

Таспаны жырту
Таспаны жырту
Таспаны жырту
Таспаны жырту
Таспаны жырту
Таспаны жырту

Маған қыркүйек айында қайын енем осы әдемі ескі кассетаны сыйға тартты, мен оның бейнесі мен түйме түймелеріне бірден ғашық болдым. Нағыз тартымдылық - бұл үлкен таспалы терезе болды - шамамен 15 секундтан кейін менде сызғыш болды, мен оның Raspberry Pi HAT стандартты өлшемімен бірдей екеніне таң қалдым.

Осы жаңалықтың өзі менің кукук сағаты жобасын «істеу» тізіміне түсіруге жеткілікті болды, мен ойнатқышты бөлшектеу арқылы бірден жұмысқа кірістім.

Жою өте жақсы өтті, мен үш түрлі бөліктермен жұмыс жасадым - мен пластикалық бөлшектерді сындыра алдым, бірақ бір -біріне жабыстыруға болмайтын ештеңе жоқ.

2 -қадам: Dark Sky Pi

Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi

Мен телефонымда Dark Sky -ды біраз уақыт қолдандым және болжамдардың дәлдігіне шынымен де таң қалдым, сондықтан мен олардың осы жобада қолдануға болатын жан -жақты API ұсынатынына қуаныштымын. жоғары да!

Алдымен https://darksky.net/dev сайтына өтіңіз және ақысыз есептік жазбаға тіркеліңіз - «сынақ» есептік жазбасы күніне 1000 API сұранысын жасауға мүмкіндік береді, бұл әр 1,5 минут сайын жаңарту үшін жеткілікті - мен үшін де жиі жеткілікті. Британдық ауа райының деңгейі.

Тіркелгеннен кейін сіз «Құпия кілтке» ие боласыз - бұл деректерге қол жеткізу үшін қажет және ол Python сценарийінде пайдаланылады, сондықтан оны қолда ұстаңыз (және, құпия).

Мен API деректерін алу үшін Python -дағы сұраулар модулін қолданатын YouTube Subscriber Counter құрастыруында қолданған сценарийді бейімдей бастадым. Мен қолданған сценарий GitHub -да, сіз тек Dark Sky API кілтін қосуыңыз керек және, әрине, өзіңіздің Latitude & Longitude мәндерін ауыстыруыңыз керек.

Ағымдағы ауа райы жағдайлары туралы мәліметтерді алып тастау өте қарапайым болды, мен «Белгіше», «Жауын -шашын ықтималдығы» және «Температура» элементтерін қолдануды шештім.

3 -қадам: Кодекс

Кодекс
Кодекс

Егер сіз мен қолданған кодты қайта қолданғыңыз келсе немесе трамплиннен шыққыңыз келсе, ол GitHub - клондағы WeatherMan репозиторийінде немесе «ауа райы» қалтасын Raspberry Pi ішіндегі «pi» қалтасына жүктеңіз.

Сценарийдің негізгі функциялары келесідей:

ауа райы қызметкері

Бұл Dark Sky -дан ауа райы туралы мәліметтерді шығаратын негізгі сценарий. Сізге https://darksky.net/dev сайтында Dark Sky есептік жазбасын орнату керек және құпия кілтті көрсетілген сценарийге енгізу қажет. Сізді қызықтыратын ауа райының ені мен бойлығын енгізу қажет болады - оны Google Maps -те табуға болады, оны тінтуірдің оң жақ түймесімен басып, «Мұнда не бар?» және сіз орналасқан жердің ұзын/ұзындығын көрсететін қалқымалы терезені аласыз.

API деректерін алғаннан кейін weatherman.py анимациялар мен құлаққаптардың дыбыстарын өшіру үшін параметрлерді бірнеше кіші сценарийлерге береді.

Сценарий іске қосу файлын өңдеу арқылы іске қосылады …

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

… Және қосу:

@python3 /home/pi/weather/weatherman.py &

файлдың соңында.

icon.py

Бұл сценарий weatherman.py сценарийінен «ағымдағы шарттар» параметрін алады және оны 16x16 ауа райы анимациясын көрсету үшін қолданады - олардың барлығы «белгішелер» қалтасында сақталған және Unicorn HAT HD стандартты құжаттамасының бөлігі болып табылады.-p.webp

телефондар.py

Егер ауа райы шарттары соңғы API сұранысынан өзгерген болса (немесе бұл жаңа етік, бірақ қар жаумайды), онда бұл сценарий weatherman.py сайтынан шақырылады және шарттар бар екенін ескерту үшін сервоға алға -артқа «жылжу» нұсқауын береді. өзгерді.

precip.py

Бұл сценарий weatherman.py «жауын -шашын ықтималдығы» параметрін қабылдайды және % ықтималдығына қатысты Unicorn HAT -те көк түспен сызықтарды көрсетеді. Егер 100% барлық 16 жол көк түспен жанып тұрса, 50% 8 жолдан тұрады.

temp.py

Басқа стандартты Pimoroni сценарийі, бұл weatherman.py «temp» параметрін алады және оны айналдыратын мәтінмен көрсетеді. Ол Herkules трютипті қаріпін қолдануға арналған («қаріптер» қалтасында), бірақ қаласаңыз, стандартты қаріпті қолдана аласыз. Тіпті температураның мәніне байланысты түсі өзгеретін етіп оны жақсарта аласыз!

4 -қадам: қалпақ пен серво

Жалғыз мүйізді HAT & Servo
Жалғыз мүйізді HAT & Servo
Жалғыз мүйізді HAT & Servo
Жалғыз мүйізді HAT & Servo
Жалғыз мүйізді HAT & Servo
Жалғыз мүйізді HAT & Servo

Ауа райы туралы деректерді ұстау өте жақсы болды, бірақ енді мен оны Unicorn HAT -те көрсетуім керек болды. Мен Интернеттегі ауа -райы белгішелерінің әр түрлі жиынтығын қарадым және оларды бейімдеу кезінде жартылай болды, мен Pimoroni құжаттамасында ауа райы туралы мысал бар екенін түсіндім - бұл ауа райы анимациялары!

Бұл жұмыстың үлкен көлемін үнемдеді, мен тез арада іске қосылдым, қазіргі жағдайға арналған анимациялық белгіше, температураға арналған жылжымалы мәтін және жауын -шашынның % графигі (кейбір жеңіл математикаға қатысты). Мен сценарийлерді бөлек ұстадым және параметрлерді ары -бері беру үшін Python ішкі процесс модулін қолдандым.

Серво қосу бұл ескертулер үшін ең жақсы көлік болды, өйткені ол аздап шу шығарады және тым тітіркендірместен көз тартады. HAT көптеген Pi түйреуіштерін алғаннан кейін мен серво кабельдерін тақтаның астына дәнекерледім, пульстің ені модуляциясын қолдана отырып, серво қозғалысын басқару үшін 17 -пинді қолдандым.

Сервиден Pi -ден қуат алу идеалды емес, бірақ ол тек бір сәтке ғана пайдаланылатын болады, сондықтан дәлдікте бұл маңызды емес. Ол диаграммада көрсетілгендей қоңыр кабельмен GND -ге, қызылдан 5v -ге дейін және апельсинмен (басқару кабелі) GPIO17 -ге қосылды.

Ақырында мен GIMP -те ауа райына арналған анимациялық файлдарды өңдедім, олар менің жеке әсерлерімді қосады, мысалы, айдағы жарғанаттар мен күндегі смайлик. Мен сонымен қатар «Old Tech New Spec» кассеталық анимациясын іске қосу кезінде ойнау үшін қосатынмын.

5 -қадам: Құлаққаптың дірілі

Құлаққаптар
Құлаққаптар
Құлаққаптар
Құлаққаптар
Құлаққаптар
Құлаққаптар
Құлаққаптар
Құлаққаптар

WeatherMan -дің идеясы - бұл менің динамикте пассивті түрде отыра отырып, анда -санда ауа -райын көрсетеді, бірақ мен оның сәл көбірек болғанын қалаймын! Онымен бірге келген құлаққаптар тосттар болды, бірақ 80 -ші жылдардағы классикалық, сондықтан мен олармен бірдеңе жасауды шештім. Барлық кабельді алып тастап, сынған бөлігін ыстық желіммен жапқаннан кейін менде үш бөлік қалды, 3,5 мм штепсель, алмас тәрізді түйме және телефондардың икемді металл таспасы.

Егер мен телефондарды құрылғының үстіне орнатудың қандай да бір әдісін тапсам, оларды серво көмегімен алға -артқа айналдыруға және оны қосымша хабарландыру ретінде қолдануға болатынын ойладым.

Алдымен мен 3,5 мм штепсельді бұрғылап алмазды ажыратқышты бөлшектедім, содан кейін оларды бұрандалы штанганың бір бөлігіне сырғыттым. Содан кейін мен гайканы пластикалық қосқышқа жапсырдым, осылайша таяқша серво үстінде сенімді (және түзу) отыра алады. Таяқтың екінші ұшына мен басқа гайканы қостым. Ақырында мен таяқшаның жоғарғы жағын құлаққапқа байлау үшін, сондай -ақ жинақтың төменгі жағындағы гайканы жабу үшін сұр Sugru қолдандым. Егер сіз Сугру туралы естімеген болсаңыз, бұл ұсақ түсті пакеттерге құйылатын желім - бұл Play -Doh тәрізді пішіндейді, бірақ супплэйк сияқты жабысады және пластик тәрізді қатты жиналады!

Жақында суық ауа райында Sugru бірнеше күн бойы толық қата бастады, бірақ құлаққаптар мен олардың тірегі көп ұзамай соңғы жинауға дайын болды.

6 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Pi, HAT және Servo барлығы орындықта жақсы жұмыс істеді, сондықтан келесі жұмыс оларды іске қосу болды. Үлкен компоненттерді бастамас бұрын мен косметиканы сұрыптау үшін дыбыс қаттылығын, құлаққап розеткасын және «металл таспалы» қосқышты бекіту үшін сұр түсті Sugru-ді қолдандым. Мен сондай -ақ, түпнұсқалық Play, Stop, FF & Rew түймелерін пластикалық құбырға жапсырдым, олар дұрыс жерде қалады. Бұл жолы ешбір түймені қайта қолданбау ұят болды, бірақ олар басқаратын ештеңе болмады!

Мен сұр Sugru -дің соңғысын сервоны орнында ұстау үшін қолдандым, оның білігі құлаққаптың үлкейтілген ұясынан өтеді. Корпустың екінші жартысына көшкенде, мен HAT пен Pi жинағын таспаның есігіне бекіту үшін бірнеше қара Sugru қолдандым, олар онымен ашылады. Мен есікті мықтап жабу үшін GeoMag магнитіне бекітуді ұнатамын.

Екі бөлікті біріктіру - бұл жүйке ісі, мен Pi & Servo бір -біріне қарсы шығады деп қорқатынмын, бірақ соңында менің кітабымда миллиметрге жуық бос орын қалды. Қызықты ашылатын есік болашақта қызмет көрсету үшін интерьерге толық қол жеткізуге мүмкіндік беретіндіктен, мен екі бөлікті ыстық желіммен жапсырдым, ал майлы саусақ іздерімді сүрткеннен кейін құлаққаптар жиынтығы жоғарыға орнатылды!

7 -қадам: тыныш тыныштық

Тыныштыққа бой алдыру
Тыныштыққа бой алдыру
Тыныштыққа бой алдыру
Тыныштыққа бой алдыру

Қайта пайдалану байқауының екінші жүлдесі

Ұсынылған: