Stap 10: Software: de Edison configureren
De volledige Arduino schets voor de Edison vastzit boven. De nodige bibliotheken zijn ook zipped omhoog mooi ook. U zult moeten om alles uitpakken en het pop eerst in uw omslag van bibliotheken. Ik moest ook configureren van de MUX op het bord van de breakout ter ondersteuning van de SPI. U kunt lezen over dit configuratieproces op de Emutex Labs website.
Wordt opgehaald en organiseert de weergegevens in een reeks onafhankelijke functies, dus u niet aan de dezelfde sensoren die ik gebruikte gebonden bent als u zou willen eenvoudig wijzigen de schets die ik schreef. De belangrijkste functies zijn als volgt:
int getWindSpeed (boolean whichSpeed) geeft als resultaat de windsnelheid in MPH of km/uur
int getAirQuality() rendement luchtkwaliteit in termen van delen per miljoen
int getLightLevel() retourneert lichtniveau in LUX
int getTemperature (boolean whichScale) rendement temperatuur in graden Celsius of Fahrenheit
int getHumidity (float outsideTemperatureCelsius) berekent de relatieve vochtigheid
int getPressure() { retourneert druk in inch
De Edison verzamelt deze gegevens elke 15 minuten en voegt dit toe aan een txt-bestand op de SD-kaart. De gegevens zijn ingedeeld in een eenvoudige ASCII-tekenreeks in een geïnspireerd door de NMEA syntaxis output formaat door GPS-ontvangers. Hier is een voorbeeld van een tekenreeks met extra spaties voor het lezen van duidelijkheid:
$ D6 M4 Y2015 H12 M45 L100 H50 W10 P10 A40 T72-\r \n
Elke tekenreeks begint met een "$"-teken en wordt onmiddellijk gevolgd door de dag, maand, jaar, uur, minuut, lichtniveau, percentage van de luchtvochtigheid, windsnelheid, druk, luchtkwaliteit en temperatuur. De loadSensorDataToCard() functie beëindigt elke tekenreeks met een harde return en line feed of waardoor het veel makkelijker om te lezen van de ruwe txt-bestand zonder een uitgebreide parseren.