Ich habe hier eine „GPS-Maus“, die via USB und einen darüber simulierten seriellen Anschluss kommuniziert. Anschluss und Kontrolle im syslog:
- usb 1-1.3: new full-speed USB device number 10 using xhci_hcd
- usb 1-1.3: New USB device found, idVendor=1546, idProduct=01a6, bcdDevice= 7.03
- usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
- usb 1-1.3: Product: u-blox 6 - GPS Receiver
- usb 1-1.3: Manufacturer: u-blox AG - www.u-blox.com
- cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device
Soso: /dev/ttyACM0
ist also das Gerät.
<?php
$devise = '/dev/ttyACM0';
$FH = fopen( $device 'r' );
if ( $FH ) {
while ( ( $line = fgets( $FH ) ) !== false) {
echo $line;
}
fclose( $FH );
} else {
trigger_error( 'Fehler beim Verbindungsaufbau zum Gerät ' . $devise, E_USER_ERROR );
}
da kommt:
$GPRMC,115418.000,V,0000.0000,N,00000.0000,E,0.00,0.00,280722,,,N*73
$GPVTG,0.00,T,,M,0.00,N,0.0,K,N*02
$GPGGA,115418.000,0000.0000,N,00000.0000,E,0,00,99.9,-17.0,M,17.0,M,,0000*71
$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09
$GPGSV,1,1,04,12,,,21,20,,,19,22,,,10,31,,,21*77
$GPGLL,0000.0000,N,00000.0000,E,115418.000,V,N*49
Ich die kann also Daten lesen: Es ist in meinem Fall CSV. Willst Du das Vorgehen nicht erstmal nach Windows portieren und wenigstens mal antesten?