Բովանդակություն:
- Պարագաներ
- Քայլ 1: Կասետային արցունքաբերություն
- Քայլ 2: Dark Sky Pi
- Քայլ 3: Կոդ
- Քայլ 4: Միաեղջյուր HAT & Servo
- Քայլ 5: Ականջակալների կծկում
- Քայլ 6: Հավաքում
- Քայլ 7: Հանգիստ մոլուցք
Video: 1984 WeatherMan Pi: 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Այս շարժական ձայներիզը ներկայումս շրջակա միջավայրի IoT եղանակի ցուցադրում է `վաղ 80 -ականների ոճով, որը ցուցադրում է« ընթացիկ պայմանների »անիմացիա, ջերմաստիճանի ոլորման և անձրևի հավանականության գրաֆիկը ժապավենի պատուհանից: Երբ եղանակային պայմանները փոխում են վերևում գտնվող servo- ով կառավարվող ականջակալները, որպես նուրբ ազդանշան, շարժվում են առաջ և առաջ:
Ֆունկցիոնալ ժապավենի դուռը բացելով `մենք կարող ենք տեսնել, որ փոշոտ օրիգինալ բաղադրիչները փոխարինվել են Raspberry Pi Zero W- ով, Pimoroni Unicorn Hat HD- ով (LED մատրիցով) և մի փոքր սերվոյով: Եղանակի տվյալները ստացվել են Python սցենարով, որը հարցնում է ծայրահեղ ճշգրիտ Dark Sky Weather API- ն ՝ հարմարեցված իմ կոնկրետ վայրին:
Դա պարզ, բայց գեղեցիկ տեսք ունեցող և ֆունկցիոնալ IoT սարք է, որը նստած է իմ նստարանի հակառակ նստարանի բարձրախոսին ՝ հանգիստ տեղեկացնելով ինձ եղանակի մասին:
Պարագաներ
Ազնվամորի Պի eroրո
Pimoroni միաեղջյուր HAT HD
Փոքր սերվո
1984 Hitachi SP-1 Անձնական ստերեո և ականջակալներ
USB WiFi ադապտեր
2 մմ ակոսավոր ձող
Sugru (սև և մոխրագույն)
GeoMag մագնիս
Քայլ 1: Կասետային արցունքաբերություն
Իմ սկեսուրիս կողմից սեպտեմբերին ինձ տրվեց այս գեղեցիկ հին ձայներիզը և անմիջապես սիրահարվեցի նրա պատկերանշանային տեսքին և կոճակներին: Իրական վիճակահանությունը, այնուամենայնիվ, այդ մեծ ժապավենի պատուհանն էր. Մոտ 15 վայրկյան տիրանալուց հետո ես հանեցի մի քանոն և ապշեցի, երբ պարզեցի, որ այն, մմ -ի չափ, նույն չափի է, ինչ ստանդարտ Raspberry Pi HAT- ը (Սարքավորումը կցված է վերևում):
Միայն այդ հայտնագործությունը բավական էր, որ իմ «կուկու» ժամացույցի նախագիծը հետագայում «անելիքների» ցուցակից ներքև ընկներ, և ես անմիջապես սկսեցի աշխատել ՝ խաղացողը ապամոնտաժելով:
Արցունքի կաթիլը բավականին լավ անցավ, և ես ավարտեցի երեք տարբեր կտորներով, որոնցով ես կարողացա կոտրել մի քանի պլաստմասե մասեր, բայց ոչինչ, որը հնարավոր չէր սոսնձել միասին:
Քայլ 2: Dark Sky Pi
Ես որոշ ժամանակ օգտագործում էի Dark Sky- ը իմ հեռախոսում և իսկապես տպավորված էի կանխատեսումների ճշգրտությամբ, այնպես որ ես ուրախացա, որ նրանք առաջարկում են համապարփակ API, որը ես կարող էի օգտագործել այս նախագծում: Հաճելի է և պարզ նույնպես վեր!
Նախ գնացեք https://darksky.net/dev և գրանցվեք անվճար հաշվի համար. «Փորձնական» հաշիվը թույլ է տալիս օրական կատարել 1000 API հարցում, ինչը բավարար է յուրաքանչյուր 1,5 րոպեն մեկ թարմացնելու համար, հաճախ բավական է նույնիսկ իմ Եղանակի մոլուցքի բրիտանական մակարդակը:
Գրանցվելուց հետո դուք կստանաք «Գաղտնի բանալին». Սա այն է, ինչ ձեզ հարկավոր է տվյալներին մուտք գործելու համար և օգտագործվում է Python սցենարում, այնպես որ այն հարմար պահեք (և, գիտեք, գաղտնի):
Սկսեցի ՝ հարմարեցնելով սցենարը, որն օգտագործել եմ YouTube բաժանորդների հաշվիչի հաշվարկում, որն օգտագործում է Python- ի «Պահանջներ» մոդուլը ՝ API- ի տվյալները առբերելու համար: Իմ օգտագործած սցենարը GitHub- ում է, պարզապես անհրաժեշտ է ավելացնել ձեր Dark Sky API ստեղնը և, իհարկե, փոխարինել ձեր լայնության և երկայնության ձեր արժեքները:
Եղանակի ներկա պայմանների վերաբերյալ տվյալները հանելը բավականին պարզ էր, և ես որոշեցի օգտագործել «Պատկերակ», «Տեղումների հավանականություն» և «peratերմաստիճան» տարրերը:
Քայլ 3: Կոդ
Եթե ցանկանում եք կրկին օգտագործել կամ ցատկել իմ օգտագործած ծածկագիրը, այն գտնվում է GitHub- ի WeatherMan շտեմարանում `կլոնավորեք կամ ներբեռնեք« եղանակ »թղթապանակը ձեր Raspberry Pi- ի« pi »պանակում:
Սցենարի հիմնական գործառույթները հետևյալն են.
weatherman.py
Սա հիմնական սցենարն է, որը քաղում է եղանակի տվյալները Dark Sky- ից: Դուք պետք է ստեղծեք Dark Sky հաշիվ https://darksky.net/dev հասցեով և ձեր Գաղտնի բանալին տեղադրեք այն սցենարում, որտեղ նշված է: Դուք նաև պետք է նշեք ձեզ հետաքրքրող եղանակային վայրի լայնությունը և երկայնությունը. Սա կարելի է գտնել Google Քարտեզներում, պարզապես աջ սեղմեք և ընտրեք «Ի՞նչ է այստեղ»: և դուք կստանաք թռուցիկ, որը ցույց է տալիս գտնվելու վայրի լատ/երկարությունը:
API- ի տվյալները ստանալուց հետո weatherman.py- ն պարամետրերը փոխանցում է մի քանի փոքր սցենարների `անիմացիաներն ու ականջակալների խռխռոցը սկսելու համար:
Սցենարը գործարկվելու է գործարկման ժամանակ ՝ գործարկման ֆայլը խմբագրելով…
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… Եվ ավելացնելով.
@python3 /home/pi/weather/weatherman.py &
ֆայլի վերջում:
icon.py
Այս սկրիպտը weatherman.py սցենարից վերցնում է «ընթացիկ պայմաններ» պարամետրը և օգտագործում է այն 16x16 եղանակի անիմացիա ցուցադրելու համար. Դրանք բոլորը պահվում են «պատկերակներ» թղթապանակում և մաս են կազմում միաեղջյուր HAT HD ստանդարտ փաստաթղթերի: Դուք կարող եք հեշտությամբ խմբագրել-p.webp
հեռախոսներ. py
Եթե եղանակային պայմանները փոխվել են API- ի վերջին խնդրանքից (կամ դա թարմ բեռնախցիկ է և ձյուն չի գալիս), ապա այս սցենարը կոչվում է weatherman.py- ից և սերվոյին հրահանգում է «խռխռալ» հետ ու առաջ ՝ նախազգուշացնելու ձեզ, որ պայմանները փոխվել է:
precip.py
Այս սցենարը weatherman.py- ից ընդունում է «տեղումների հավանականության» պարամետր և միապաղաղ գլխարկի վրա կապույտ գծեր է ներկայացնում ՝ հավանականության % -ի վերաբերյալ: Եթե 100% -ով բոլոր 16 տողերը կապույտ փայլեն, եթե 50% -ը միայն 8 տող և այլն:
temp.py
Մեկ այլ ստանդարտ Pimoroni սցենար, սա վերցնում է «temp» պարամետր weatherman.py- ից և ցուցադրում այն ոլորման տեքստով: Նախատեսված է օգտագործել Herkules truetype տառատեսակը («տառատեսակներ» թղթապանակում), բայց եթե նախընտրում եք, կարող է օգտագործել ստանդարտ տառատեսակ: Դուք նույնիսկ կարող եք այն բարձրացնել, որպեսզի ցուցադրվող տեքստը փոխի գույնը `կախված ջերմաստիճանի արժեքից:
Քայլ 4: Միաեղջյուր HAT & Servo
Եղանակի տվյալներին տիրապետելը հիանալի էր, բայց հիմա պետք էր դրանք ցուցադրել Միաեղջյուրի գլխարկի վրա: Ես նայեցի եղանակի պատկերակների տարբեր հավաքածուներ ինտերնետում և կես ճանապարհ անցա դրանք հարմարեցնելով, երբ հասկացա, որ Պիմորոնիի փաստաթղթերում ներառված է եղանակի օրինակ, և դա ներառում էր եղանակային անիմացիաներ:
Սա հսկայական աշխատանք էր խնայում, և ես արագ և արագ աշխատում էի ՝ ներկայիս պայմանների համար անիմացիոն պատկերակով, ջերմաստիճանի որոշ ոլորվող տեքստով և % տեղումների համար գրաֆիկով (որը ներառում էր թեթև մաթեմատիկա): Ես պահեցի սցենարները առանձին և օգտագործեցի Python- ի Subprocess մոդուլը ՝ պարամետրերը այս ու այն կողմ փոխանցելու համար:
Այս ազդանշանների համար իդեալական փոխադրամիջոց էր սերվոյի ավելացումը, քանի որ այն մի փոքր աղմուկ կբարձրացներ և աչքի կընկներ `առանց չափազանց նյարդայնացնելու: Երբ HAT- ն արդեն վերցրել էր Pi- ի բազմաթիվ կապում, ես servo մալուխները սոսնձեցի տախտակի ներքևի մասում ՝ օգտագործելով Pin 17 -ը `սերվոյի շարժումը վերահսկելու համար` օգտագործելով Pulse Width Modulation- ը:
Pi- ի servo- ն սնուցելը իդեալական չէր, բայց այն երբևէ կօգտագործվեր մի ակնթարթային ցնցման համար, այնպես որ այստեղ ճշգրտությունը մեծ խնդիր չէր: Այն միացավ, ինչպես ցույց է տրված գծապատկերում, դարչնագույն մալուխով ՝ GND, կարմիրից ՝ 5v, իսկ Orange- ը (կառավարման մալուխը) ՝ GPIO17- ին:
Ի վերջո, ես խմբագրեցի եղանակի անիմացիոն ֆայլերից մի քանիսը GIMP- ում ՝ իմ անձնական հպումներն ավելացնելու համար, ինչպես լուսնի վրա չղջիկները և արևի ժպիտը: Ես նաև ավելացրեցի «Old Tech New Spec» ձայներիզով անիվի անիմացիան, որը պետք է նվագարկվի գործարկման ժամանակ, պարզապես հաճույքի համար:
Քայլ 5: Ականջակալների կծկում
WeatherMan- ի գաղափարն այն էր, որ այն պասիվ նստեր իմ գրասեղանի բարձրախոսին ՝ երբեմն -երբեմն ցուցադրելով եղանակը, բայց ես ուզում էի, որ այն մի փոքր ավելին աներ: Դրա հետ եկած ականջակալները կենաց էին, բայց դասական 80 -ականներ, ուստի որոշեցի ինչ -որ բան անել դրանցով: Բոլոր մալուխը հանելուց և կոտրվածը տաք սոսնձելուց հետո ինձ մնաց երեք մաս ՝ 3.5 մմ խրոցը, ադամանդե կոճակը և հեռախոսներն իրենց ճկուն մետաղյա ժապավենի վրա:
Գաղափարն ինձ դուր եկավ, որ եթե ես կարողանամ հեռախոսներ տեղադրել սարքի վերևում, ապա կարող եմ ստիպել դրանք պտտվել սերվոյի հետ և հետագայում և օգտագործել դա որպես լրացուցիչ ծանուցում:
Սկզբում ես փորեցի 3.5 մմ խրոցը և ապամոնտաժեցի ադամանդի անջատիչը, այնուհետև դրանք սահեցի մի կտոր թելաձողի վրա: Հաջորդը ես կպչեցի մի ընկույզ պլաստիկ միակցիչի վրա, որպեսզի ձողը կարողանա ապահով (և ուղիղ) նստել սերվոյի վրա: Ձողի մյուս ծայրում ես ավելացրեցի մեկ այլ ընկույզ: Ի վերջո, ես օգտագործեցի մոխրագույն Sugru- ն ՝ գավազանի վերևը ականջակալների ժապավենին ամրացնելու համար, ինչպես նաև հավաքածուի ներքևի մասում ընկույզը ծածկելու համար: Եթե դուք չեք լսել Sugru- ի մասին, ապա այն ձևավորվող սոսինձ է, որը գալիս է փոքր գունավոր տոպրակների մեջ:
Վերջին ցուրտ եղանակին Sugru- ին մի քանի օր տևեց, որպեսզի ամբողջովին կոշտանա, բայց ականջակալները և դրանց տակդիրը շուտով պատրաստ էին վերջնական հավաքման:
Քայլ 6: Հավաքում
Pi- ն, HAT- ը և Servo- ն բոլորը լավ էին աշխատում նստարանին, այնպես որ հաջորդ գործը նրանց գործի մեջ մտցնելն էր: Նախքան մեծ բաղադրիչների վրա գործելը, ես օգտագործեցի որոշ մոխրագույն Sugru մնացորդներ ՝ ձայնի հավաքիչի, ականջակալների վարդակի և «մետաղական ժապավենի» անջատիչի մեջ ամրացնելու համար ՝ կոսմետիկայի տեսակավորմամբ: Ես նաև բնօրինակ Play, Stop, FF & Rew կոճակները սոսնձեցի մի կտոր պլաստիկ խողովակի վրա, որպեսզի նրանք մնան ճիշտ տեղում: Ամոթ էր այս անգամ չկիրառել որևէ կոճակ, բայց իրականում նրանց վերահսկելու ոչինչ չկար:
Ես օգտագործեցի մոխրագույն Sugru- ի վերջին մասը `սերվոն դիրքում պահելու համար, որի լիսեռը սեղմում էր ականջակալների ընդլայնված վարդակից: Անցնելով գործի մյուս կեսին, ես այնուհետև օգտագործեցի մի սև Sugru ՝ HAT և Pi հավաքածուն ամրացնելու համար ժապավենի դռանը, որպեսզի նրանք բացվեն դրանով: Ես իսկապես վայելեցի վերջին փոքրիկ հպումը `GeoMag մագնիսով ամրացնելը, որպեսզի դուռը ամուր փակվի:
Երկու կեսերը միասին դնելը նյարդային գործ էր, քանի որ ես վախենում էի, որ Pi & Servo- ն բախվելու են միմյանց դեմ, բայց ի վերջո, գրքումս շատ բան էր մնացել: Քանի որ զվարճալի բացվող դուռը լիարժեք մուտք կտար դեպի ինտերիեր ապագա սպասարկման համար, ես պարզապես երկու մասերը տաք սոսնձեցի, իսկ իմ յուղոտ մատնահետքերը սրբելուց հետո ականջակալների հավաքածուն տեղադրվեց վերևում:
Քայլ 7: Հանգիստ մոլուցք
Երկրորդ մրցանակ կրկնակի օգտագործման մրցույթում
Խորհուրդ ենք տալիս:
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi- պատկերիչով և նկարներով. 7 քայլ (նկարներով)
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi-imager- ով և նկարներով. Ես պլանավորում եմ օգտագործել այս Rapsberry PI- ն իմ բլոգում զվարճալի նախագծերի փունջում: Ազատորեն ստուգեք այն: Ես ուզում էի նորից օգտագործել իմ Raspberry PI- ն, բայց իմ նոր վայրում Ստեղնաշար կամ մկնիկ չկար: Որոշ ժամանակ անց ես ստեղծեցի ազնվամորի
Atari Punk Console With Baby 8 քայլ հաջորդականիչ. 7 քայլ (նկարներով)
Atari Punk Console With Baby 8 Step Sequencer: Այս միջանկյալ կառուցվածքը հանդիսանում է Atari Punk Console- ը և Baby 8 Step Sequencer- ը `բոլորը մեկում: Դուք կարող եք տրորել Bantam Tools Desktop PCB ֆրեզերային մեքենայի վրա: Այն բաղկացած է երկու տպատախտակից ՝ մեկը օգտագործողի միջերեսի (UI) տախտակ է, իսկ մյուսը ՝ կոմունալ ծառայությունների
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. 13 քայլ (նկարներով)
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. Սա հրահանգ է, թե ինչպես ապամոնտաժել համակարգիչը: Հիմնական բաղադրիչների մեծ մասը մոդուլային են և հեշտությամբ հանվում են: Այնուամենայնիվ, կարևոր է, որ դուք կազմակերպված լինեք դրա վերաբերյալ: Սա կօգնի ձեզ զերծ պահել մասերի կորստից, ինչպես նաև նորից հավաքելիս
Ciclop 3D Scanner My Way Քայլ առ քայլ ՝ 16 քայլ (նկարներով)
Ciclop 3D Scanner My Way Քայլ առ քայլ. Ողջույն, ես գիտակցելու եմ հանրահայտ Ciclop 3D սկաները: Բոլոր այն քայլերը, որոնք լավ բացատրված են սկզբնական նախագծում, ներկա չեն: Ես որոշ շտկումներ կատարեցի ՝ գործընթացը պարզեցնելու համար, նախ Ես տպում եմ հիմքը, իսկ հետո վերականգնում եմ PCB- ն, բայց շարունակում եմ