gps定位系統c語言
① 最近想用c語言在Linux上開發一個簡單的gps介面程序,能讀取顯示經度緯度的那種。
權威《unix網路編程》。
做這個事情大概分這么幾步。
一:gps設備先通過某種手段上網(可以是撥號上網,wifi。。。。)
二:gps設備向伺服器(就是你運行程序的機器)申請連接。可以用域名或者IP找到你的伺服器。
三:伺服器接受連接。
四:你跟這個gps設備提前預定好。你們的通信形式。
常用的大概也就是,一問一答。你可以通過tcp連接發請求指令給設備,設備收到以後給你回復。然後你只要分析回復指令就就行了。
具體怎麼監聽連接,怎麼收發。書上說的很清楚。
② C語言編寫GPS Receiver接收程序。
gps是不斷發出數據的,你只要接收就好了.
寫得簡單點就設好串口,將收到的數據搬到記事本里顯示.
如果再進一步,就單單把收到的RMC語句摘出來搬到記事本里顯示.
再進一步,就將哪幾個位元組摘出來顯示.(經緯度所在的位置是固定的)
③ 怎麼用c語言獲取gps數據
去找gps模塊的調用介面就可以了
④ C語言編程:GPS數據處理
這是通過online judge測試的
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
int check(char *);
void utc(char *);
char bjtime[7];
int main()
{
char a[200];
int f=0;
char *ptr;
do
{
scanf("%s",a);
if(strncmp("$GPRMC",a,6)==0)
{
ptr=a;
for(int i=0;i<2;i++){
ptr=strchr(ptr,',');
ptr++;
}
if (ptr[0]=='A' && check(a))
{
utc(a);
f=1;
}
}
}while(strcmp("END",a)!=0);
if (f) printf("%c%c:%c%c:%c%c",bjtime[0],bjtime[1],bjtime[2],bjtime[3],bjtime[4],bjtime[5]);
return 0;
}
int check(char *s)
{
char *ck,*str;
int i;
char m=s[1];
for(i=2;i<strlen(s)-3;i++)
m^=s[i];
int z=(int)m%65536;
printf("%0x",z);
ck=&s[strlen(s)-2];
int x=strtol(ck,&str,16);
if(x==z) return 1;
else return 0;
}
void utc(char * s)
{
char *str1;
char str[7];
str1=&s[7];
strncpy(bjtime,str1,6);
int x=strtol(bjtime,&str1,10);
x+=80000;
x%=240000;
for(int i=5;i>=0;i--){
bjtime[i]=(char)((int)'0'+x%10);
x/=10;
}
}
⑤ GPS定位系統用C#能開發嗎
能開發,我見過.但沒開發過,沒有相關技術.其它的幫不了你
⑥ C# 能夠開發出GPS定位伺服器程序嗎 有C基礎大約需要多長時間
C和C#是完全不同的語言,他們之間的共同點不會比JAVA和C之間的共同點更多。
要完成你的工作、首先你需要確定客戶端GPS設備的硬體是否滿足以下條件。
1、採用B/S結構,這個需要GPS設備上有安裝瀏覽器。這種情況 無論是C還是C#都能實現。
2、採用C/S結構,如果使用C#則需要GPS設備上安裝微軟的.net執行平台、即framework。
如果採用C作為編程語言,則可以直接開發客戶端/伺服器端會話程序,不必要求framework。
無論是採用什麼結構,採用C#作為編程語言都對客戶端GPS設備提出了更高的硬體要求。
當然C#也並非一無是處、客戶端硬體滿足1或2條件。個人認為採用C#比C開發效率更高。如果不滿足,只能採用C語言直接開發會話程序。但需要針對不同的客戶端硬體開發不同的會話程序。
根據你的要求並假定客戶端設備滿足1或2條件,採用C#開發。需要至少全日制(>8小時/天)學習C#2周;採用B/S結構開發,需要學習html半周時間;如果數據量比較大需要使用資料庫軟體的話、建議再學習資料庫SQL SERVER 2周。
剩下的事就是開始工作,邊做邊學了。
⑦ c語言如何調用GPS時間介面
調用時間介面代碼如下:
#include
#include
intmain(void){
time_tcurrTime=time(NULL);
if(currTime!=(time_t)(-1))
printf("Thecurrenttimestampis:%ld(s)",curr_time);
return0;
}
調用是將程序的執行交給其他的代碼段,通常是一個子常式,同時保存必要的信息,從而使被調用段執行完畢後返回到調用點繼續執行。
全球定位系統(GlobalPositioningSystem,GPS)是一種以人造地球衛星為基礎的高精度無線電導航的定位系統,它在全球任何地方以及近地空間都能夠提供准確的地理位置、車行速度及精確的時間信息。GPS自問世以來,就以其高精度、全天候、全球覆蓋、方便靈活吸引了眾多用戶。GPS不僅是汽車的守護神,同時也是物流行業管理的智多星。隨著物流業的快速發展,GPS有著舉足輕重的作用,成為繼汽車市場後的第二大主要消費群體。GPS是美國從20世紀70年代開始研製,歷時20年,耗資200億美元,於1994年全面建成,具有在海、陸、空進行全方位實時三維導航與定位功能的新一代衛星導航與定位系統
⑧ c語言指針問題,求完整源代碼
⑨ c語言中計算gps坐標轉經緯度
就是純計算公式,一個公式就可以解決。具體邏輯如下。
一般從GPS得到的數據是經緯度。經緯度有多種表示方法。
1.) ddd.ddddd, 度 . 度的十進制小數部分(5位)例如:31.12035º
2.) ddd.mm.mmm,度 . 分 . 分的十進制小數部分(3位)例如 31º10.335′
3.) ddd.mm.ss, 度 . 分 . 秒 例如 31º12』42″
地球上任何一個固定的點都可以用確定的經緯度表示出來。
關於經緯度坐標轉換的方法
一、十進制轉換成經緯度
把經緯度轉換成十進制的方法很簡單
如下就可以了
Decimal Degrees = Degrees + minutes/60 + seconds/3600
例:57°55』56.6″ =57+55/60+56.6/3600=57.9323888888888
114°65』24.6″=114+65/60+24.6/3600=結果自己算!
如把經緯度 (longitude,latitude) (205.395583333332,57.9323888888888)
轉換據成坐標(Degrees,minutes,seconds)(205°23』44.1″,57°55』56.6″)。
步驟如下:
1, 直接讀取」度」:205
2,(205.395583333332-205)*60=23.734999999920 得到」分」:23
3,(23.734999999920-23)*60=44.099999995200 得到」秒」:44.1
採用同樣的方法可以得到緯度坐標:57°55』56.6″
⑩ C語言題看不懂,關於GPS數據處理
你好!GPS的格式,需要分析後,得到數據
你這是要做實物,還是用模擬實現