Väderstation (10 / 11 steg)
Steg 10: Programvara: Konfigurera Edison
Den kompletta Arduino skissen för Edison fästas ovanför. De nödvändiga biblioteken är också zippade fint också. Måste du packa upp allt och popmusik den till mappen Bibliotek först. Jag behövde också konfigurera MUX i breakout styrelsen att stödja SPI. Du kan läsa om att konfigurationsprocessen på Emutex Labs webbplats.
Hämtas och organiserar väderdata i en serie av oberoende funktioner, så du inte är bunden till samma sensorer jag använde om du skulle vilja enkelt ändra den skiss som jag skrev. De viktigaste funktionerna är följande:
int getWindSpeed (boolean whichSpeed) returnerar vindhastighet i MPH eller km/h
int getAirQuality() returnerar luftkvalitet i delar per miljon
int getLightLevel() returnerar ljusnivån i LUX
int getTemperature (boolean whichScale) returnerar temperatur i grader Celsius eller Fahrenheit
int getHumidity (float outsideTemperatureCelsius) beräknar den relativa luftfuktigheten
int getPressure() { returnerar trycket i tum
Edison samlar denna data var 15 minut och lägger till det till en txt-fil på SD-kortet. Data är organiserad i en enkel ASCII-sträng i ett format som är inspirerad av NMEA syntax utgång av GPS-mottagare. Här är en prov sträng med extra utrymmen för läsning klarhet:
$ D6 M4 Y2015 H12 M45 L100 H50 W10 P10 A40 T72 \r \n
Varje sträng börjar med ett '$' tecken och följs av dag, månad, år, timme, minut, ljusnivå, luftfuktighet procentandel, vindhastighet, tryck, luftkvalitet, och temperatur. Funktionen loadSensorDataToCard() avslutar varje sträng med en vagnretur och radmatning gör det mycket lättare att läsa raw txt-filen utan några avancerade parsning.