Für meinen Inhome-Temperatursensor verwende ich ein Himbeer-Pi mit PHP, SQLite, PDO und HTML.
Ich habe eine Tabelle in SQLite erstellt
Verwenden
BEGIN;
CREATE TABLE waarden (datum TEXT, tijd TEXT, zone TEXT, lucht REAL, temperatuur REAL);
COMMIT;
Mein rpi mit DHT22 zeichnet alles gut auf, also habe ich eine Webseite erstellt, die über AJAX auf die Daten zugreift, indem ich die folgende php.file verwende
<?php
function datumConversie($datum){
$delen = explode("https://stackoverflow.com/",$datum,3);
$geconverteerd = $delen[2].$delen[0].$delen[1];
return $geconverteerd;
}
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);
$db = new PDO("sqlite:/home/pi/sensor.db");
$result_array = array();
$date = $_POST["datepicker"];
$waarde = datumConversie($date);
$tijd="";
$temperatuur="";
$query = "SELECT datum, tijd, zone,lucht, temperatuur FROM waarden WHERE datum = $waarde";
$result = $db->query($query);
foreach($result as $row)
{
array_push($result_array, $row);
}
echo json_encode($result_array);
$db = null;
?>
Das Problem ist, dass, wenn ich in die Browser-Antwort schaue, es scheint, dass Werte zweimal zurückgegeben werden. Einmal mit ihrem entsprechenden Feldnamen und einmal mit ihrem Spaltenindex. (0 ist datum, 1 ist tijd usw.). Siehe unten
{“datum”:”20170601″,”0″:”20170601″,”tijd”:”00:01″,”1″:”00:01″,”zone”:”kelder”,”2″:” kelder”,”lucht”:”53.0″,”3″:”53.0″,”temperatuur”:”24.3″,”4″:”24.3″}, {“datum”:”20170601″,”0″:” 20170601″,”tijd”:”00:06″,”1″:”00:06″,”zone”:”kelder”,”2″:”kelder”,”lucht”:”53.1″,”3″ :”53.1″,”temperatuur”:”24.3″,”4″:”24.3″}, {“datum”:”20170601″,”0″:”20170601″,”tijd”:”00:11″,” 1″:”00:11″,”zone”:”kelder”,”2″:”kelder”,”lucht”:”53.1″,”3″:”53.1″,”temperatuur”:”24.2″,” 4″:”24,2″},
Wie kann ich das vermeiden. Ich habe mehrere Konvertierungen ausprobiert, die am Ende funktionieren können, aber das ist nur das Patchen eines Fehlers, ohne die Ursache anzugehen?
Irgendwelche Vorschläge