hi,
ich habe einen Mega, auf dem unter anderem diverse Sensoren Daten liefern, welche auf dem Raspberry in eine Datenbank geschrieben werden sollen.
Die Daten werden vom Raspberry via usb 'angefordert'.
Zusätzlich sollen auf gleiche weise auch Parameter am Arduino geändert werden können.
Der Arduino teil funktioniert soweit und auch das php script auf dem Raspberry läuft.
ich habe das ganze vorerst ohne datenbank laufen und gebe die Daten in der Konsole aus.
nun zu meiner frage:
die LogDaten sind in etwa so aufgebaut, dass ein telegram so ausschaut
KVL=0;KRL=0;KT=0;KMP=59;HKVL=0;HKRL=0;HKVS=52;HKMP=59;HKVL=0;AP1O=0;AP2O=0;AP3O=0;AP1M=0;AP2M=0;AP3M=0;AP1U=0;AP2U=0;AP3U=0;HKF=1;HKADD=0;HKSUB=0;HKNA=0;HKAN=0;HKVR=52;HKP=30;HKS=85;HKAZ=3;HKHY=2;KPAN=0;KRAUF=68;KRZU=63;KMAX=85;KHY=1;KPTEIN=70;KTPAUS=65;KMPZ=10;KMAZ=3;KMMA=140#
in php wird noch das datum davor geschrieben, so dass es so
2015-01-20 19:03:07:KVL=0;KRL=0;KT=0;KMP=47;HKVL=0;HKRL=0;HKVS=52;HKMP=47;HKVL=0;AP1O=0;AP2O=0;AP3O=0;AP1M=0;AP2M=0;AP3M=0;AP1U=0;AP2U=0;AP3U=0;HKF=1;HKADD=0;HKSUB=0;HKNA=0;HKAN=0;HKVR=52;HKP=30;HKS=85;HKAZ=3;HKHY=2;KPAN=0;KRAUF=68;KRZU=63;KMAX=85;KHY=1;KPTEIN=70;KTPAUS=65;KMPZ=10;KMAZ=3;KMMA=140#
ausschaut.
das '#' ist das abschluss zeichen, welches der arduino sendet.
Das Script läuft jetzt und nach einiger Zeit passiert dann folgendes:
2015-01-20 19:04:55:KVL=0;KRL=0;KT=0;KMP=69;HKVL=0;HKRL=0;HKVS=52;HKMP=69;HKVL=0;AP1O=0;AP2O=0;AP3O=0;AP1M=0;AP2M=0;AP3M=0;AP1U=0;AP2U=0;AP3U=0;HKF=1;HKADD=0;HKSUB=0;HKNA=0;HKAN=0;HKVR=52;HKP=30;HKS=85;HKAZ=3;HKHY=2;KPAN=0;KRAUF=68;KRZU=63;KMAX=85;KHY=1;KPTEIN=70;KTPAUS=65;KMPZ=10;KMAZ=3;KMMA=140#KVL=0;KRL=0;KT=0;KMP=58;HKVL=0;HKRL=0;HKVS=52;HKMP=58;HKVL=0;AP1O=0;AP2O=0;AP3O=
2015-01-20 19:05:01:0;AP1M=0;AP2M=0;AP3M=0;AP1U=0;AP2U=0;AP3U=0;HKF=1;HKADD=0;HKSUB=0;HKNA=0;HKAN=0;HKVR=52;HKP=30;HKS=85;HKAZ=3;HKHY=2;KPAN=0;KRAUF=68;KRZU=63;KMAX=85;KHY=1;KPTEIN=70;KTPAUS=65;KMPZ=10;KMAZ=3;KMMA=140#
hier ein teil der php datei
while(true){
$read = $serial -> readPort();
if($read != ""){
echo date("Y-m-d H:i:s"). ":". $read ."\n";
flush();
}
sleep(6);
$serial -> sendMessage('log#'); // befehl an Arduino das Log zu senden
hat jemand einen hinweis oder eine idee, woran das liegt, dass das telegramm nicht korrekt ausgegeben wird?