| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 
 | /****
Andry 03 10-2005
ceci est une application php servant à recevoir les trames NMEA venant d'un gps vers le port TCP/IP et à inserer 
quelques données vers une base de données mysql
le test est fait pour les trames NMEA en format GPRMC et GPGGA
****/
$connexion = mysql_connect("localhost","root","");
mysql_select_db("testnmea");
$fp = fsockopen("192.168.10.10",2323,&$errno, &$errstr);
if(!$fp) echo "lecture echouée";
else
  {
   while (!feof($fp))
      {
	  $chaine = fgets($fp, 4096);
	  switch (substr($chaine,0,6)) 
		  {
			case "\$GPRMC" :
				$tableau = explode(",",$chaine);
				$jour = date("dmy");
				$temps = substr($tableau[1],0,4);
				$lat = explode(".",$tableau[3]);
				$lat[1] = ($lat[1]/100000) * 60;
				$lat[1] = round($lat[1],1);
				$latitude = $lat[0]*100;
				$latitude = $latitude + $lat[1];
				$long = explode(".",$tableau[5]);
				$long[1]  = ($long[1]/100000)*60;
				$long[1]  = round($long[1], 1);
				$longitude = $long[0]*100;
				$longitude = $longitude + $long[1];
				$sql = "insert into position (time, longitude, latitude, jour) VALUES (\"$temps\", \"$longitude\",\"$latitude\",\"$jour\")";
				$query = mysql_query($sql, $connexion);
				break;
			case "\$GPGGA" :					
				$jour = date("dmy");
				$tableau = explode(",",$chaine);
				$temps = substr($tableau[1],0,4);
				$lat = explode(".",$tableau[2]);
				$lat[1] = ($lat[1]/100000) * 60;
				$lat[1] = round($lat[1],1);
				$latitude = $lat[0]*100;
				$latitude = $latitude + $lat[1];
				$long = explode(".",$tableau[4]);
				$long[1]  = ($long[1]/100000)*60;
				$long[1]  = round($long[1], 1);
				$longitude = $long[0]*100;
				$longitude = $longitude + $long[1];
				$sql = "insert into position (time, longitude, latitude, jour) VALUES (\"$temps\", \"$longitude\",\"$latitude\",\"$jour\")";
				$query = mysql_query($sql, $connexion);
				break;
			default :
			    echo substr($chaine,0,6);
			    break;
		   }
	  echo $chaine;
	  }
   //echo $chaine;
   fclose($fp);
  } | 
Partager