<?php $sqlite = 'teleinfo.sqlite'; // // renvoie une trame teleinfo complete sous forme d'array // function lireTrameConso () { $handle = fopen ('/dev/ttyAMA0', "r"); // ouverture du flux while (fread($handle, 1) != chr(2)); // on attend la fin d'une trame pour commencer avec la trame suivante $char = ''; $trame = ''; $datas = ''; while ($char != chr(2)) { // on lit tous les caracteres jusqu'a la fin de la trame $char = fread($handle, 1); if ($char != chr(2)){ $trame .= $char; } } fclose ($handle); // on ferme le flux $trame .= 'TIMESTAMP ' . time() . ' '; /* $trame = chop(substr($trame,1,-1)); // on supprime les caracteres de debut et fin de trame $messages = explode(chr(10), $trame); // on separe les messages de la trame foreach ($messages as $key => $message) { $message = explode (' ', $message, 3); // on separe l'etiquette, la valeur et la somme de controle de chaque message if(!empty($message[0]) && !empty($message[1])) { $etiquette = $message[0]; $valeur = $message[1]; $datas[$etiquette] = $valeur; // on stock les etiquettes et les valeurs de l'array datas } } $datas["timestamp"] = time(); return $datas; */ return $trame; } while(true) { $dateJour = date('Ymd'); $trame = lireTrameConso(); // recupere une trame teleinfo print $trame; // if (count($trame) == 11 ) { // $fp = fopen('teleinfo_'.$dateJour.'.csv', 'a'); // fputcsv($fp, $trame); // fclose($fp); // } } ?>