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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4445|回復: 1
收起左側

手機怎么查看遠程GPS數據呢?

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

  1. /*
  2. * main.cpp
  3. * TCP客戶端信息轉發
  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.               /*服務器端開始建立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.               /*服務器端填充 sockaddr結構*/
  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.               /*監聽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.               /*發送鏈接"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.               /*發送鏈接"OK\n"信號*/
  85.               send(client2nub,"OK\n",strlen("OK\n"),0);

  86.               while(1)
  87.               {
  88.                             char recv_send_data[1024]={0};
  89.                             /*把客戶端2接收轉發客戶端*/
  90.                             if((recv(client2nub,recv_send_data,1024,0))>0)
  91.                                           send(clientnub,recv_send_data,strlen(recv_send_data),0);
  92.                             /*把客戶端接收轉發客戶端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. }
復制代碼

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

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

評分

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

查看全部評分

回復

使用道具 舉報

ID:361138 發表于 2019-3-2 21:39 | 顯示全部樓層
這資料也太少了吧
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲网在线 | 欧美日韩三级视频 | 国产欧美一级二级三级在线视频 | 亚州毛片| 免费国产视频在线观看 | 天堂色综合 | 国产精品久久久久久久久 | 日本公妇乱淫xxxⅹ 国产在线不卡 | 日本久久一区二区三区 | 精品欧美一区免费观看α√ | 久久久精品一区 | 亚洲美女一区二区三区 | 欧美精品欧美精品系列 | 欧美日韩中文在线 | 激情久久网 | 国产一区二区在线免费观看 | 成人久久久 | 欧美日韩久久 | 久久国产婷婷国产香蕉 | 久久久久久久一区二区三区 | 男人天堂久久久 | 91国产精品| 91免费看片 | 国产成人精品一区二区三区视频 | 国产在线一级片 | 国产精品国产精品国产专区不卡 | 久久精品亚洲 | 久久久久91 | 亚洲婷婷一区 | 综合精品久久久 | 亚洲综合首页 | 国产成人av在线 | 中文字幕在线免费 | 激情网五月天 | 啪视频在线 | 精品免费av | 成人免费视频观看视频 | 秋霞精品 | 91大片| 欧洲成人免费视频 | 亚洲精品1区2区3区 91免费看片 |