Мазмуну:

1984 WeatherMan Pi: 7 кадам (сүрөттөр менен)
1984 WeatherMan Pi: 7 кадам (сүрөттөр менен)

Video: 1984 WeatherMan Pi: 7 кадам (сүрөттөр менен)

Video: 1984 WeatherMan Pi: 7 кадам (сүрөттөр менен)
Video: The Giant Wave - The Perfect Storm (3/5) Movie CLIP (2000) HD 2024, Ноябрь
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan 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

Small Servo

1984 Hitachi SP-1 Жеке стерео жана гарнитура

USB WiFi адаптери

2mm Threaded Rod

Сугру (Кара жана Боз)

GeoMag магнит

1 -кадам: Тасманы айруу

Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown

Сентябрда кайын энем мага бул сүйкүмдүү эски кассета ойноткучту берди жана ошол замат анын каймана түрүнө жана тыкан баскычтарына ашык болуп калдым. Чыныгы кызыкчылык - бул чоң лента терезеси - 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" папкасына жүктөп алыңыз.

Негизги скрипт функциялары төмөнкүлөр:

weatherman.py

Бул Dark Skyден аба ырайы маалыматын чыгаруучу негизги скрипт. Сиз https://darksky.net/dev дарегине Dark Sky эсебин орнотушуңуз керек жана жашыруун ачкычыңызды көрсөтүлгөн жерге киргизиңиз. Сизди кызыктырган аба ырайынын кеңдигин жана узунун жазууңуз керек - муну Google Карталардан табууга болот, оң баскыч менен чыкылдатып, "Бул жерде эмне бар?" жана сиз жайгашкан жердин узундугун көрсөтүүчү калкыма терезе аласыз.

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 -кадам: Unicorn HAT & Servo

Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo
Unicorn HAT & Servo

Аба ырайы маалыматын кармап туруу абдан сонун болчу, бирок азыр аны Unicorn HATке көрсөтүү керек болчу. Мен интернеттеги аба ырайынын сүрөтчөлөрүнүн ар кандай топтомун карап чыктым жана Пиморонинин документтеринде аба ырайынын мисалы бар экенин түшүнгөндө, буларды адаптациялоонун жарымын кылдым - бул аба ырайы анимацияларын камтыйт!

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

Сервону кошуу бул эскертүүлөр үчүн идеалдуу унаа болчу, анткени ал бир аз ызы-чуу чыгарат жана өтө кыжырдантпастан көзгө урунат. HAT мурунтан эле Пи казыктарынын көбүн тартып алгандыктан, мен серво кабелдерин тактанын астына soldum.

Пиодон сервону иштетүү идеалдуу эмес болчу, бирок ал бир азга гана колдонулат, андыктан тактык бул жерде анча деле маанилүү эмес. Ал диаграммада көрсөтүлгөндөй Браун кабели менен GNDге, Кызылдан 5vка чейин жана Orange (башкаруу кабели) GPIO17 менен туташкан.

Акырында мен GIMPдеги аба ырайы анимация файлдарын түзөтүп, айдагы жарганаттар жана күндөгү жылмайган бет сыяктуу өзүмдүн жеке тийүүмдү коштум. Мен жөн эле көңүл ачуу үчүн, стартапта ойной турган "Old Tech New Spec" кассеталык дөңгөлөк анимациясын коштум.

5 -кадам: Кулакчындын үнү

Наушник Jiggle
Наушник Jiggle
Наушник Jiggle
Наушник Jiggle
Наушник Jiggle
Наушник Jiggle
Наушник Jiggle
Наушник Jiggle

WeatherManдин идеясы столдун спикерине пассивдүү түрдө отуруп, кээде аба ырайын көрсөтүп туруу болчу, бирок мен анын бир аз көбүрөөк болушун кааладым! Аны менен келген гарнитура тост, бирок классикалык 80 -жылдар болчу, ошондуктан алар менен бир нерсе кылууну чечтим. Бардык кабелдерди сыйрып алып, сынганын ысык желимдеп жапкандан кийин менде үч бөлүк калды, 3,5 мм штепсель, алмаз формасындагы баскыч жана телефондордун ийкемдүү металл тобу.

Мени ойлондурду, эгерде мен телефондорду бирдиктин үстүнө орнотуунун кандайдыр бир жолун таба алсам, анда мен аларды серво менен артка жана артка буруп, кошумча билдирүү катары колдоно алам.

Биринчиден, мен 3,5 мм сайгычты тешип чыгып, бриллиант өчүргүчтү демонтаждадым, андан кийин аларды сайылган таяктын бир бөлүгүнө жылдырдым. Кийинчерээк мен гайканы пластикалык туташтыргычка чаптадым, ошондо таяк сервонун үстүндө коопсуз (жана түз) отура алат. Таяктын экинчи учунда мен дагы бир жаңгакты коштум. Акыры мен боз Сугруну таяктын үстүн наушникке байлап, ошондой эле жыйындын түбүндөгү гайканы жабуу үчүн колдондум. Эгерде сиз Сугру жөнүндө уккан эмес болсоңуз, анда ал кичинекей түстүү пакеттерге келет - бул Play -Doh сыяктуу калыпташат, бирок супер клей сыяктуу жабышып, пластмассадай катуу болуп калат!

Акыркы суук аба ырайы менен Сугру бир нече күндүн ичинде толук катып калды, бирок кулакчындар жана алардын стенддери жакында жыйынтыктоого даяр болушту.

6 -кадам: Ассамблея

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

Pi, HAT жана Servo баары отургучта жакшы иштеп жатышкандыктан, кийинки жумуш аларды ишке киргизүү болчу. Чоң компоненттерди баштоодон мурун мен косметикалык каражаттарды иреттөө үчүн, боз түстөгү Сугруну үн баскычын, гарнитуранын розеткасын жана "металл лентасын" алмаштырууну колдондум. Мен ошондой эле оригиналдуу Play, Stop, FF & Rew баскычтарын пластикалык каналга чаптап койгом, алар туура жерде калышат. Бул жолу эч кандай баскычты кайра колдонбоо уят болчу, бирок аларды көзөмөлдөөгө эч нерсе жок болчу!

Мен боз Сугрунун акыркысын сервону кармап туруу үчүн колдонгом, анын огу чоңойтулган гарнитуранын оюгу аркылуу өтөт. Корпустун экинчи жарымына өтүп, мен HAT жана Pi курамын скотчтун эшигине бекитүү үчүн кара сугруну колдондум, алар аны менен ачылат. Акыркы кичине тийүү мага абдан жакты - эшикти бекем жабуу үчүн GeoMag магнитине бекитүү.

Эки бөлүктү бириктирүү нервдүү бизнес болчу, анткени мен Pi & Servo бири -бири менен кагылышып кетет деп коркчумун, бирок аягында менин китебимде миллиметрге жакын боштук калды. Кызык ачылуучу эшик келечекке тейлөө үчүн интерьерге толук кирүүгө мүмкүндүк бергендиктен, мен эки жарымын ысык желимдедим, жана майлуу манжаларымдын изин аарчыгандан кийин гарнитуранын үстүнө орнотулду - бүттү!

7 -кадам: тынч тынчсыздануу

Quiet Obsession
Quiet Obsession
Quiet Obsession
Quiet Obsession

Кайра колдонуу сынагынын экинчи сыйлыгы

Сунушталууда: