Բովանդակություն:
- Քայլ 1. Սահմանեք SD քարտը և ազնվամորի PI- ն
- Քայլ 2. Ստեղծեք WeatherHAT գրադարանները
- Քայլ 3. Weather-api և GetWeather Script- ի տեղադրում
- Քայլ 4. Թարմացված տեղեկատվություն Openweathermap API- ի համար
Video: Եղանակի պարզ ցուցադրում ՝ օգտագործելով Raspberry PI և Cyntech WeatherHAT: 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
* 2019 -ին Yahoo- ն փոխեց իր API- ն, և այն դադարեց աշխատել: Ես տեղյակ չէի փոփոխությունից: 2020 -ի սեպտեմբերին այս նախագիծը թարմացվել է ՝ OPENWEATHERMAP API- ի օգտագործման համար: Տե՛ս ստորև ներկայացված թարմացված բաժինը, սակայն այս տեղեկատվության մնացած մասը դեռ լավ է: Շնորհակալություն նայելու համար և շնորհակալություն Yahoo- ի փոփոխության մասին ինձ տեղեկացնելու համար: *
Վերջերս ձեռք բերեցի Cyntech WeatherHAT- ը, բայց մի փոքր հիասթափվեցի դրա համար ծրագրային ապահովման բացակայությունից:
Գլխարկը, ըստ երևույթին, լավ կառուցված է ՝ անձրևի կաթիլների տեսքով 6 կապույտ լուսադիոդներ, ամպրոպի պտուտակի տեսքով 6 նարնջագույն լուսադիոդներ, ամպի տեսքով 6 սպիտակ լուսադիոդներ: 1 (այն, ինչ ես հավատում եմ, որ RGB LED է) SUN- ի համար. Այն ցուցադրում է նարնջագույն գույնը (այնպես որ ես կարող եմ սխալվել, որ դա RGB է): Եվ 6 WS2812 LED (դրանք RGB են:-))
Cyntech- ն ունի սկսնակ ուղեցույց, և նույնիսկ դա լավ է. Հեշտ է տեղադրել և օգտագործել HAT- ը:
Այսպիսով, ես պարզապես զարմացա, որ իրականում ոչ մի ծրագրակազմ չեմ տեսնում (բացի Cyntech- ի տրամադրած ցուցադրականից): Ես հավասարապես զարմացա, երբ չգտա որևէ մեկին, որն իսկապես օգտագործում է սա: Միգուցե մարդիկ ցանկանում են «շքեղ» էկրան ՝ ջերմաստիճաններով և այդ բոլոր տեղեկություններով: Ինձ համար հաճելի է պարզապես մի քանի LED լուսարձակներ նայել և իմանալ `անձրև է, կամ ամպրոպ, կամ ամպամած: Այդ պահին, եթե լրացուցիչ տեղեկությունների կարիք ունենամ, կարող եմ նայել պլանշետին կամ հեռախոսին::-)
Մի փոքր ավելին. Սա իսկապես առաջին անգամն է, ինչ օգտագործում եմ պիթոն, ես դրանում ոչ մի կերպ լավ չեմ տիրապետում: Եվ ես վստահ եմ, որ այն մարդիկ, ովքեր իսկապես գիտեն պիթոն, ինձ ավելի լավ միջոց կասեն դա անելու համար:
Եկեք սկսենք:
Մեզ պետք է SD քարտ (առնվազն 8 գբ)
Ազնվամորի PI (ես օգտագործում եմ Zero W) այն պետք է ունենա ինտերնետ հասանելիություն:
և մեզ պետք է Cyntech weatherHAT
Եթե դուք օգտագործում եք Raspberry PI Zero W- ն, ապա ձեզ հարկավոր կլինի նաև կարողանալ մի շարք վերնագրեր կպցնել տախտակին:
Հակառակ դեպքում անհրաժեշտ հմտություններն են `ծրագրակազմից օգտվելու և SD քարտը կարգավորելու ունակությունը:
Քայլ 1. Սահմանեք SD քարտը և ազնվամորի PI- ն
Ձեզ հարկավոր է ներբեռնել վերջին Raspbian- ը (այս ուսանելի պահին, որը Raspbian Stretch March 2018-ն է (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Ես օգտագործել եմ աշխատասեղանի հրատարակությունը, նույնիսկ դու ես իմ կարգավորումն անգլուխ եմ վարում և շատ բաներ անում եմ CLI- ից (հրամանի տողի միջերես) ssh- ով:
Հետևեք այստեղ տեղադրված տեղադրման ուղեցույցին.
www.raspberrypi.org/documentation/installa…
Etcher- ի ավարտից հետո հեռացրեք SD քարտը և նորից տեղադրեք այն համակարգչի մեջ:
* Դուք իսկապես պետք է կատարեք այս քայլը ստորև, եթե մտադիր եք կատարել անգլուխ տեղադրում
Մենք պետք է կարգավորենք SSH և WIFI նախքան SD քարտը Raspberry PI- ում օգտագործելը: Քարտի BOOT բաժնում ստեղծեք «ssh» անունով ֆայլ ՝ առանց մեջբերումների: ոչինչ չպետք է լինի այդ ֆայլում: Երբ PI- ն կբեռնվի, նա կտեսնի այդ ֆայլը և միացնի SSH- ը:
Մենք նաև պետք է ստեղծենք «wpa_supplicant.conf» անունով ֆայլ: Մենք պետք է խմբագրենք այս ֆայլը ձեր wifi կարգավորումների միջոցով:
Այն պետք է այսպիսի տեսք ունենա.
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
update_config = 1 ցանց = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* Դուք իսկապես պետք է դա անեք միայն այն դեպքում, եթե մտադիր եք կատարել անգլուխ տեղադրում
Երբ դա արվի, ապահով հեռացրեք SD քարտը և դրեք Raspberry PI (համոզվեք, որ PI- ի վրա էներգիա չկա):
Կցեք weatherHAT- ը և միացրեք Raspberry PI- ը:
Քայլ 2. Ստեղծեք WeatherHAT գրադարանները
Այս քայլի համար մենք հետևելու ենք գտած մեկնարկի ուղեցույցին
guides.cyntech.co.uk/weatherhat/getting-sta…
Եթե անգլուխ տեղադրում եք կատարում, կցանկանաք ssh [email protected]
Եթե դուք չունեք ssh հաճախորդ - PUTTY- ը լավ է:
Եթե դուք օգտագործում եք ստեղնաշար և մոնիտոր. Վերը նշված ուղեցույցը լավ է հետևել, այն սկսում է ձեզ GUI աշխատասեղանից:
Այստեղ կարևոր քայլերն են WS281x գրադարանի և WeatherHAT գրադարանների տեղադրումը ՝ յուրաքանչյուրի կախվածության հետ միասին:
sudo apt-get թարմացում
sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git> git clone https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py տեղադրել
Այժմ մենք պետք է համոզվենք, որ I2C- ը միացված է:
sudo raspi-config
Ուղեցույցը գրված է raspi-config- ի ավելի հին տարբերակի համար և ասում է, որ գնամ «Ընդլայնված ընտրանքներ», որը փոխարինվել է, կարծում եմ, «Ինտերֆեյսեր» բառով:
I2C- ը միացնելուց հետո ստիպված կլինեք վերագործարկել:
Այժմ ժամանակն է փորձարկել HAT- ը
cd WeatherHAT
sudo python cycle.py
Եթե ամեն ինչ լավ անցավ, ապա պետք է տեսնեք բոլոր հատկությունները և ծիածանը:
ctrl-z- ը կդադարեցնի ծրագիրը:
*Հատուկ նշումներ. Ես իմացա, որ Raspberry PI 3 -ի ժամկետները տարբեր են, և ծիածանը կարող է ճիշտ չաշխատել: ԵԹԵ դուք ունեք այս խնդիրը, թե ինչպես այն շտկել:
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Երբ ամեն ինչ աշխատի, մենք կարող ենք շարունակել հաջորդ քայլին:
Թարմացում. (6 հոկտեմբերի, 2020 թ.) Այս շտեմարանն այժմ պարունակում է իմ getWeather.py սցենարը, սա հիանալի նորություն է, քանի որ հետաքրքրությունը կրկին բորբոքվել է, և նոր բաներ անպայման տեղի կունենան:
Քայլ 3. Weather-api և GetWeather Script- ի տեղադրում
Այսպիսով, ես գրեցի CyntechUK- ին PULL խնդրանք իմ սցենարի համար. Հուսով եմ, որ նրանք կընդունեն պահանջը, և դուք կարող եք բաց թողնել իմ պահեստի ներբեռնումը: (նրանք կարող են չցանկանալ ներառել իմ ծածկագիրը)
(6 հոկտեմբերի, 2020 թ.) PULL- ի հայտը հաստատվեց, իմ getWeather սցենարը այժմ ներառված է Եղանակի շտեմարանում:
********* Դուք դեռ կարող եք օգտագործել այս տեղեկատվությունը, եթե ցանկանում եք, սակայն getWeather.py- ն այժմ ներառված է weatherhat շտեմարանում այժմ ******************* *****************
Իմ պահեստը կարող եք գտնել այստեղ ՝
github.com/kd8bxp/WeatherHAT/tree/getWeath…
և իմ սցենարը կոչվում է getWeather.py
ԵԹԵ նրանք ընդունեն քաշման հայտը, դուք արդեն կունենաք այս սցենարը, իսկ եթե ոչ, ապա ձեզ հարկավոր է կլոնավորել պահեստը:
ձեր տան գրացուցակում (/home/pi) մուտքագրեք.
git կլոն https://github.com/kd8bxp/WeatherHAT.git getWeather
սա կլոնավորի պահեստը getWeather անունով գրացուցակում, այնուհետև մենք պետք է ստուգենք getWeather մասնաճյուղը:
cd getWeather
git checkout getWeather
**********************************************************************
Դուք պետք է մուտքագրեք ավելի վաղ կլոնավորված weatherHAT գրացուցակը և
Մենք պետք է խմբագրենք getWeather.py սցենարը ձեր գտնվելու վայրի համար:
nano getWeather.py
Դուք պետք է տեսնեք մի տող, որը սկսվում է
գտնվելու վայրը և ավարտվում է որոնմամբ (45042)
իսկ դրա վերևում, որը մեկնաբանվում է, ավելի լավ է աշխատում քաղաքի անվան հետ: Դա այն է, որը հավանաբար ցանկանում եք օգտագործել: Այսպիսով, մեկնաբանեք փոստային կոդի տողը (#) և մեկնաբանեք և փոխեք ձեր քաղաքի անունը:
*********** ՀԻՆ ՅԱՀՈ ՏԵORԵԿՈԹՅՈՆ - Այլևս չի պահանջվում ***********
Մենք պետք է տեղադրենք ևս մեկ գրադարան, որը կաշխատի ՝ weather-api, որը Yahoo weather API- ի համար նախատեսված փաթաթան է:
pypi.python.org/pypi/weather-api/0.0.5
Տեղադրումը հեշտ է -
pip install weather-api
***********************************************************************************
Այժմ մենք կարող ենք գործարկել սցենարը.
sudo python getWeather.py &
& Թույլ կտա, որ սցենարը գործի հետին պլանում: Սցենարը քնում է մոտ 5 րոպե, այնուհետև ստուգում է Yahoo Weather- ը, եթե ինչ -որ բան փոխվել է, եթե այդպես է, այն թարմացնում է էկրանը: 5 րոպեանոց ժամանակը կարող է փոխվել, դա մոտ է սցենարի ներքևին:
քուն (60 * 5)
Կարող եք ստեղծել crontab աշխատանք (հիշեք, որ այն պետք է գործարկվի որպես արմատ), որը սկիզբը կդնի յուրաքանչյուր բեռնման ժամանակ:
օգտագործել:
sudo crontab -e
մուտքագրեք ՝
@reboot python /home/pi/weatherHAT/getWeather.py
Կարծում եմ, որ դա պետք է աշխատի. Ես դեռ չեմ տեղադրել cron- ը իմ համակարգում:
Դա գրեթե այդպես է -
Ինչպես նշեցի, սա իմ առաջին պիթոն ծրագրերից մեկն է, և վստահ եմ, որ ավելի շատ գիտող մեկը դա անելու ավելի լավ միջոց կտեսնի:
Ես միայն սահմանափակ փորձարկումներ եմ արել դրա վերաբերյալ. Ես մինչ այժմ տեսել եմ «Ձյուն», «Անձրև» և «Ամպրոպ» աշխատանքները, Կան որոշ պայմաններ, որոնց հետ ես դեռ վստահ չեմ, թե ինչպես վարվել. Ես ողջունում եմ գաղափարները:
Քայլ 4. Թարմացված տեղեկատվություն Openweathermap API- ի համար
2020 -ի սեպտեմբերին ես թարմացրեցի սցենարը ՝ https://openweathermap.org API օգտագործելու համար:
NOTԱՆՈԹՈ:ԹՅՈՆ. Սա ինձ համար «արագ» շտկում էր և սահմանափակ փորձարկված էր ((Վերջին մի քանի օրերի ընթացքում ամպամած էր, և այն, ինչ ես տեսնում եմ, միայն ամպի և անձրևի ցուցադրումն է)) - Մինչ ես հավատում եմ, որ ես բռնել եմ բոլոր այն պայմանները, որոնք հեշտ են ցուցադրել, հնարավոր է, որ ես զույգին բաց թողնեմ, քանի որ այս շտկումն ինչքան արագ կատարվեց: Ասել է թե ՝ եթե կարծում եք, որ խնդիր կա, խնդրում ենք թողնել մեկնաբանություն, և եթե ժամանակը թույլ տա, ես կանդրադառնամ դրան, կամ կփորձեմ ձեզ ուղղորդել ճիշտ ուղղությամբ: *
Դուք պետք է գրանցվեք API- ի բանալին ՝ օգտագործելով վերը նշված հղումը, երբ ձեր քաղաքը տեղադրելու համար խմբագրեք սցենարը, կտեսնեք բանալու տեղը: Պարզապես պատճենեք և տեղադրեք այն, և դուք պետք է լավը լինեք:
Այլ նշումներ.
Այս սցենարը այժմ օգտագործում է այդ եղանակի մասին «Եղանակի ընթացիկ տվյալների API» տեղեկատվությունը:
openweathermap.org/current Պետք է նշել, որ կարող եք օգտագործել քաղաք, նահանգ և երկիր:
IE. «Դեյթոն» քաղաքը դառնում է «Դեյթոն, Օհ, ԱՄՆ»: Նկատի ունեցեք, թե ինչպես են նահանգը և երկրի ծածկագրերը երկուսն էլ մեծատառ, դա պարտադիր է: API- ն ասում է, որ այն կարող է օգտագործել միայն «Dayton, OH», բայց ես դա արել եմ սցենարից, երբ դա արել եմ, և քանի որ սա արագ շտկում էր, ես չեմ մտածել, թե ինչու: Այսպիսով, ես խորհուրդ եմ տալիս օգտագործել «քաղաք, նահանգ, երկիր»
ԵԹԵ ինչ -ինչ պատճառներով լավ անուն չեք ստանում քաղաքի անունից, կարող եք նաև փնտրել քաղաքի ID- ն կամ օգտագործել լայնության և երկայնության կամ փոստային ինդեքսը: Յուրաքանչյուր դեպքում URL- ը պետք է փոխվի, եթե կտտացրեք API կայքի աջ կողմում գտնվող հղմանը, այն կտա մի օրինակ, թե ինչպիսին պետք է լինի URL- ը:
Դուք նույնպես պետք է փոխեք URL- ը սցենարի մեջ:
Նույնիսկ ավելի շատ նշումներ. 3 հոկտեմբերի, 2020 թ
@Itsmedoofer- ը մատնանշեց, որ իրենք պետք է գրադարանի python- հարցումները տեղադրեն նոր թարմացմամբ: Ես վստահ չեմ, որ դա ինձ իսկապես պետք էր (հնարավոր է նաև, որ այն տեղադրված լիներ տարիներ առաջ, կամ պիթոնի տարբեր տարբերակները լռելյայն տարբեր գրադարաններ են տեղադրում): Այսպիսով, եթե սցենարը սխալ է տալիս python- հարցումների վերաբերյալ, ապա դա պարզ է ուղղել:
մուտքագրեք այս հրամանը CLI: python -m pip տեղադրման հարցումներին
և դու պետք է լավը լինես:
Հուսով եմ, որ դա ի սկզբանե, սա արագ շտկում էր, և գուցե մի օր թույլ տալու դեպքում ես կարող եմ աշխատել մի փոքր ավելի լավ մաքրելու վրա:
Թարմացում (6 հոկտեմբերի, 2020 թ.) Github- ի քաշման հայտը ընդունվեց, CyntechUK- ի օրիգինալ պահեստը այժմ ներառում է այս սցենարը: https://github.com/CyntechUK/WeatherHAT Օգտվողը Boeerb- ն ունի որոշ գաղափարներ, թե ինչպես ցուցադրել ներկայումս չցուցադրված որոշ պայմաններ, ինչպես նաև օգտագործման այլ գաղափարներ: Ուրեմն հետևեք այդ շտեմարանին: Եվ հուսով եմ, որ ամեն ինչ տեղի կունենա:
Թարմացում. (8 հոկտեմբերի, 2020 թ.) Բաց Եղանակի քարտեզը պարունակում է API- ի ստեղծման և օգտագործման վերաբերյալ կարճ ձեռնարկ ՝ https://openweathermap.org/appid Սկսելու լավ վայր:
Խորհուրդ ենք տալիս:
Art Deco Եղանակի կանխատեսման ցուցադրում. 9 քայլ (նկարներով)
Եղանակի կանխատեսման Art Deco ցուցադրում. Ողջույն, ընկերներ, այս Ուսուցողական ծրագրում մենք պատրաստվում ենք շոգ տեսնել ՝ Եղանակի կանխատեսման այս ցուցադրումը կառուցելու համար: Եղանակի կանխատեսումը ցուցադրելու համար այն օգտագործում է Wemos D1 մինի տախտակ և 1.8 դյույմանոց TFT էկրան: Ես նաև նախագծեցի և տպեցի 3 -րդ պարիսպը
Եղանակի մատրիցային ցուցադրում. 4 քայլ (նկարներով)
Եղանակի մատրիցա. Aboutրագրի մասին ես ձեզ ցույց կտամ, թե ինչպես ստեղծել 8x8 մատրիցային էկրանից մինի եղանակի կարգավիճակի ցուցադրում: Ես կօգտագործեմ Genuino MKR1000- ը `ընտրված վայրում ջերմաստիճանը, խոնավությունը և եղանակի վիճակը բերելու համար: howուցադրել կարգավիճակը ցուցադրելու համար սահնակով
Մեծ Բրիտանիայի գնացքների և եղանակի ցուցադրում. 5 քայլ
Մեծ Բրիտանիայի գնացքների և եղանակի ցուցադրում. Այս հրահանգը նախատեսված է մարտկոցով աշխատող Մեծ Բրիտանիայի գնացքների մեկնումների և եղանակի ցուցադրման համար: Այն օգտագործել է Ազգային երկաթուղային OpenLDBWS տվյալների բազան `իրական երկաթուղային կայարանի գնացքների մեկնման մասին տեղեկություններ ստանալու և դրանք ցուցադրելու համար: Այն օգտագործում է բաց եղանակ
Arduino 3-ը 1-ում Timeամանակի և եղանակի ցուցադրում. 11 քայլ
Arduino 3-in-1 Timeամանակի և եղանակի ցուցադրում. Ինձ դուր են գալիս PIC միկրոկոնտրոլերները և ինձ դուր են գալիս ծրագրավորումը հավաքման լեզվով: Փաստորեն, վերջին մի քանի տարիների ընթացքում ես այդ համադրության հիման վրա տեղադրել եմ մոտ 40 նախագիծ իմ կայքում: Վերջերս ես որոշ մասեր էի պատվիրում ԱՄՆ -ի իմ ամենասիրած խաղերից մեկից
Ինչպես կատարել մինի եղանակի կարգավիճակի ցուցադրում ՝ 4 քայլ
Ինչպես կատարել մինի եղանակի կարգավիճակի ցուցադրում. Նախագծի մասին Միկրոկոնտրոլերը կարող է միևնույն ժամանակ զվարճալի և զվարճալի լինել, ինտերնետի միացում ավելացնել իրերի իրական ինտերնետի համար: Թույլ տվեք ցույց տալ ձեզ, թե ինչպես ես կարողացա ստեղծել մինի եղանակի կարգավիճակի ցուցադրում ՝ օգտագործելով 8x8 մատրիցային էկրան և