Innehållsförteckning:

Bygg en Raspberry Pi SUPER väderstation: 8 steg (med bilder)
Bygg en Raspberry Pi SUPER väderstation: 8 steg (med bilder)

Video: Bygg en Raspberry Pi SUPER väderstation: 8 steg (med bilder)

Video: Bygg en Raspberry Pi SUPER väderstation: 8 steg (med bilder)
Video: Bygg en mediaspelare med Raspberry Pi (Hur funkar det?) 2024, Juli
Anonim
Image
Image

Låt oss inse det, vi människor pratar mycket om vädret ⛅️. Den genomsnittliga personen talar om vädret fyra gånger om dagen, i genomsnitt 8 minuter och 21 sekunder. Räkna ut och det är totalt 10 månader av ditt liv som du kommer att spendera och jappa om vädret. Vädret rankas som nummer 1-ämnet för konversationsstartare och obekväma tystnadsbrytare. Om vi ska prata så mycket om det kan vi lika gärna ta vår vädergata till en helt ny nivå. Detta supersnygga och enkla projekt kommer att utnyttja Internet of Things (IoT) och en Raspberry Pi för att göra just det.

Vi ska bygga vår alldeles hyperlokala IoT-instrumentpanel för väder, fånga vädret i och utanför vårt hus över tid. Nästa gång någon frågar dig "hur är det med vädret på sistone?", Kommer du att kunna piska ut din telefon och lämna dem andfådda med din galna väderanalys -skicklighet ☀️.

Vad du behöver för att gå kursen: 1. Raspberry Pi med internetanslutning

2. Raspberry Pi SenseHAT

3. En 6 40-stifts IDE hane till hona förlängningskabel (tillval för temperaturnoggrannhet)

4. Ett initialt statskonto

5. Det är det!

Projektnivå: Nybörjare

Ungefärlig tid att slutföra: 20 minuter

Ungefärlig rolig faktor: Av listorna

I denna steg-för-steg-handledning kommer du att: lära dig hur du använder Weatherstack API-integrationen på Initial State för att få det lokala vädret ute i ditt område

- Lär dig hur du använder en Raspberry Pi med en Sense HAT (https://www.raspberrypi.org/products/sense-hat/) för att fånga väderdata inuti ditt hus

- Bygg din egen personliga hyperlokala väderpanel som du kan komma åt från vilken webbläsare som helst på din bärbara dator eller mobila enhet

- Ge din meteorolog en löpning för sina pengar

Tillbehör

Vad du behöver för att gå kursen:

1. Raspberry Pi med internetanslutning

2. Raspberry Pi SenseHAT

3. En 6 40-stifts IDE hane till hona förlängningskabel (tillval för temperaturnoggrannhet)

4. Ett initialt statskonto

5. Det är det!

Steg 1: Komma igång

Vi har redan lagt ner mycket benarbete för att du ska sätta ihop koden och organisera informationen. Vi behöver bara att du gör några justeringar på vägen.

För att hämta allt vi har förberett för dig måste du klona förvaret från GitHub. Github är en fantastisk tjänst som låter oss lagra, revidera och hantera sådana här projekt. För att klona förvaret är allt vi behöver göra att gå in på vår Pi -terminal, eller din datorterminal som är SSH'd i din pi och skriva det här kommandot:

$ git-klon

Tryck på enter så ser du denna information:

pi@raspberrypi ~ $ git-klon

Kloning till 'wunderground-sensehat' …

fjärrkontroll: Räkna objekt: 28, klart.

fjärrkontroll: Totalt 28 (delta 0), återanvänd 0 (delta 0), paketåteranvänd 28

Uppackning av föremål: 100% (28/28), klart.

Kontrollerar anslutning … klar.

När du väl har sett detta och grattis, har du framgångsrikt klonat Github Repo och har alla nödvändiga filer för att bygga din Super Weather Station. Innan vi går vidare till nästa steg, låt oss ta lite tid att utforska i den här katalogen och lära oss några grundläggande kommandoradskommandon.

Skriv in kommandot nedan i din terminal:

$ ls

Det här kommandot listar allt som är tillgängligt i katalogen som du för närvarande befinner dig i. Denna lista visar att vår Github Repo framgångsrikt har klonats in i vår katalog under namnet "wunderground-sensehat." Låt oss ta en titt på vad som finns i den katalogen. För att ändra kataloger är allt du behöver göra att skriva "cd" och sedan skriva namnet på katalogen som du vill gå till.

I det här fallet skriver vi:

$ cd wunderground-sensehat

När vi tryckt på enter ser du att vi nu finns i wunderground-sensehat-katalogen. Låt oss skriva ls igen för att se vilka filer vi har installerat på vår pi.

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

Här ser vi att vi har vårt readme -dokument och ett par olika pythonfiler. Låt oss ta en titt på sensehat.py. Istället för att hoppa in i filen med cd -kommandot som vi gjorde för kataloger, kommer vi att använda kommandot nano. Nano -kommandot gör att vi kan öppna textredigeraren där vi har all vår pythonkod för varje segment av detta projekt. Fortsätt och skriv:

$ nano sensehat.py

Här kan du se all kod vi har förberett för dig för det här projektet. Vi kommer inte att göra några ändringar i det här dokumentet ännu, men rulla gärna runt och se vad vi ska göra senare i den här självstudien.

Steg 2: Ursprunglig status

Initialtillstånd
Initialtillstånd

Vi vill strömma all vår väderdata till en molntjänst och få den tjänsten att göra våra data till en trevlig instrumentpanel som vi kan komma åt från vår bärbara dator eller mobila enhet. Våra data behöver en destination. Vi kommer att använda Initial State som den destinationen.

Steg 1: Registrera dig för ett Initial State -konto

Gå till https://www.initialstate.com/app#/register/ och skapa ett nytt konto.

Steg 2: Installera ISStreamer

Installera Initial State Python -modulen på din Raspberry Pi: Vid en kommandotolk (glöm inte att SSH in i din Pi först), kör följande kommando:

$ cd/home/pi/

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

Säkerhetsanmärkning: Kommandot ovan har en viktig anatomi som användaren bör vara medveten om.

1) Det finns en föregående / före curl. Detta är viktigt för att säkerställa att inget alias för curl körs om ett skapades. Detta hjälper till att minska risken för att kommandot gör mer än avsett.

2) Kommandot är ett piped -kommando, så när du kör rör du utmatningen från ett skript som hämtas från https://get.initialstate.com/python till kommandot sudo bash. Detta görs för att förenkla installationen, men det bör noteras att https är viktigt här för att säkerställa ingen man-in-the-middle manipulation av installationsskriptet, särskilt eftersom manuset körs med förhöjda privilegier. Detta är ett vanligt sätt att förenkla installation och installation, men om du är lite mer försiktig finns det lite mindre praktiska alternativ: du kan dela upp kommandot i två steg och undersöka bash -skriptet som laddas ner från curl -kommandot själv för att försäkra dig om det är trohet ELLER du kan följa pip -instruktionerna, du får bara inte ett automatiskt genererat exempelskript.

Steg 3: Gör lite Automagic

Efter steg 2 ser du något som liknar följande utmatning till skärmen:

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

Lösenord: Börjar ISStreamer Python Enkel installation!

Det kan ta ett par minuter att installera, ta lite kaffe:)

Men glöm inte att komma tillbaka, jag har frågor senare!

Hittade easy_install: setuptools 1.1.6

Hittade pip: pip 1.5.6 från /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7)

pip major version: 1

pip minor version: 5

ISStreamer hittades, uppdateras …

Krav redan uppdaterat: ISStreamer i /Library/Python/2.7/site-packages Rengöring …

Vill du automatiskt få ett exempelskript? [y/N]

(utmatningen kan vara annorlunda och ta längre tid om du aldrig har installerat Python -streamingmodulen Initial State tidigare)

När du uppmanas att automatiskt hämta ett exempelskript skriver du y.

Detta skapar ett testskript som vi kan köra för att säkerställa att vi kan strömma data till Initial State från vår Pi. Du kommer att uppmanas:

Var vill du spara exemplet? [standard:./is_example.py]:

Du kan antingen skriva en anpassad lokal sökväg eller trycka på enter för att acceptera standard. Du kommer att bli ombedd att ange ditt användarnamn och lösenord som du just skapade när du registrerade ditt initiala statskonto. Ange båda och installationen slutförs.

Steg 4: Åtkomstnycklar

Låt oss ta en titt på exempelskriptet som skapades. Typ:

$ nano är_exempel.py

På rad 15 ser du en rad som börjar med streamer = Streamer (bucket_…. Dessa rader skapar en ny datahink med namnet”Python Stream Exempel” och är kopplad till ditt konto. Denna koppling sker på grund av access_key =”…” parameter på samma rad. Den långa serien med bokstäver och siffror är din åtkomstnyckel för initialstatskontot. Om du går till ditt ursprungliga statskonto i din webbläsare klickar du på ditt användarnamn högst upp till höger och går sedan till "mitt konto", hittar du samma åtkomstnyckel längst ned på sidan under "Strömmande åtkomstnycklar".

Varje gång du skapar en dataström, leder den åtkomstnyckeln den dataströmmen till ditt konto (så dela inte din nyckel med någon).

Steg 5: Kör exemplet

Kör testskriptet för att se till att vi kan skapa en dataström till ditt Initial State -konto.

Kör följande:

$ python är_exempel.py

Steg 6: Vinst

Gå tillbaka till ditt ursprungliga statskonto i din webbläsare. En ny datahink som heter "Python Stream Exempel" borde ha dykt upp till vänster i din logghylla (du kan behöva uppdatera sidan). Klicka på den här hinken och klicka sedan på ikonen Waves för att se testdata.

Du kommer att vilja gå igenom Waves -handledningen för att bekanta dig med hur du använder detta datavisualiseringsverktyg. Visa sedan data i plattor för att se samma data i instrumentpanelsform.

Du är nu redo att börja strömma verklig data från Wunderground och mer.

Steg 3: Känsla HAT

Känsla HAT
Känsla HAT
Känsla HAT
Känsla HAT
Känsla HAT
Känsla HAT

Sense HAT är ett tilläggskort för Raspberry Pi som är fullt av sensorer, lysdioder och en liten joystick. Det som är så bra med det här lilla tillägget är att det är otroligt enkelt att installera och använda tack vare ett fantastiskt Python-bibliotek som du snabbt kan installera. För detta projekt kommer vi att använda temperatur-, luftfuktighets- och barometriska trycksensorer på Sense HAT. Låt oss ställa upp det.

Det första steget i att använda Sense HAT är att fysiskt installera den på din Pi. Med Pi avstängd, fäst HAT som visas på bilden.

Slå på din Pi. Vi måste installera Python -biblioteket för att göra det enkelt att läsa sensorvärdena från Sense HAT. Först måste du se till att allt är uppdaterat i din version av Raspbian genom att skriva:

$ sudo apt-get uppdatering

Installera sedan Sense HAT Python -biblioteket:

$ sudo apt-get install sense-hat

Starta om din Pi

Vi är redo att testa Sense HAT genom att läsa sensordata från den och skicka den till Initial State.

Låt oss testa vår Sense HAT för att se till att allt fungerar. Vi kommer att använda skriptet som finns på https://github.com/InitialState/wunderground-sensehat/blob/master/sensehat.py. Du kan kopiera detta skript till en fil på din Pi eller komma åt det från vårt Github -förråd som vi klonade tidigare. Byt till din wunderground-sensehat-katalog och sedan nano till din sensehat.py-fil genom att skriva:

$ nano sensehat.py

Lägg märke till på första raden att vi importerar SenseHat -biblioteket till skriptet. Innan du kör detta skript måste vi konfigurera våra användarparametrar.

# --------- Användarinställningar --------- CITY = "Nashville"

BUCKET_NAME = ": delvis_soligt:" + CITY + "Väder"

BUCKET_KEY = "sensehat"

ACCESS_KEY = "Your_Access_Key"

SENSOR_LOCATION_NAME = "Kontor"

MINUTES_BETWEEN_SENSEHAT_READS = 0,1

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

Specifikt måste du ställa in din ACCESS_KEY till din åtkomstnyckel för initialstatskontot. Lägg märke till hur enkelt det är att läsa data från Sense HAT på en enda rad i Python (t.ex. sense.get_temperature ()). Kör skriptet vid en kommandotolk på din Pi:

$ sudo python sensehat.py

Gå till ditt Initial State -konto och se den nya datahinkan som skapats av Sense HAT.

Nu är vi redo att sätta ihop allt och skapa vår hyperlokala väderinstrumentpanel!

Steg 4: Hyper Local Weather Dashboard

Hyper Local Weather Dashboard
Hyper Local Weather Dashboard
Hyper Local Weather Dashboard
Hyper Local Weather Dashboard

Det sista steget i detta projekt är helt enkelt att kombinera våra väderdata och vårt Sense HAT -skript till en enda instrumentpanel. För att göra detta kommer vi att använda Initial State Integration with Weatherstack för att lägga till väderdata i vår Sensehat -instrumentpanel som vi skapade i det sista steget.

Att använda Weatherstack API är superenkelt. Tidigare på den här självstudien fick vi dig att skapa och köra ett skript för att hämta data från ett väderdatapi, men sedan starten av denna handledning har Initial State skapat en dataintegrationsmarknad. Data Integration Marketplace ger dig möjlighet att komma åt och streama API: er till en Initial State -instrumentpanel utan kod. Det är bokstavligen bara några musklick och BAM: väderdata. På medium har jag skrivit en mer ingående handledning om hur du använder Weatherstack-integrationen och skapar vädervarningar, men jag listar snabbt hur jag kommer igång nedan.

Använda Weatherstack -integrationen

1. Logga in på ditt initiala statskonto

2. Klicka på informationsknappen i rutan Weatherstack på integrationssidan. Den här sidan berättar all grundläggande information om integrationen och vad som krävs för att kunna använda den. I det här fallet behöver du bara ett postnummer (eller latitud och longitud) för en plats som du vill övervaka vädret för, och du måste veta vilka enheter du vill se data i (metrisk, vetenskaplig eller amerikansk kejserlig).

3. Klicka på knappen Starta installation och du kommer att se en modal som dyker upp från höger sida av skärmen. Det finns bara några enkla steg att ta innan vi kan börja se att väderdatan rullar in:

4. Ge ditt nya instrumentpanel ett namn. Jag namngav mitt Nashville Weather. Pro -tips: Jag gillar att använda emoji i mina instrumentpanelsnamn för att ge dem lite mer oomph. Ett snabbt sätt att dra upp emojis på en Mac är Ctrl+Command+mellanslag. För Windows håller du Windows -knappen och antingen punkten (.) Eller semikolon (;). 2 5. Ange din plats. Jag använder postnumret för det område jag vill spåra, men du kan också ange latitud och longitud för att vara mer specifik. Det är lätt att hitta latitud och longitud för ditt område bara genom att gå till google maps, söka efter en plats och sedan kopiera latitud och longitud från webbläsaren och klistra in den i formuläret. Endast platser i USA, Storbritannien och Kanada kan användas för närvarande.

6. Välj dina enheter. Jag valde US/Imperial eftersom jag bodde i USA.

7. Välj att skapa en ny hink eller skicka din Weatherstack -data till en befintlig hink. Om du redan har konfigurerat din Sense Hat för att strömma till Initial State (i det sista steget) kan du bara skicka data från Weatherstack till den där hinken.

8. Välj om du vill ha all data som Weatherstack skickar eller om du vill att specifika väderdata ska skickas till din instrumentpanel. Du kan alltid skicka all data och ta ut några brickor senare.

9. Välj hur ofta du vill att din instrumentpanel ska uppdateras med väderförhållanden. Du kan välja mellan var 15: e minut eller timme för timme. Tänk på att skicka data var 15: e minut kostar en extra token jämfört med att skicka den varje timme. Så, om du vill använda andra integrationer på marknaden samtidigt, kanske du bara vill polla varje timme. Du kan alltid sluta skicka data från integrationen och starta den igen, eller ändra frekvensen vid vilken du skickar data senare. Men om du stoppar det och börjar om igen kommer det att finnas luckor i dina data.

10. Klicka på Starta integration. Nu strömmar du data från Weatherstack! Klicka på knappen "Visa i IoT -appen" för att se de första datapunkterna rulla in.

11. Anpassa din instrumentpanel. Om du strömmar till en ny hink har vi skapat en mall för att komma igång. Du bör dock göra det till ditt eget! Tryck på nedåtpilen högst upp på instrumentpanelen för att ta ner tidslinjen, klicka på Redigera plattor, flytta några brickor, ändra storlek på dem och ändra bakgrunden. Gör instrumentpanelen som du vill ha den så att det är lätt för dig att ta in data som du vill samla in. Du kan också använda andra Weatherstack -mallar som vi har skapat åt dig här. För att lägga till lite mer sammanhang i din instrumentpanel kan du också lägga till en karta som visar var du övervakar vädret. Din instrumentpanel kan se lite naken ut först, men ge det lite tid och den kommer att fyllas med vackra historiska väderdata.

Steg 5: Lägg till en karta till din instrumentpanel (bonus)

Lägg till en karta till din instrumentpanel (bonus)
Lägg till en karta till din instrumentpanel (bonus)
Lägg till en karta till din instrumentpanel (bonus)
Lägg till en karta till din instrumentpanel (bonus)
Lägg till en karta till din instrumentpanel (bonus)
Lägg till en karta till din instrumentpanel (bonus)

Vi kan enkelt lägga till en karta på vår instrumentpanel som visar var vår väderström ligger. Du kan lära dig mer om den interaktiva kartvyn i brickor på https://support.initialstate.com/knowledgebase/articles/800232-tiles-map-view. Vi kan helt enkelt lägga till ett nytt streamer.log -uttalande i vårt Python -skript (och jag ska förklara hur du kan göra det i slutet av det här avsnittet). Istället kommer vi att passa på att visa dig ett annat sätt att skicka data till din instrumentpanel.

Steg 1: Skaffa din platsens latitud/longitud -koordinater

Du måste få latitud/longitudkoordinaterna för din plats. Ett sätt att göra detta är att gå till Google Maps, söka efter din plats och zooma in till din exakta plats. I webbadressen ser du dina latitud/longitud -koordinater. I exemplet ovan är mina koordinater 35.925298, -86.8679478.

Kopiera dina koordinater (du behöver dem i steg 2) och se till att du inte råkar kopiera några extra tecken från webbadressen.

Steg 2: Skapa en URL för att skicka data till din instrumentpanel

Klicka på länken "inställningar" under skopnamnet i skophyllan. Detta kommer att ta upp skärmen ovan. Kopiera texten i avsnittet API Endpoint och klistra in den i din favorittextredigerare. Vi kommer att använda detta för att bygga en URL som vi kan använda för att skicka data till vår befintliga hink och instrumentpanel. I min hink ser texten som jag kopierade ut: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1 Din webbadress kommer att ha din accessKey och bucketKey. Vi måste lägga till ett strömnamn och värde till URL -parametrarna för att slutföra URL: en.

Lägg till "& MapLocation = YOUR_COORDINATES_FROM_STEP1" till din webbadress

(sätt in koordinaterna från steg 1, inga mellanslag och kopiera inte mina !!)

Så här ser min ut: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1&MapLocation=35.925298, -86.8679478

Klistra in din fullständiga URL i adressfältet i din webbläsare och tryck på enter (eller använd kommandot 'curl' vid en kommandotolk) för att skicka dina kartkoordinater till strömmen "MapLocation" i din nya hink.

Om du tittar på din instrumentpanel i plattor nu (du kan behöva uppdatera om du blir otålig), borde en ny kakel med namnet MapLocation ha dykt upp zoomat in på din nuvarande plats.

Steg 2 Alternativ: Ändra ditt manus

Om du verkligen inte gillar steg 2 ovan kan du helt enkelt lägga till ytterligare ett streamer.log -uttalande i ditt Python -skript. Lägg bara till raden

streamer.log ("MapLocation", "YOUR_COORDINATES_FROM_STEP1")

någonstans inuti def main (): funktionen för scriptet sensehat_wunderground.py (var uppmärksam på indrag b/c Python kräver att du följer strikta indragningsregler). Till exempel lade jag till streamer.log ("MapLocation", "35.925298, -86.8679478") direkt efter rad 138.

Steg 6: Fixering av Sense Hat -temperaturavläsning

Fixering av Sense Hat -temperaturavläsning
Fixering av Sense Hat -temperaturavläsning
Fixering av Sense Hat -temperaturavläsning
Fixering av Sense Hat -temperaturavläsning
Fixering av Sense Hat -temperaturavläsning
Fixering av Sense Hat -temperaturavläsning

Du kanske märker att din Sense HAT: s temperaturmätningar verkar lite höga - det beror det på. Den skyldige är värmen som genereras från Pi: s CPU som värmer upp luften runt Sense HAT när den sitter ovanpå Pi.

För att göra temperatursensorn användbar måste vi antingen ta bort hatten från Pi (vilket skulle eliminera den viktiga fördelen med att vara en kompakt lösning) eller försöka kalibrera temperaturgivarens avläsning. CPU: n är den främsta orsaken till den parasitiska värmen som påverkar vår temperatursensor, så vi måste räkna ut sambandet. När vi granskade Enviro pHAT för Pi Zero kom vi fram till en ekvation för att redogöra för CPU -temperaturen som påverkar hattens temperaturavläsning. Vi behöver bara CPU -temperaturen och en skalningsfaktor för att beräkna den kalibrerade temperaturen:

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

Vi kan hitta faktorn genom att registrera den verkliga temperaturen och lösa den. För att hitta den faktiska temperaturen i rummet behöver vi en annan temperatursensorinställning. Med en DHT22 -sensor (installationsinstruktioner här och skript här) kan vi spela in och visualisera båda temperaturerna samtidigt:

Resultatet avslöjar att Sense HAT: s avläsning är avstängd med 5-6 grader Fahrenheit ganska konsekvent. Genom att lägga till CPU -temperaturen i mixen (med det här skriptet), visar först att det är extremt varmt, och sedan av avslöjar en slags våg som Sense HAT -mätningen efterliknar.

Efter inspelning i cirka 24 timmar, löste jag för faktorn med sex olika avläsningar vid sex olika tidpunkter. Medelvärdet av faktorvärdena gav ett slutfaktorvärde på 5,466. Tillämpa ekvationen

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

den kalibrerade temperaturen kom inom en grad av den faktiska temperaturavläsningen:

Du kan köra denna kalibreringskorrigering på själva Pi, inuti wunderground_sensehat.py -skriptet.

Steg 7: Bonus: Konfigurera dina egna vädervarningar

Bonus: Konfigurera dina egna vädervarningar
Bonus: Konfigurera dina egna vädervarningar
Bonus: Konfigurera dina egna vädervarningar
Bonus: Konfigurera dina egna vädervarningar

Låt oss skapa en SMS -varning när temperaturen sjunker under fryspunkten.

Vi kommer att följa installationsprocessen för utlösande aviseringar som beskrivs på supportsidan.

Se till att din väderdatahink är laddad.

Klicka på skopans inställningar i datahyllan (under dess namn).

Klicka på fliken Utlösare.

Välj den dataström du vill aktivera (du kan använda listrutan för att välja från befintliga strömmar när en datahink har laddats eller så kan du skriva in strömnamnet/nyckeln manuellt. *Notera att Safari inte stöder HTML5-rullgardinslistor). I mitt exempel skärmdump ovan, valde jag temperatur (F).

Välj den villkorade operatören, i det här fallet '<'.

Välj utlösarvärdet som ska utlösa en åtgärd (skriv in önskat värde manuellt). I det här fallet skriver du in 32 som visas ovan.

Klicka på knappen+för att lägga till utlösningsvillkoret.

Välj åtgärd (aktuella tillgängliga åtgärder meddelas via SMS eller e -post).

Klicka på knappen+för att lägga till åtgärden. Ange någon verifieringskod om du lägger till ett nytt telefonnummer eller e -post för att slutföra installationen.

Din avtryckare är nu live och kommer att skjuta när villkoret är uppfyllt. Klicka på klart för att återgå till huvudskärmen.

PIR SMS

När temperaturen sjunker under 32 får du ett textmeddelande. Du ställer in varningar om allt i din väderdatahink (*notera att du måste använda emoji -tokens, inte de faktiska emojis).

Till exempel när det regnar

: moln: Väderförhållanden =: paraply:

När det blåser

: streck: Vindhastighet (MPH)> 20

etc.

Steg 8:

Tävlingen Internet of Things 2016
Tävlingen Internet of Things 2016
Tävlingen Internet of Things 2016
Tävlingen Internet of Things 2016

Andra pris i Internet of Things Contest 2016

Rekommenderad: