Pulse Oximeter datafångst med Raspberry Pi (5 / 8 steg)
Steg 5: Skript för att fånga och infoga data
Jag kör en beskjuta skrivar som en bakgrundsprocess som öppnar en serial-enhet och ständigt söker efter data. När den läser en linje, det kommer att hacka det upp (från rådata, ett enda utrymme är avgränsaren) och infoga en rad i databasen. Jag kommer att använda PHP scripting språk och sub som tillägget api för att ansluta till databasen. Nedan finns de bara de viktigaste delarna av koden - hela filen heter poxs.php och är i zip-filen bifogas till "Programvara" steg ovan.
$ser = fopen("/dev/ttyUSB0","r");
$dbh = ny sub ("sqlite: / var/www/pulseox.db ');
$query = $dbh -> förbereda ("Infoga i pulseox (stampdate, stamptime, spo2, bpm) värden (: param0,: param1,: param2,: parameter3);");
medan (! feof($ser)) {
$buffer = fgets($ser);
$din = explodera ("", $buffer);
$query -> bindParam (': param0', $din[0]); # stampdate - 12/30/14
$query -> bindParam (": param1', $din[1]); # stamptime - 08:00:00
$query -> bindParam (": param2', $din[3]); # spo2 - SPO2 = 100%
$query -> bindParam (": parameter3 ', $din[4]); # bpm - BPM = 123
$query -> execute();
}
För enkelhetens, jag har tagit bort felavkänning från koden ovan, som kontrollerar om en serial-enhet inte kunde öppnas eller felkontrollerar olika databas.
Som varje rad är läst, kotletter kommandot "explodera" raden i varje bit data. Sedan binds varje bit data på rätt plats i SQL-uttrycket innan du kör SQL-databasen.