Lat و lon ثابت و اشتباه GPS ماژول MC60

سلام
من GPS ماژول MC60 رو راه اندازی کردم ؛ داده ها به خوبی دریافت میشن ، رجیستر valid هم ‘A’ میشه ولی وقتی lat و lon رو توی google maps وارد میکنم مکان درستی رو نمایش نمیده. حتی با چند تا آنتن مختلف هم تستش کردم ولی باز همون مشکل قبلی رو دارم. حتی ماژول رو توی یه مکان دیگه هم تست کردم ولی باز دقیقا همون مکان اشتباه رو نشون میده و lat و lon فرقی نمیکنن !
حتی چندتا کد مختلفم تست کردم ولی خب فرقی نکرد…
راه کاری دارین واسش؟

سلام احتمالا مختصاتی که ردیاب میفرسته NMEA هست و نیازه به UTM تبدیل بشه و شما این کار را نمیکنید
اگر خروجی NMEA و نحوه نمایش روی گوگل را بفرستید بهتر میشه کمک کرد

سلام
همونطور که مهندس @Mohsen گفتند
شما باید مختصات رو برای نمایش روی گوگل مپ تبدیل کنید
توی قسمت چهارم آموزش mc60 در سایت سیسوگ نمونه اینکار رو انجام دادم و میتونید از اون استفاده کنید

<?php

if (!isset($_POST['location'])) {
    header("Location: " . file_get_contents("loc.txt"));
    exit();
}

$Data = explode(",", $_POST['location']);
$lat  = convert($Data[3]);
$lon  = convert($Data[5]);
$addr = "https://www.google.com/maps/@";

file_put_contents("loc.txt", $addr . $lat . "," . $lon . ",18z");
echo "Data logged";

function convert($in)
{
    $string = explode(".", $in / 100);       
    $dgree = $string[0] * 60;   
    $string[1] = $string[1] * (pow(10, 6 - count(str_split($string[1]))));
    $min       = ($string[1] / 10000);
    $min       = $min + $dgree; 
    return $min / 60;
}

?>

سمت سرور یه تابع convert هست با کد php که تبدیل لازم برای نمایش روی google map رو انجام میده

1 پسندیده

واسه ی گرفتن داده از GPS از کدای خود سایت استفاده کردم که داده ی GPS رو از URC میگیره و به این صورت تفکیک و توی بافر میریزه ( برای مثال lat رو به این صورت میگیرم:

    if (LAST_FIX[30] == 'A')
    {
        char lat[10];
        float flat;
        int c = 0;

        while (c < 9)
        {
            lat[c] = LAST_FIX[32 + c];
            c++;
        }
        lat[c] = '\0';
        flat = Ql_atof(lat) / 100;

        return flat;
    }
    else
    {
		return 0;
    }

lon هم به همین شکل.
بعد با این دستور توی لینک google maps قرارش میدم :

		Ql_sprintf(buff,"https://maps.google.com/maps?q=%f,%f", Lat, Lon);

واسه گرفتن داده از gps از همون کد تفکیک lat و lon توی بخش چهارم آموزشتون که واسه ارسال آفلاین مکان بود استفاده کردم.

همونطور که اشاره کردم
تبدیل فرمت lat و lon سمت سرور و با کمک کد PHP داره انجام میشه ، داخل تابع convert
شما باید اون تابع رو توی کد c بیارید تا مشکلتون بر طرف بشه

1 پسندیده