Forside | Regler | Praktisk | Kom i gang | Til læreren | Historie | Billedgalleri

Sådan sender I data fra satellitten

Mange eksempelfiler i Arduino-libraries indeholder kode som kunne se sådan her ud:

Serial.print("Temperature: ");
Serial.print(bmp.readTemperature());
Serial.println(" °C");

Serial.print("Pressure: ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");

Serial.print("Altitude: ");
Serial.print(bmp.readAltitude());
Serial.println(" m");
Serial.println();

Det giver sådan et output her:

Temperature: 23.71 °C
Pressure: 101319 Pa
Altitude: 30.82 m

Temperature: 23.89 °C
Pressure: 101318 Pa
Altitude: 30.76 m

Temperature: 23.63 °C
Pressure: 101319 Pa
Altitude: 30.82 m

Fire linjers data med ét målepunkt i hver, undtagen mellemrumslinjen, og måske sender I sådan en fire gange i sekundet. Det giver 16 linjer/s. Prøv så at forestille jer, at jeres payload er tændt i et par timer, og I har nu over 100.000 linjer af den slags. Hvordan vil I plotte f.eks. lufttrykket som funktion af temperaturen?

Rigtigt: Det er noget hejs.

Hvad nu, hvis jeres kode i stedet ser f.eks. sådan her ud:

float temp = bmp.readTemperature();
float pres = bmp.readPressure();
float alt  = bmp.readAltitude();
Serial.print(temp);
Serial.print(";");
Serial.print(pres);
Serial.print(";");
Serial.print(alt);
Serial.println();

Så får I i stedet sådan et output her:

29.50;102507;-0.91
29.50;102514;-0.50
29.50;102515;-0.58
29.50;102508;-0.25
29.50;102509;-0.41
29.50;102517;-0.91

– langt nemmere at importere i enten et regneark eller et python-program for at plotte data!

Komma-separeret eller semikolon-separeret?

CSV står for "comma-separated values", og hvis man kommer fra et engelsksproget land, hvor 1 bar = 101325.0 Pa giver det fint mening at adskille værdier med et komma, for der forekommer jo ikke komma i selve målingerne. Men det gør der på dansk! Hvis f.eks. vi havde adskilt ovenstående værdier med komma, ville det se sådan her ud:

29.50,102508,-0.25

No problem. Men hvad nu, hvis I importerede disse data til et dansksproget regnearksprogram, det kunne f.eks. være Microsoft Excel, og programmet ændrede decimalpunktummerne til kommaer? Så ville I pludselig stå med sådan noget her:

29,50,102.508,-0,25

Der er endda indsat et tusindtals-adskillepunktum!

Derfor kan man vælge at adskille værdier med semikolonner – under forudsætning af, at man ikke har andre semikolonner i sit output er det en rigtig god ide.

 

   Dette website er lavet 100% uden kunstig intelligens.