Мазмұны:

Dark Sky API көмегімен ауа райы бақылау тақтасын жасаңыз: 5 қадам (суреттермен)
Dark Sky API көмегімен ауа райы бақылау тақтасын жасаңыз: 5 қадам (суреттермен)

Бейне: Dark Sky API көмегімен ауа райы бақылау тақтасын жасаңыз: 5 қадам (суреттермен)

Бейне: Dark Sky API көмегімен ауа райы бақылау тақтасын жасаңыз: 5 қадам (суреттермен)
Бейне: 8 САҒАТ ПАЙНАЛҒАН ЖҰМЫРТҚА. ҚАЗАНДА ХАМИН 10, 12, 24 САҒАТ ПІСІРУ. РЕЦЕПТ 2024, Қараша
Anonim
Image
Image

Dark Sky ауа райын болжауға және визуализацияға маманданған. Dark Sky -дің ең керемет жағы - бұл ауа райы туралы API, біз оны әлемнің кез келген жерінен ауа райы туралы мәліметтерді алу үшін пайдалана аламыз. Бұл ауа райы жаңбырлы немесе шуақты ғана емес, сонымен қатар температура, шық нүктесі, жел екпіні, ылғалдылық, жауын -шашын, қысым, ультракүлгін индексі және т.б.

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

Бұл жоба үшін сізге қажет:

  • Dark Sky API есептік жазбасы
  • Алғашқы мемлекеттік шот
  • Raspberry Pi немесе ноутбук

1 -қадам: Жұмысты бастау

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

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

Репозиторийді клондау үшін бізге Pi терминалына немесе сіздің компьютеріңізге SSH қосылған терминалға кіріп, осы пәрменді теріңіз:

$ git клоны

Енгізу түймесін басыңыз және сіз бұл ақпаратты көресіз:

«Даркский» клондау …

қашықтан басқару: объектілерді санау: 2, орындалды. қашықтан басқару: Барлығы 2 (дельта 0), қайта қолданылған 0 (дельта 0), қайта оралған 2 объектіні орау: 100% (2/2), дайын. Байланыс тексерілуде… орындалды.

Сіз мұны көргеннен кейін құттықтаймыз, сіз GitHub Repo -ны сәтті көшірдіңіз және бұл жобаны құруға қажетті барлық файлдар бар. Келесі қадамға өтпес бұрын, осы каталогты зерттеуге және командалық жолдың бірнеше негізгі командаларын үйренуге біраз уақыт бөлейік.

Терминалға төмендегі пәрменді енгізіңіз:

$ лс

Бұл пәрменде сіз орналасқан каталогта бар барлық нәрселер тізімделеді. Бұл тізім біздің GitHub репо каталогына «darksky» деген атпен сәтті клондалғанын көрсетеді. Бұл каталогта не бар екенін қарастырайық. Каталогқа өту үшін сізге тек «cd» деп теру керек, содан кейін барғыңыз келетін каталогтың атын теру қажет.

Бұл жағдайда біз мынаны жазамыз:

$ cd darksky

Енгізуді басқаннан кейін, біз қазір қараңғы каталогта екенімізді көресіз. Pi -ге қандай файлдар орнатылғанын білу үшін тағы «ls» тереміз.

README.md darksky.py…

Мұнда бізде readme құжаты мен python файлдары бар екенін көреміз. «Нано» пәрменін пайдаланып darksky.py файлын қарастырайық. Нано пәрмені нано мәтіндік редакторды ашуға мүмкіндік береді, онда бізде бұл жобаның әр сегменті үшін барлық питон коды бар. Жалғастырып, теріңіз:

$ nano darksky.py

Мұнда сіз осы жобаға сіз дайындаған барлық кодты көре аласыз. Біз бұл құжатқа әзірше өзгеріс енгізгіміз келмейді, бірақ айналдыра отырып, осы оқулықта не істейтінімізді көруге болады.

2 -қадам: Dark Sky API пайдалану

Бастапқы күй
Бастапқы күй

Dark Sky API пайдалану үшін сізге алдымен API кілті қажет. Уайымдамаңыз, API кілтін алу тез және ақысыз. Сізге веб -сайтқа кіріп, тіркелу үшін «Тегін көру» түймесін басу жеткілікті.

  • Сіз күніне 1 000 API қоңырауларын ақысыз аласыз. Күнделікті ақысыз шектеуден асатын әрбір API сұранысы $ 0,0001 тұрады.
  • Бұл шектеу күн сайын UTC түн ортасында автоматты түрде қалпына келтіріледі.
  • Болжам сұрауы келесі аптаға арналған ағымдағы ауа райы болжамын қайтарады.
  • Уақыт машинасының сұранысы өткен немесе болашақтағы ауа райы жағдайын бақылайды.

Сіздің құпия Dark Sky API кілті келесідей болады: 0123456789abcdef9876543210fedcba.

Сіз келесі форматта шолғышқа URL мекенжайын енгізу арқылы Dark Sky -ге API қоңырау шала аласыз:

api.darksky.net/forecast/ [кілт]/ [ендік], [бойлық]

«Кілтті» Dark Sky API кілтіне және бойлыққа/ендікке қалаған нәрсеге ауыстырыңыз. Google Maps -ке кіріп, орналасқан жеріңізді іздеу арқылы бойлық пен ендік бойынша табуға болады. Бұл мәндер URL мекенжайында болады. Қолдану кілті мен мәндер мекенжай жолағына қосылған қараңғы аспандағы URL мекенжайын көшіріп, қойыңыз.

Мұны жасағаннан кейін сіз келесідей нәрсені көресіз:

{«ендік»: 37.8267, «бойлық»:-122.4233, «уақыт белдеуі»: «Америка/Los_Angeles», «қазіргі уақытта»: {«уақыт»: 1550615286, «түйіндеме»: «тазалау», «белгіше»: «таза-

тәулік «,» жақын маңдағы Дауыл Қашықтығы «: 57,» жақын маңдағы Дауыл «: 15,» precipIntensity «: 0,» precipProbability «: 0,» температура «: 53.9,» айқын температура «: 53.9,» dewPoint «: 29.59,» ылғалдылық «: 0.39, «қысым»: 1022.45, «windSpeed»: 3.87, «windGust»: 9.25, «windBearing»: 259, «cloudCover»: 0.01, «uvIndex»: 3, «көріну»: 7.8, «озон»: 309.71}, «минуттық»: {«жиынтық»: «Сағат үшін тазалау.», «белгіше»: «ашық күн», «деректер»: [{«уақыт»: 1550615280, «precipIntensity»: 0, «precipProbability»: 0 },…

Оқу өте қиын және қиын болуы мүмкін, сондықтан мен оқуды жеңілдетуге көмектесу үшін JSON форматтағышын қолдануды ұсынамын. Сіз мұны жасаған кезде ол келесідей болады:

нысан {9}

ендік: 37.8267 бойлық: -122.4233 уақыт белдеуі: America/Los_Angeles қазіргі уақытта {19} уақыт: 1550615286 түйіндеме: Таза белгіше: ашық күн жақын арада Дауыл Арақашықтық: 57 ең жақын Боран Мойынтірек: 15 жауын -шашынның тығыздығы: 0 жауын -шашынның ықтималдығы: 0 температура: 53,9 айқын Температура: 53,9 шық температурасы: 29,5 0,39 қысым: 1022,45 жел Жылдамдығы: 3,87 жел Қуат: 9,25 жел Қою: 259 бұлт Қақпағы: 0,01 uv Индекс: 3 көріну: 7,8 озон: 309,71

Сіз жаңа ғана API қоңырау шалдыңыз! Қараңызшы, бұл қаншалықты оңай болды? Сізге кодтың бір жолын жазудың қажеті жоқ. Енді сіз API -ді меңгергеннен кейін, біз деректерді жіберу бөлігіне көшеміз.

3 -қадам: бастапқы күй

Біз ауа райы туралы барлық мәліметтерді бұлт қызметіне жібергіміз келеді және бұл қызмет біздің деректерді ноутбуктен немесе мобильді құрылғыдан қол жеткізуге болатын жақсы бақылау тақтасына айналдырғысы келеді. Біздің деректер баратын жерді қажет етеді. Біз бастапқы мемлекет ретінде осы мақсатты қолданамыз.

1 -қадам: Бастапқы мемлекеттік шотқа тіркелу

Https://iot.app.initialstate.com сайтына өтіп, жаңа тіркелгі жасаңыз. Сізге 14 күндік ақысыз сынақ нұсқасы беріледі, ал электрондық поштасы бар кез келген адам студенттің тегін жоспарына жазыла алады.

2 -қадам: ISStreamer орнатыңыз

Бастапқы күй Python модулін Raspberry Pi -ге орнатыңыз. Пәрмен жолында келесі пәрменді іске қосыңыз:

$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

3 -қадам: Automagic жасаңыз 2 -ші қадамнан кейін сіз экранға келесі шығысқа ұқсас нәрсені көресіз:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: ISStreamer Python оңай орнатудың басталуы! Орнатуға бірнеше минут кетуі мүмкін, кофе алыңыз:) Бірақ қайтып оралуды ұмытпаңыз, менде сұрақтар болады! Easy_install табылды: setuptools 1.1.6 Табылған pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip негізгі нұсқасы: 1 pip шағын нұсқасы: 5 ISStreamer табылды, жаңартылуда … Талап қазірдің өзінде жаңартылған: ISStreamer /Library/Python/2.7/site-packages ішінен тазаланады… Сіз автоматты түрде мысал сценарийін алғыңыз келе ме? [y/N] Мысалды қайда сақтағыңыз келеді? [әдепкі:./is_example.py] Сіз қолданатын бастапқы күй бағдарламасын таңдаңыз: 1. app.initialstate.com 2. [ЖАҢА!] iot.app.initialstate.com 1 немесе 2 таңдауды енгізіңіз: iot.app енгізіңіз.initialstate.com пайдаланушы аты: iot.app.initialstate.com құпия сөзін енгізіңіз:

Сценарийді автоматты түрде алғыңыз келе ме деген сұраққа «y» қойыңыз және сценарийді әдепкі орында сақтау үшін enter пернесін басыңыз. Сіз қандай қолданба қолданасыз деген сұраққа 2 таңдаңыз (егер 2018 жылдың қараша айына дейін тіркелмеген болсаңыз) және пайдаланушы аты мен құпия сөзді енгізіңіз.

4 -қадам: Мысал сценарийін іске қосыңыз

Бастапқы күй шотыңызға деректер ағыны жасай алатындығымызға тексеру үшін тест сценарийін іске қосыңыз. Келесі пәрменді жазыңыз:

$ python is_example.py

6 -қадам: Деректердің мысалы

Веб -шолғышта бастапқы күйге қайтып оралыңыз. «Python ағынының мысалы» деп аталатын жаңа деректер шкаласы журнал сөресінде сол жақта көрсетілуі керек еді (бетті жаңарту қажет болуы мүмкін). Деректерді қарау үшін осы шелекті басыңыз.

4 -қадам: Қараңғы аспандағы ауа райы бақылау тақтасы

Қараңғы аспандағы ауа райы бақылау тақтасы
Қараңғы аспандағы ауа райы бақылау тақтасы

Енді көңілді бөлікке. Біз ауа райы бақылау тақтасын құру және біз таңдаған жердің ауа райы тарихын түсіру үшін Dark Sky API қолдануды бастауға дайынбыз. Ол үшін біз Python сценарийін қолданамыз: https://github.com/initialstate/darksky/blob/master/darksky.py. Бұл скрипт сіздің API кілтіңізді пайдаланып Dark Sky API -ге қоңырау шалады және ауа райы туралы ақпаратты белгілі бір уақыт аралығында алады. Ол сонымен қатар бұл деректерді сіздің бастапқы күйдегі есептік жазбаңызға жібереді, бұл сізге Dark Sky ауа райы бақылау тақтасын жасауға мүмкіндік береді.

Сіз бұл сценарийді Pi -ге көшіре аласыз немесе оған бұрын клондалған GitHub репозиторийі арқылы кіре аласыз. Сіз мұны төмендегі каталогқа өзгерту арқылы жасай аласыз:

$ cd darksky

Осы жерден сіз ауа райы бақылау тақтасын жасау үшін біз іске қосатын питон файлына кіре аласыз. Оны іске қоспас бұрын қажетті параметрлерді орнатып, кілттерді енгізу қажет. Nano -ны darksky.py файлына теру арқылы енгізіңіз:

$ nano darksky.py

Содан кейін сценарийдің жоғарғы жағындағы бөлімді өңдеңіз:

# --------- Пайдаланушы параметрлері ---------

CITY = «Nashville» GPS_COORDS = «36.1628414, -86.780199» DARKSKY_API_KEY = «ҚАРА АСҚАНЫҢ API КІЛТІН ОРЫНДАУ» BUCKET_NAME = «: partly_sunny:» + ҚАЛА + «Ауа райы» BUCKET_KEYCESS -ACECEE « -ds1» МЫНА КІЛТТІ «ОҚЫЛДЫРУ_МИНУТТАРЫ = 15 # ---------------------------------

Қажетті GPS координаттары мен қала атауын орнату қажет. Сіз сондай -ақ Dark Sky API кілтін және бастапқы күйге кіру кілтін енгізуіңіз керек, әйтпесе сіздің деректеріңіз ешқайда кетпейді. MINUTES_BETWEEN_READS параметрі сценарийіңіз ауа райы туралы ақпарат алу үшін Dark Sky API интерфейсін қаншалықты жиі сұрайтынын анықтайды. 15 минут ұзақ мерзімді жақсы аралықты қамтамасыз етеді. Қысқа мерзімді тестілеу үшін оны 0,5 минутқа қоюға болады. Өзгертулер енгізіңіз, содан кейін шығу және сақтау үшін+X пернелер тіркесімін енгізіңіз.

Параметрлер орнатылғаннан кейін сіз сценарийді іске қосуға дайынсыз:

$ python darksky.py

Егер сіз Pi-ге кіргіңіз келсе және бұл сценарийді ұзақ уақыт бойы үзіліссіз қалдырғыңыз келсе, nohup пәрменін (ілінбеу) келесідей пайдалана аласыз:

$ nohup python darksky.py &

Бұл сценарий ауа райы туралы ақпаратты оқып, оны бастапқы күйге жіберуден гөрі көп нәрсе жасайды. Бұл сценарий бақылау тақтасын біршама жақсы ету үшін Initial State құралдарына салынған эмодзи қолдауын пайдаланады. Ауа райы статусын ағымдағы -> белгішесінен алу және оны weather_icon функциясында эмодзи белгісіне түрлендіру үшін қолданылатын логиканы көруге болады. Moon_icon функциясындағы ай фазасы мен wind_dir_icon функциясындағы желдің бағыты үшін ұқсас нәрсе болады.

5 -қадам: Қорытынды

Қорытынды
Қорытынды
Қорытынды
Қорытынды

Бастапқы күй шотына өтіп, деректеріңізді қараңыз. Мен барлық пайыздық мәндерді доға өлшегіштерге, жауын -шашын сұйықтық өлшегішке және температураны температура көрсеткішіне ауыстырдым. Сіз плиткалардың кез келген түріне ауыса аласыз және өлшегіштер мен сызықтық диаграммалар үшін түстеріңізді таңдай аласыз. Сіз iFrame ендіру арқылы бақылау тақтасын қараңғы немесе ашық етіп, веб -сайтқа ендіре аласыз.

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

Біздің бақылау тақтасының жалпыға ортақ URL мекенжайы -

Енді сіз Dark Sky API -ді меңгердіңіз, мүмкіндіктер шексіз! Интернетте зерттеуге арналған ақысыз API шектеусіз саны бар, сондықтан бастаңыз.

Ұсынылған: