Если кто сталкивался со стандртом передачи данных NMEA, возможно будет полезно. Мне понадобилось недавно сгенерировать данные идущие с обычного GPS. Сложности в этом никакой нет, главное трек правильный рисовать (реальный).
По стандарту в конце каждой NMEA строки идет проверочная сумма, расчитываемые по всем символам строки от $ до *.
Код на php для расчет суммы NMEA строки:
$nmea = "$xxxxxx,x,x,,x,xxxxx*"; print "Calculating checksum for: ".htmlspecialchars($nmea).\r\n"; $checksum = 0; for($i = 0; $i < strlen($nmea); $i++) { $c = substr($nmea,$i,1); $n = ord($c); if($c == '$') $checksum = 0; else if($c == '*') break; else $checksum ^= $n; } print "Checksum is ".dechex($checksum)."\r\n";