Turinys:

Sukurkite Raspberry Pi SUPER orų stotį: 8 žingsniai (su nuotraukomis)
Sukurkite Raspberry Pi SUPER orų stotį: 8 žingsniai (su nuotraukomis)

Video: Sukurkite Raspberry Pi SUPER orų stotį: 8 žingsniai (su nuotraukomis)

Video: Sukurkite Raspberry Pi SUPER orų stotį: 8 žingsniai (su nuotraukomis)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Liepa
Anonim
Image
Image

Pripažinkime, mes, žmonės, daug kalbame apie orą ⛅️. Vidutinis žmogus apie orą kalba keturis kartus per dieną, vidutiniškai 8 minutes ir 21 sekundę. Atlikite matematiką ir tai sudaro 10 jūsų gyvenimo mėnesių, kuriuos praleisite kvatodamiesi apie orą. Oras yra pirmoji pokalbių pradininkų ir nepatogių tylos pertraukėlių tema. Jei apie tai daug kalbėsime, taip pat galime pakelti savo orų gatvės kreditus į visiškai naują lygį. Šis labai įdomus ir lengvas projektas padės tai padaryti daiktų internetui (IoT) ir „Raspberry Pi“.

Mes ketiname sukurti savo hiper-vietinių orų IoT prietaisų skydelį, fiksuojantį orą mūsų namuose ir už jo ribų. Kitą kartą, kai kas nors jūsų paklaustų: „O kaip pastaruoju metu yra oras?“, Galėsite išbraukti telefoną ir palikti jam kvapą, turėdami beprotiško oro analizės įgūdžius ☀️.

Ko jums reikės norint išklausyti kursą: 1. „Raspberry Pi“su interneto ryšiu

2. Raspberry Pi SenseHAT

3. 6 colių 40 kontaktų IDE nuo vyrų iki moterų prailginimo kabelis (pasirinktinai, norint temperatūros tikslumo)

4. Pradinė valstybės sąskaita

5. Štai ir viskas!

Projekto lygis: pradedantysis

Apytikslis užbaigimo laikas: 20 minučių

Apytikslis linksmumo veiksnys: neįtrauktas į diagramas

Šioje išsamioje pamokoje jūs: sužinosite, kaip naudoti „Weatherstack“API integravimą pradinėje būsenoje, kad gautumėte vietinį orą jūsų vietovėje

- Sužinokite, kaip naudoti „Raspberry Pi“su „Sense HAT“(https://www.raspberrypi.org/products/sense-hat/), kad užfiksuotumėte orų duomenis savo namuose

- Sukurkite savo asmeninį hiper-vietinių orų prietaisų skydelį, kurį galite pasiekti iš bet kurios savo nešiojamojo kompiuterio ar mobiliojo įrenginio žiniatinklio naršyklės

- Išleisk savo meteorologui pinigus

Prekės

Ko jums reikės norint išklausyti kursą:

1. „Raspberry Pi“su interneto ryšiu

2. Raspberry Pi SenseHAT

3. 6 colių 40 kontaktų IDE vyriškas ir moteriškas ilginamasis kabelis (pasirinktinai dėl temperatūros tikslumo)

4. Pradinė valstybės sąskaita

5. Štai ir viskas!

1 žingsnis: Darbo pradžia

Mes jau įdėjome daug pastangų, kad galėtumėte sudėti kodą ir sutvarkyti informaciją. Mums tereikia atlikti keletą pakeitimų.

Norėdami gauti viską, ką mes jums paruošėme, turėsite klonuoti saugyklą iš „GitHub“. „Github“yra nuostabi paslauga, leidžianti mums saugoti, peržiūrėti ir valdyti tokius projektus. Norėdami klonuoti saugyklą, viskas, ką mums reikia padaryti, yra eiti į mūsų Pi terminalą arba jūsų kompiuterio terminalą, kuris yra SSH, įveskite jūsų pi ir įveskite šią komandą:

$ git klonas

Paspauskite „Enter“ir pamatysite šią informaciją:

pi@raspberrypi ~ $ git klonas

Klonavimas į „wunderground-sensehat“…

nuotolinis: skaičiuojami objektai: 28, padaryta.

nuotolinis: iš viso 28 (delta 0), pakartotinai panaudota 0 (delta 0), pakartotinai naudojama pakuotėje 28

Išpakuoti objektus: 100% (28/28), padaryta.

Tikrinamas ryšys … padaryta.

Kai tai pamatysite, sveikiname, sėkmingai klonavote „Github Repo“ir turite visus reikalingus failus, kad sukurtumėte „Super Weather Station“. Prieš pereidami prie kito žingsnio, skirkime šiek tiek laiko tyrinėti šį katalogą ir išmokti keletą pagrindinių komandinės eilutės komandų.

Įveskite žemiau esančią komandą į savo terminalą:

$ ls

Šioje komandoje išvardijama visa tai, kas yra kataloge, kuriame šiuo metu esate. Šis sąrašas rodo, kad mūsų „Github Repo“buvo sėkmingai klonuotas į mūsų katalogą pavadinimu „wunderground-sensehat“. Pažiūrėkime, kas yra tame kataloge. Norėdami pakeisti katalogą, jums tereikia įvesti „cd“ir įvesti katalogo, į kurį norite eiti, pavadinimą.

Šiuo atveju įvesime:

$ cd wunderground-sensehat

Kai paspausime „Enter“, pamatysite, kad dabar esame „wunderground-sensehat“kataloge. Dar kartą įveskime ls, kad pamatytume, kokius failus įdiegėme savo pi.

README.md sensehat.py sensehat_wunderground.py wunderground.py

Čia matome, kad turime savo „readme“dokumentą ir keletą skirtingų „Python“failų. Pažvelkime į sensehat.py. Užuot šokę į failą su komanda cd, kaip tai darėme katalogų atveju, mes naudosime komandą „nano“. „Nano“komanda leidžia mums atidaryti „nano“teksto redaktorių, kuriame turime visą savo python kodą kiekvienam šio projekto segmentui. Pirmyn ir įveskite:

$ nano sensehat.py

Čia galite pamatyti visą kodą, kurį paruošėme jums šiam projektui. Kol kas šio dokumento nepakeisime, bet nesivaržykite slinkti ir pamatyti, ką darysime vėliau šioje pamokoje.

2 žingsnis: pradinė būsena

Pradinė būsena
Pradinė būsena

Mes norime srautiniu būdu perduoti visus savo orų duomenis į debesies paslaugą ir ta paslauga paversti mūsų duomenis į gražų prietaisų skydelį, kurį galime pasiekti iš savo nešiojamojo kompiuterio ar mobiliojo įrenginio. Mūsų duomenims reikia paskirties. Kaip tikslą naudosime pradinę būseną.

1 veiksmas: užsiregistruokite pradinei valstybės paskyrai

Eikite į https://www.initialstate.com/app#/register/ ir sukurkite naują paskyrą.

2 veiksmas: įdiekite „ISStreamer“

Įdiekite pradinės būsenos „Python“modulį į savo „Raspberry Pi“: Komandinėje eilutėje (nepamirškite SSH į savo Pi pirmiausia) paleiskite šią komandą:

$ cd/home/pi/

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

Saugos pastaba: aukščiau pateikta komanda turi keletą svarbių anatomijų, kurias vartotojas turėtų žinoti.

1) Prieš garbaną yra prieš \. Tai svarbu norint užtikrinti, kad nebūtų sukurtas garbanos slapyvardis, jei jis buvo sukurtas. Tai padeda sumažinti riziką, kad komanda padarys daugiau nei numatyta.

2) Komanda yra komandinė komanda, todėl vykdydami jūs įvedate scenarijaus išvestį, gautą iš https://get.initialstate.com/python, į komandą sudo bash. Tai daroma siekiant supaprastinti diegimą, tačiau reikia pažymėti, kad čia https yra svarbus siekiant padėti užtikrinti, kad diegimo scenarijus nebūtų manipuliuojamas per vidurį, ypač todėl, kad scenarijus vykdomas su padidintomis privilegijomis. Tai yra įprastas būdas supaprastinti diegimą ir sąranką, tačiau jei esate šiek tiek atsargesnis, yra keletas šiek tiek mažiau patogių alternatyvų: galite suskaidyti komandą į du veiksmus ir ištirti bash scenarijų, atsisiųstą iš curl komandos, kad apsidraustumėte tai ištikimybė ARBA galite sekti pip instrukcijas, tiesiog negausite automatiškai sugeneruoto scenarijaus pavyzdžio.

3 žingsnis: padarykite „Automagic“

Po 2 veiksmo ekrane pamatysite kažką panašaus į šį išvestį:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Slaptažodis: „ISStreamer Python“paprastas diegimas nuo pat pradžių!

Įdiegimas gali užtrukti kelias minutes, išgerkite kavos:)

Bet nepamirškite sugrįžti, vėliau turėsiu klausimų!

Rasta easy_install: setuptools 1.1.6

Rasta pip: pip 1.5.6 iš /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7)

pip pagrindinė versija: 1

pip minor versija: 5

ISStreamer rastas, atnaujinamas …

Reikalavimas jau atnaujintas: ISStreamer /Library/Python/2.7/site-packages Cleaning up …

Ar norite automatiškai gauti scenarijaus pavyzdį? [y/N]

(išvestis gali būti kitokia ir užtrukti ilgiau, jei anksčiau niekada neįdiegėte pradinės būsenos „Python“transliacijos modulio)

Kai būsite paraginti automatiškai gauti scenarijaus pavyzdį, įveskite y.

Tai sukurs bandomąjį scenarijų, kurį galėsime paleisti, kad užtikrintume, jog galime perduoti duomenis į pradinę būseną iš savo „Pi“. Būsite paraginti:

Kur norite išsaugoti pavyzdį? [numatytasis:./is_example.py]:

Galite įvesti pasirinktinį vietinį kelią arba paspausti Enter, kad patvirtintumėte numatytąjį. Būsite paraginti įvesti savo vartotojo vardą ir slaptažodį, kuriuos ką tik sukūrėte užregistravę savo pradinės būsenos paskyrą. Įveskite abu ir diegimas bus baigtas.

4 veiksmas: prieigos raktai

Pažvelkime į sukurto scenarijaus pavyzdį. Tipas:

$ nano is_example.py

15 eilutėje pamatysite eilutę, kuri prasideda streamer = Streamer (bucket_…. Šios eilutės sukuria naują duomenų grupę pavadinimu „Python Stream Example“ir yra susieta su jūsų paskyra. Šis susiejimas įvyksta dėl „access_key =“… “parametras toje pačioje eilutėje. Ši ilga raidžių ir skaičių serija yra jūsų pradinės būsenos paskyros prieigos raktas. Jei žiniatinklio naršyklėje einate į pradinės būsenos paskyrą, viršuje dešinėje spustelėkite savo vartotojo vardą, tada eikite į „mano paskyra“tą patį prieigos raktą rasite puslapio apačioje skiltyje „Srautinio perdavimo prieigos raktai“.

Kiekvieną kartą, kai sukuriate duomenų srautą, tas prieigos raktas nukreipia tą duomenų srautą į jūsų paskyrą (todėl nebendrinkite rakto su niekuo).

5 veiksmas: paleiskite pavyzdį

Paleiskite bandomąjį scenarijų, kad įsitikintumėte, jog galime sukurti duomenų srautą į jūsų pradinės būsenos paskyrą.

Vykdykite šiuos veiksmus:

$ python is_example.py

6 žingsnis: pelnas

Grįžkite į pradinės būsenos paskyrą žiniatinklio naršyklėje. Kairėje žurnalo lentynoje turėtų būti rodomas naujas duomenų rinkinys, pavadintas „Python Stream Example“(gali tekti atnaujinti puslapį). Spustelėkite šį segmentą, tada spustelėkite bangų piktogramą, kad pamatytumėte bandymo duomenis.

Norėsite pereiti prie „Waves“vadovėlio ir susipažinti su šio duomenų vizualizavimo įrankio naudojimu. Tada peržiūrėkite duomenis plytelėse, kad pamatytumėte tuos pačius duomenis prietaisų skydelio formoje.

Dabar esate pasirengęs pradėti transliuoti tikrus duomenis iš „Wunderground“ir dar daugiau.

3 žingsnis: pajuskite skrybėlę

Sense HAT
Sense HAT
Sense HAT
Sense HAT
Sense HAT
Sense HAT

„Sense HAT“yra „Raspberry Pi“priedas, kuriame gausu jutiklių, šviesos diodų ir mažos vairasvirtės. Šis nuostabus priedas yra toks puikus, kad jį neįtikėtinai lengva įdiegti ir naudoti dėl fantastiškos „Python“bibliotekos, kurią galite greitai įdiegti. Šiam projektui „Sense HAT“naudosime temperatūros, drėgmės ir barometrinio slėgio jutiklius. Nustatykime.

Pirmasis žingsnis naudojant „Sense HAT“yra fiziškai įdiegti jį į „Pi“. Išjungę „Pi“, pritvirtinkite skrybėlę, kaip parodyta paveikslėlyje.

Įjunkite „Pi“. Turime įdiegti „Python“biblioteką, kad būtų lengva nuskaityti jutiklio vertes iš „Sense HAT“. Pirmiausia turėsite įsitikinti, kad viskas yra atnaujinta jūsų „Raspbian“versijoje, įvesdami:

$ sudo apt-get atnaujinimas

Tada įdiekite „Sense HAT Python“biblioteką:

$ sudo apt-get install sense-hat

Perkraukite „Pi“

Esame pasirengę išbandyti „Sense HAT“skaitydami iš jo jutiklių duomenis ir siunčiant juos į pradinę būseną.

Išbandykime „Sense HAT“, kad įsitikintume, jog viskas veikia. Mes naudosime scenarijų, esantį adresu https://github.com/InitialState/wunderground-sensehat/blob/master/sensehat.py. Galite nukopijuoti šį scenarijų į „Pi“failą arba pasiekti jį iš mūsų „Github“saugyklos, kurią anksčiau klonavome. Įveskite savo „wunderground-sensehat“katalogą ir „nano“į savo sensehat.py failą įvesdami:

$ nano sensehat.py

Pirmoje eilutėje atkreipkite dėmesį, kad į scenarijų importuojame „SenseHat“biblioteką. Prieš paleisdami šį scenarijų, turime nustatyti vartotojo parametrus.

# --------- Vartotojo nustatymai --------- CITY = "Nešvilis"

BUCKET_NAME = ": semi_sunny:" + CITY + "Oras"

BUCKET_KEY = "sensehat"

ACCESS_KEY = "Jūsų prieigos_raktas"

SENSOR_LOCATION_NAME = "Biuras"

MINUTES_BETWEEN_SENSEHAT_READS = 0.1

# ---------------------------------

Tiksliau, turite nustatyti savo ACCESS_KEY į pradinės būsenos paskyros prieigos raktą. Atkreipkite dėmesį, kaip lengva skaityti duomenis iš „Sense HAT“vienoje „Python“eilutėje (pvz., Sense.get_temperature ()). Komandų eilutėje „Pi“paleiskite scenarijų:

$ sudo python sensehat.py

Eikite į savo pradinės būsenos paskyrą ir peržiūrėkite naują duomenų grupę, sukurtą „Sense HAT“.

Dabar esame pasiruošę viską sudėti ir sukurti hiper-vietinių orų prietaisų skydelį!

4 žingsnis: „Hyper Local Weather“prietaisų skydelis

„Hyper Local Weather“prietaisų skydelis
„Hyper Local Weather“prietaisų skydelis
„Hyper Local Weather“prietaisų skydelis
„Hyper Local Weather“prietaisų skydelis

Paskutinis šio projekto žingsnis yra tiesiog sujungti mūsų orų duomenis ir „Sense HAT“scenarijų į vieną prietaisų skydelį. Norėdami tai padaryti, mes naudosime pradinę būsenos integraciją su „Weatherstack“, kad pridėtume orų duomenis į „Sensehat“prietaisų skydelį, kurį sukūrėme paskutiniame žingsnyje.

„Weatherstack“API naudojimas yra labai paprastas. Anksčiau šioje pamokoje mes turėjome sukurti ir paleisti scenarijų, kad gautumėte duomenis iš orų duomenų API, tačiau nuo šios pamokos pradžios pradinė būsena sukūrė duomenų integravimo rinką. Duomenų integravimo prekyvietė suteikia jums galimybę pasiekti ir transliuoti API į pradinės būsenos prietaisų skydelį be kodo. Tai tiesiog keli pelės paspaudimai ir BAM: orų duomenys. „Medium“aš parašiau išsamesnę pamoką, kaip naudoti „Weatherstack“integraciją ir kurti įspėjimus apie orą, tačiau greitai išvardysiu, kaip pradėti.

„Weatherstack“integracijos naudojimas

1. Prisijunkite prie savo pradinės būsenos paskyros

2. Integracijų puslapio „Weatherstack“laukelyje spustelėkite išsamios informacijos mygtuką. Šiame puslapyje bus pateikta visa pagrindinė informacija apie integraciją ir tai, ko reikia norint ją naudoti. Tokiu atveju jums tiesiog reikės vietos, kurioje norite stebėti orą, pašto kodo (arba platumos ir ilgumos) ir turėsite žinoti, kokiuose vienetuose norite matyti šiuos duomenis (metrinė, mokslinė ar JAV imperinė).

3. Spustelėkite mygtuką Pradėti sąranką ir dešinėje ekrano pusėje pamatysite iššokantį modalinį režimą. Prieš pradėdami stebėti, kaip gaunami orų duomenys, reikia atlikti kelis paprastus veiksmus:

4. Suteikite naujam prietaisų skydeliui pavadinimą. Aš pavadinau savo „Nashville Weather. Pro“patarimą: man patinka naudoti jaustukus savo prietaisų skydelių pavadinimuose, kad suteikčiau jiems šiek tiek daugiau. Greitas būdas sukurti jaustukus „Mac“yra „Ctrl“+„Command“+tarpo klavišas. Jei naudojate „Windows“, laikykite nuspaudę „Windows“mygtuką ir tašką (.) Arba kabliataškį (;). 2 5. Įveskite savo vietą. Aš naudoju srities, kurią noriu stebėti, pašto kodą, tačiau taip pat galite nurodyti platumą ir ilgumą, kad jie būtų konkretesni. Nesunku rasti savo vietovės platumą ir ilgumą, tiesiog eikite į „Google“žemėlapius, ieškodami vietos, tada nukopijuodami platumą ir ilgumą iš naršyklės ir įklijuodami į formą. Šiuo metu galima naudoti tik JAV, JK ir Kanados vietas.

6. Pasirinkite savo vienetus. Pasirinkau JAV/Imperial, nes gyvenau JAV.

7. Pasirinkite sukurti naują grupę arba siųsti „Weatherstack“duomenis į esamą grupę. Šioje pamokoje, jei jau nustatėte „Sense Hat“srautui į pradinę būseną (paskutiniame žingsnyje), tada tiesiog nusiųskite „Weatherstack“duomenis į tas kibiras.

8. Pasirinkite, ar norite, kad visi duomenys, kuriuos siunčia „Weatherstack“, ar tik konkretūs orų duomenys, būtų siunčiami į jūsų prietaisų skydelį. Visada galite išsiųsti visus duomenis ir vėliau išimti keletą plytelių.

9. Pasirinkite, kaip dažnai norite, kad prietaisų skydelis būtų atnaujinamas atsižvelgiant į oro sąlygas. Galite pasirinkti kas 15 minučių arba valandą per valandą. Atminkite, kad duomenų siuntimas kas 15 minučių kainuoja papildomai, palyginti su siuntimu kas valandą. Taigi, jei norite tuo pačiu metu naudoti kitas integracijas rinkoje, galbūt norėsite tiesiog apklausti kas valandą. Visada galite nustoti siųsti duomenis iš integracijos ir pradėti juos iš naujo arba pakeisti duomenų siuntimo dažnumą vėliau. Tačiau jei sustabdysite ir pradėsite iš naujo, jūsų duomenyse atsiras spragų.

10. Spustelėkite Pradėti integravimą. Dabar transliuojate duomenis iš „Weatherstack“! Spustelėkite mygtuką „Peržiūrėti„ IoT “programoje“, kad pamatytumėte pirmuosius duomenų taškus.

11. Tinkinkite savo prietaisų skydelį. Jei transliuojate į naują grupę, mes sukūrėme jums šabloną, kad galėtumėte pradėti. Tačiau jūs turėtumėte tai padaryti patys! Paspauskite rodyklę žemyn viršutiniame prietaisų skydelio centre, kad sumažintumėte laiko juostą, spustelėkite Redaguoti plyteles, perkelkite keletą plytelių, pakeiskite jų dydį ir pakeiskite foną. Padarykite prietaisų skydelį tokį, kokio norite, kad jums būtų patogu įvesti norimus rinkti duomenis. Taip pat galite naudoti kitus „Weatherstack“šablonus, kuriuos jums sukūrėme čia. Norėdami prie savo prietaisų skydelio pridėti šiek tiek daugiau konteksto, taip pat galite pridėti žemėlapį, kuriame rodoma orų stebėjimo vieta. Prietaisų skydelis iš pradžių gali atrodyti šiek tiek plikas, tačiau skirkite šiek tiek laiko ir jis bus užpildytas gražiais istoriniais orų duomenimis.

5 veiksmas: pridėkite žemėlapį prie prietaisų skydelio (premija)

Žemėlapio pridėjimas prie prietaisų skydelio (premija)
Žemėlapio pridėjimas prie prietaisų skydelio (premija)
Žemėlapio pridėjimas prie prietaisų skydelio (premija)
Žemėlapio pridėjimas prie prietaisų skydelio (premija)
Žemėlapio pridėjimas prie prietaisų skydelio (premija)
Žemėlapio pridėjimas prie prietaisų skydelio (premija)

Prie prietaisų skydelio galime lengvai pridėti žemėlapio plytelę, kurioje rodoma mūsų oro srauto vieta. Daugiau apie interaktyvų žemėlapio vaizdą galite sužinoti plytelėse: https://support.initialstate.com/knowledgebase/articles/800232-tiles-map-view. Savo „Python“scenarijuje galėtume tiesiog pridėti naują „streamer.log“teiginį (ir šio skyriaus pabaigoje paaiškinsiu, kaip tai galite padaryti). Vietoj to, pasinaudosime šia galimybe ir parodysime kitokį duomenų siuntimo į prietaisų skydelį būdą.

1 veiksmas: gaukite savo vietos platumos/ilgumos koordinates

Turite gauti savo vietos platumos/ilgumos koordinates. Vienas iš būdų tai padaryti yra eiti į „Google“žemėlapius, ieškoti savo vietos ir priartinti tikslią vietą. URL matysite savo platumos/ilgumos koordinates. Aukščiau pateiktame pavyzdyje mano koordinatės yra 35,925298, -86,8679478.

Nukopijuokite savo koordinates (jų prireiks 2 veiksme) ir įsitikinkite, kad netyčia nenukopijavote jokių papildomų simbolių iš URL.

2 veiksmas: sukurkite URL, kad duomenys būtų siunčiami į jūsų prietaisų skydelį

Spustelėkite nuorodą „nustatymai“po kaušo pavadinimu kaušo lentynoje. Tai parodys aukščiau esantį ekraną. Nukopijuokite tekstą skiltyje „API Endpoint“ir įklijuokite jį į mėgstamą teksto rengyklę. Tai naudosime kurdami URL, kurį galime naudoti duomenims siųsti į esamą grupę ir prietaisų skydelį. Mano segmente nukopijuotas tekstas atrodo taip: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1 Jūsų URL turės prieigos raktą ir bucketKey. Norėdami užbaigti URL, prie URL parametrų turime pridėti srauto pavadinimą ir vertę.

Pridėkite „& MapLocation = YOUR_COORDINATES_FROM_STEP1“prie savo URL

(įveskite 1 veiksmo koordinates, be tarpų ir nekopijuokite mano !!)

Štai kaip atrodo mano: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1&MapLocation=35.925298, -86.8679478

Įklijuokite visą URL į savo naršyklės adreso juostą ir paspauskite „Enter“(arba naudokite komandą „curl“komandų eilutėje), kad išsiųstumėte žemėlapio koordinates į srautą „MapLocation“, į naują grupę.

Jei dabar pažvelgsite į savo informacijos suvestinę plytelėse (gali tekti atnaujinti, jei esate nekantrus), nauja plytelė, pavadinta „MapLocation“, turėjo būti priartinta prie jūsų dabartinės vietos.

2 veiksmas Alternatyva: pakeiskite scenarijų

Jei jums labai nepatinka 2 veiksmas, prie savo „Python“scenarijaus galite tiesiog pridėti kitą „streamer.log“teiginį. Tiesiog pridėkite eilutę

streamer.log („MapLocation“, „YOUR_COORDINATES_FROM_STEP1“)

kažkur def main (): scenarijaus sensehat_wunderground.py funkcija (atkreipkite dėmesį į įtrauką b/c „Python“reikalauja laikytis griežtų įtraukimo taisyklių). Pavyzdžiui, iškart po 138 eilutės pridėjau streamer.log („MapLocation“, „35.925298, -86.8679478“).

6 žingsnis: nustatykite „Sense“skrybėlės temperatūros rodmenis

„Sense“skrybėlės temperatūros rodmenų nustatymas
„Sense“skrybėlės temperatūros rodmenų nustatymas
„Sense“skrybėlės temperatūros rodmenų nustatymas
„Sense“skrybėlės temperatūros rodmenų nustatymas
„Sense“skrybėlės temperatūros rodmenų nustatymas
„Sense“skrybėlės temperatūros rodmenų nustatymas

Galite pastebėti, kad jūsų „Sense HAT“temperatūros rodmenys atrodo šiek tiek aukšti - taip yra todėl. Kaltininkas yra šiluma, susidaranti dėl „Pi“procesoriaus, kaitinant orą aplink „Sense HAT“, kai jis sėdi ant „Pi“.

Kad temperatūros jutiklis būtų naudingas, turime arba atitraukti HAT nuo „Pi“(tai pašalintų svarbų kompaktiško sprendimo pranašumą), arba pabandyti sukalibruoti temperatūros jutiklio rodmenis. CPU yra pagrindinė parazitinės šilumos, veikiančios mūsų temperatūros jutiklį, priežastis, todėl turime išsiaiškinti koreliaciją. Peržiūrėdami „Enviro pHAT“, skirtą „Pi Zero“, mes sukūrėme lygtį, pagal kurią atsižvelgiama į procesoriaus temperatūrą, turinčią įtakos skrybėlės temperatūrai. Norint apskaičiuoti kalibruotą temperatūrą, mums reikia tik CPU temperatūros ir mastelio koeficiento:

temp_calibrated = temp - ((cpu_temp - temp)/FACTOR)

Faktorių galime rasti užrašę faktinę temperatūrą ir ją išsprendę. Norint rasti tikrąją kambario temperatūrą, mums reikia kitokio temperatūros jutiklio nustatymo. Naudodami DHT22 jutiklį (sąrankos instrukcijos čia ir scenarijus čia), galime vienu metu įrašyti ir vizualizuoti abi temperatūras:

Rezultatas atskleidžia, kad „Sense HAT“rodmenys gana pastoviai išjungiami 5-6 laipsniais pagal Farenheitą. Pridėjus procesoriaus temperatūrą į mišinį (naudojant šį scenarijų), pirmiausia parodoma, kad jis yra labai karštas, o antra - atskleidžia tam tikrą bangą, kurią imituoja „Sense HAT“matavimas.

Įrašęs maždaug 24 valandas, aš išsprendžiau veiksnį, naudodamas šešis skirtingus rodmenis šešiais skirtingais laiko momentais. Vidutiniškai apskaičiuojant faktoriaus vertes, galutinė koeficiento vertė buvo 5,466. Taikant lygtį

temp_calibrated = temp - ((cpu_temp - temp) /5.466)

kalibruota temperatūra pasiekė vieną laipsnį faktinės temperatūros rodmens:

Šią kalibravimo korekciją galite paleisti pačiame „Pi“, scenarijaus „wunderground_sensehat.py“viduje.

7 veiksmas: premija: sukonfigūruokite savo orų įspėjimus

Premija: sukonfigūruokite savo orų įspėjimus
Premija: sukonfigūruokite savo orų įspėjimus
Premija: sukonfigūruokite savo orų įspėjimus
Premija: sukonfigūruokite savo orų įspėjimus

Sukurkime SMS įspėjimą, kai temperatūra nukris žemiau nulio.

Mes vykdysime palaikymo puslapyje aprašytą „Trigger“pranešimų sąrankos procesą.

Įsitikinkite, kad jūsų orų duomenų talpykla yra įkelta.

Duomenų lentynoje (po jos pavadinimu) spustelėkite segmento nustatymus.

Spustelėkite skirtuką Trigeriai.

Pasirinkite duomenų srautą, kurį norite įjungti (išskleidžiamajame sąraše galite pasirinkti iš esamų srautų, kai duomenų paketas įkeliamas, arba galite rankiniu būdu įvesti srauto pavadinimą/raktą; *atkreipkite dėmesį, kad „Safari“nepalaiko išskleidžiamųjų HTML5 sąrašų). Aukščiau esančiame ekrano pavyzdyje pasirinkau temperatūrą (F).

Pasirinkite sąlyginį operatorių, šiuo atveju „<“.

Pasirinkite aktyviklio reikšmę, kuri suaktyvins veiksmą (rankiniu būdu įveskite norimą vertę). Tokiu atveju įveskite 32, kaip parodyta aukščiau.

Spustelėkite mygtuką „+“, kad pridėtumėte aktyviklio sąlygą.

Pasirinkite veiksmą (apie esamus galimus veiksmus pranešama SMS žinute arba el. Paštu).

Norėdami pridėti veiksmą, spustelėkite mygtuką „+“. Jei norite užbaigti sąranką, įveskite bet kokį patvirtinimo kodą, jei pridėsite naują telefono numerį ar el. Pašto adresą.

Dabar aktyviklis veikia ir bus suaktyvintas, kai bus įvykdyta sąlyga. Spustelėkite „Atlikta“, kad grįžtumėte į pagrindinį ekraną.

PIR SMS

Kai temperatūra nukrenta žemiau 32, gausite tekstinį pranešimą. Jūs nustatote įspėjimus apie viską, kas yra jūsų orų duomenų grupėje (*atkreipkite dėmesį, kad turite naudoti jaustukų žetonus, o ne tikrus jaustukus).

Pavyzdžiui, kai lyja

: debesis: Oro sąlygos =: skėtis:

Kai tik pučia vėjas

: brūkšnys: vėjo greitis (MPH)> 20

ir kt.

8 žingsnis:

Daiktų interneto konkursas 2016 m
Daiktų interneto konkursas 2016 m
Daiktų interneto konkursas 2016 m
Daiktų interneto konkursas 2016 m

Antrasis prizas daiktų interneto konkurse 2016 m

Rekomenduojamas: