افزایش دقت دریافت مشخصات gps در mc60-iot

سلام من mc60-iot را تهیه کردم و از طریق opencpu مشخصات gps را دریافت میکنم ، ولی دقت خوبی ندارد و وقتی lon و lat را در گوگل مپ قرار میدم تقریبا 7 یا 8 کیلومتر با مکان من فرق دارد لطفا اگر نکته ای وجود دارد بنده را راهنمایی نمایید

مقادیر lat و lon رو مستقیما وارد گوگل مپ میکنید ؟
مقادیر باید تبدیل بشند تا توی گوگل مپ به درستی نمایش داده بشند.
انتهای این مطلب یک تیکه کد هست که این تبدیل رو انجام داده و مکان دریافتی از mc60 رو روی گوگل مپ نشون میده ، میتونید ازش کمک بگیرید

1 پسندیده

من از این طریق لوکیشن را پیدا میکنم

  if (RMC_BUFFER[30] == 'A')
            {
                Ql_GPIO_SetLevel(LED_1, PINLEVEL_HIGH);
                Ql_Sleep(50);
                Ql_GPIO_SetLevel(LED_1, PINLEVEL_LOW);
                Ql_Sleep(50);
                Ql_GPIO_SetLevel(LED_1, PINLEVEL_HIGH);
                Ql_Sleep(50);
                Ql_GPIO_SetLevel(LED_1, PINLEVEL_LOW);
                Ql_strcpy(LAST_FIX, RMC_BUFFER);
                APP_DEBUG("location is %s .\r\n", LAST_FIX);

                char lat[10], lon[10];
                float flat, flon;
                int c = 0;

                while (c < 9)
                {
                    lat[c] = RMC_BUFFER[32 + c];
                    c++;
                }
                lat[c] = '\0';
                c = 0;
                while (c < 10)
                {
                    lon[c] = RMC_BUFFER[44 + c];
                    c++;
                }
                lon[c] = '\0';
               flat = Ql_atof(lat) / 100;
                flon = Ql_atof(lon) / 100;

                 Ql_sprintf(text, "https://www.google.com/maps?q=%f,%f\n", flat, flon);

                 SMS_TextMode_Send(PhNum, text);
            }

سلام ممنون مشکلم با همون روش حل شد و مختصات دقیق را گرفتم

1 پسندیده