久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4574|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

手機怎么查看遠程GPS數(shù)據(jù)呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:224249 發(fā)表于 2018-8-21 16:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
分享學(xué)習(xí)一下,手機查看gps數(shù)據(jù)
GPS手機遠程接收方案
需要材料
材料
數(shù)量
GPS模塊
1
GSM模塊
1
電源
1
TCP服務(wù)器
1
可編程單片機
1
杜邦線
若干
螺絲螺母
若干
設(shè)計
GPS模塊是串口收發(fā)的,如果需要把接收到的信息處理后傳輸給手機上查看,那么我們需要先設(shè)計出無線傳輸方案; 無線傳輸方案中有幾種辦法:
1.藍牙傳輸
2.WIFI傳輸
3.通過GSM模塊把經(jīng)緯度信息放到網(wǎng)絡(luò)服務(wù)器中
這里我們只介紹第三種方案,前面兩種相對簡單,需要介紹。
無論哪種方案,我們都需要先在眾多的GPS數(shù)據(jù)中提取經(jīng)緯度信息,提取方法參GPS的資料文檔。GSM模塊需要先設(shè)定好訪問網(wǎng)絡(luò)的功能,設(shè)置方法參考GSM的資料文檔。
現(xiàn)在準備好的模塊有2個串口傳輸,而大多數(shù)便宜單片機只有1個串口,這時可以采取下圖的方案設(shè)計。
把GSM模塊的RX接到單片機的TX,并把GPS的TX接到單片機的RX,這樣就可以利用一個串口分別接兩個模塊達成效果。
服務(wù)器
服務(wù)器方案可以自己架設(shè)或者使用網(wǎng)絡(luò)服務(wù)器,這里我們以LINUX服務(wù)為案例;服務(wù)器的工作非常簡單,僅僅建立一個TCP服務(wù)器并把兩個客戶端得信息互相轉(zhuǎn)發(fā)。這里提供下C的參考程序給大家修改。

  1. /*
  2. * main.cpp
  3. * TCP客戶端信息轉(zhuǎn)發(fā)
  4. * Author: Yayi
  5. */
  6. #include <stdlib.h>
  7. #include <stdio.h>
  8. #include <errno.h>
  9. #include <string.h>
  10. #include <netdb.h>
  11. #include <sys/types.h>
  12. #include <netinet/in.h>
  13. #include <sys/socket.h>
  14. #include <unistd.h>
  15. #include <arpa/inet.h>
  16. #include <time.h>
  17. #include <sys/wait.h>

  18. #define WAITBUF 10
  19. int main(int argc, char *argv[])
  20. {
  21.               int sockfd,clientnub,client2nub;
  22.               struct sockaddr_in server_addr;
  23.               struct sockaddr_in client_addr,client2_addr;
  24.               socklen_t sin_size;
  25.               char serverlog0[1024] = {0};
  26.               char serverlog1[1024] = {0};
  27.               char serverlog2[1024] = {0};
  28.               time_t timep;
  29.               struct tm *p;

  30.               /*服務(wù)器端開始建立socket描述符*/
  31.               if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
  32.               {
  33.         fprintf(stderr,"Socket error:%s\n",strerror(errno));
  34.         exit(1);
  35.               }

  36.               /*服務(wù)器端填充 sockaddr結(jié)構(gòu)*/
  37.               bzero(&server_addr,sizeof(struct sockaddr_in));
  38.               server_addr.sin_family=AF_INET;

  39.               /*自動填充主機IP*/
  40.               server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
  41.               server_addr.sin_port=htons(8888);

  42.               /*捆綁sockfd描述符*/
  43.               if(bind(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1)
  44.               {
  45.                       fprintf(stderr,"Bind error:%s\n",strerror(errno));
  46.                       exit(1);
  47.               }

  48.               /*監(jiān)聽sockfd描述符*/
  49.               if(listen(sockfd, WAITBUF)==-1)
  50.               {
  51.                       fprintf(stderr,"Listen error:%s\n",strerror(errno));
  52.                       exit(1);
  53.               }

  54.               /*等待客戶端鏈接*/
  55.         sin_size=sizeof(struct sockaddr_in);
  56.         clientnub=accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size);

  57.         /*日志格式化*/
  58.                   time(&timep);
  59.                   p = gmtime(&timep);

  60.               sprintf(serverlog0,"[%d.%d.%d", (1900+p->tm_year), (1+p->tm_mon), p->tm_mday);
  61.               sprintf(serverlog1," %d:%d:%d] ", p->tm_hour, p->tm_min, p->tm_sec);
  62.               sprintf(serverlog2,"Server get connection from %s\n",inet_ntoa(client_addr.sin_addr));

  63.               FILE* file = fopen("tcpserver.log","a+");
  64.               fwrite(serverlog0,1,strlen(serverlog0),file);
  65.               fwrite(serverlog1,1,strlen(serverlog1),file);
  66.               fwrite(serverlog2,1,strlen(serverlog2),file);
  67.               fclose(file);

  68.               /*發(fā)送鏈接"OK\n"信號*/
  69.               send(clientnub,"OK\n",strlen("OK\n"),0);

  70.               /*等待客戶端2鏈接*/
  71.               sin_size=sizeof(struct sockaddr_in);
  72.               client2nub=accept(sockfd,(struct sockaddr *)(&client2_addr),&sin_size);
  73.         /*日志格式化*/
  74.                   time(&timep);
  75.                   p = gmtime(&timep);


  76.               sprintf(serverlog0,"[%d.%d.%d", (1900+p->tm_year), (1+p->tm_mon), p->tm_mday);
  77.               sprintf(serverlog1," %d:%d:%d] ", p->tm_hour, p->tm_min, p->tm_sec);
  78.               sprintf(serverlog2,"Server get connection from %s\n",inet_ntoa(client2_addr.sin_addr));

  79.               file = fopen("tcpserver.log","a+");
  80.               fwrite(serverlog0,1,strlen(serverlog0),file);
  81.               fwrite(serverlog1,1,strlen(serverlog1),file);
  82.               fwrite(serverlog2,1,strlen(serverlog2),file);
  83.               fclose(file);

  84.               /*發(fā)送鏈接"OK\n"信號*/
  85.               send(client2nub,"OK\n",strlen("OK\n"),0);

  86.               while(1)
  87.               {
  88.                             char recv_send_data[1024]={0};
  89.                             /*把客戶端2接收轉(zhuǎn)發(fā)客戶端*/
  90.                             if((recv(client2nub,recv_send_data,1024,0))>0)
  91.                                           send(clientnub,recv_send_data,strlen(recv_send_data),0);
  92.                             /*把客戶端接收轉(zhuǎn)發(fā)客戶端2*/
  93.                             if((recv(clientnub,recv_send_data,1024,0))>0)
  94.                                           send(client2nub,recv_send_data,strlen(recv_send_data),0);
  95.               }
  96.               close(sockfd);
  97.               exit(0);
  98. }
復(fù)制代碼

編譯后運行一下即在阻塞等待兩個客戶端的接入。
手機APP接收數(shù)據(jù)格式
在單片機提取出經(jīng)緯度的時候必須按照以下格式發(fā)送,否則手機APP不做處理。
Latitude:xx.xxxxx,Longitude:xxx.xxxxx\r\n
效果預(yù)覽
圖片是帶著小狗跑步,可以看到小狗就在我得身后。

完整的Word格式文檔51黑下載地址:
手機遠程查看GPS信息方案.docx (131.55 KB, 下載次數(shù): 20)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:361138 發(fā)表于 2019-3-2 21:39 | 只看該作者
這資料也太少了吧
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美男人天堂 | 伊人久久一区二区 | 色吊丝2| 成人免费在线视频 | 久久91| 超碰在线人人 | 中国一级特黄真人毛片 | 欧美一区二区三区视频 | 午夜性色a√在线视频观看9 | 这里只有精品99re | 成人亚洲一区 | 国产99久久久久 | 99久久久久久久久 | 黄色日批视频 | 涩涩视频在线播放 | 91正在播放 | 91久久精品一区二区二区 | 欧美色综合网 | 午夜精品久久久久久久星辰影院 | 国产高清在线精品 | 色视频免费| 国产一区二区不卡 | 国产高清视频一区 | www亚洲精品 | 欧美国产免费 | www.日日夜夜 | 亚洲精品一区国产精品 | 久久久国产一区二区三区四区小说 | 一区二区三区在线播放 | 欧美成人自拍视频 | 亚洲网站在线播放 | 国产精品久久久久久久久免费樱桃 | 亚洲第一成人av | 日韩精品在线观看一区二区三区 | 国产中文区二幕区2012 | 精品美女在线观看 | 久久精品视频一区二区三区 | 国产一级片网站 | 色综合色综合网色综合 | 特级生活片 | 精品久|