智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

嵌入式Linux平臺(tái)的GPS數(shù)據(jù)采集研究

來源:網(wǎng)絡(luò)

點(diǎn)擊:1830

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: Linux,GPS,數(shù)據(jù)采集

      隨著GPS(全球定位系統(tǒng))和便攜移動(dòng)設(shè)備的飛速發(fā)展,各種各樣以GPS為基礎(chǔ)的便攜式定位系統(tǒng)相繼出現(xiàn)。嵌入式Linux以其開放性、安全性、健壯性和 穩(wěn)定性越來越成為各種便攜設(shè)備的主要開發(fā)平臺(tái),因此GPS模塊與嵌入式Linux平臺(tái)之間的通信成了實(shí)現(xiàn)定位系統(tǒng)的基礎(chǔ)。

      GPS模塊與嵌入式Linux平臺(tái)之間進(jìn)行數(shù)據(jù)傳送,大多采用異步串行傳送方式,GPS作為終端設(shè)備(DTE)與嵌入式平臺(tái)之間通過RS-232C串行通 信接口進(jìn)行數(shù)據(jù)交換。因此,與GPS的數(shù)據(jù)通信在實(shí)現(xiàn)上即是LinuX下的串口編程,對(duì)于兩者之間的通信協(xié)議,可選的協(xié)議有很多種,而NMEA0183是目前普遍采用的一種。

      1 NMEA0183通信協(xié)議

      NMEA0183是GPS數(shù)據(jù)的通信協(xié)議,GPS的通信協(xié)議有很多種,但目前絕大多數(shù)GPS模塊生產(chǎn)廠商都采用NMEA0183協(xié)議作為其遵循的標(biāo)準(zhǔn),因此在實(shí)現(xiàn)GPS與嵌入式Linux平臺(tái)之間的通信時(shí),應(yīng)先對(duì)NMEA0183協(xié)議有一定的了解。

      (1)NMEA0183的通信參數(shù)。波特率:4800baud;數(shù)據(jù)位:8;奇偶校驗(yàn):無;停止位:1位。

      (2)NMEA0183的報(bào)文格式。NMEA 0183協(xié)議報(bào)文的語句串(ASCII字符)格式全部信息如圖1。

      $AAXXX ,ddd …… ,ddd *hh 《CR》《LF》

      圖1 NMEA0183的報(bào)文格式

      圖1中具體內(nèi)容:$為串頭,表示串開始;AA為識(shí)別符;XXX為語句名;ddd.。.ddd為數(shù)據(jù)字段,字母或數(shù)字;*表示串尾;hh表示$與*之間所有字符代碼的校驗(yàn)和;《CR》為回車控制符;《LF》為換行控制符。

      在實(shí)際的GPS應(yīng)用中,并不會(huì)用到NMEA的全部信息,而是根據(jù)具體的需要,從中選取有用的信息,忽略其余的信息內(nèi)容。

      例如:$GPRMC,152252,A,2513.3072,N,10346.3723,E,0.0,230.4,250503,1.3,W,A,* 02

      其中,$GPRMC為串頭,表示此語句為定位語句;“*”之前的內(nèi)容為數(shù)據(jù)字段,“152252”為UTC24小時(shí)制的標(biāo)準(zhǔn)時(shí)間,格式為“時(shí)時(shí)/分分/秒 秒”;“A”表示信號(hào)接收狀態(tài),“A”表示接收正常,也可能為“V”,則表示一個(gè)警告,與衛(wèi)星通信不正常;“2513.3072”表示緯度值;“N”標(biāo)明 南北半球,“N”表示北緯,“S”表示南緯;“10346.3723”表示經(jīng)度值;“E”標(biāo)明東西半球,“E”表示東經(jīng),“W”表示西經(jīng);“0.0”表示 速度;“230.4”表示方位角,它的范圍為000.0-359.9;“251205”表示UTC標(biāo)準(zhǔn)時(shí)間的日期,格式為“日日/月月/年年 ”;“1.3”表示磁偏角,范圍為000.0-180.0;“W”表示地磁變化方向。

      2 GPS數(shù)據(jù)的采集

      嵌入式Linux平臺(tái)下的GPS數(shù)據(jù)采集涉及到Linux串口編程技術(shù),因此首先介紹Linux串口編程的相關(guān)知識(shí),再給出一個(gè)簡(jiǎn)單的代碼段,實(shí)現(xiàn)GPS定位信息的獲取。

      2.1 Linux串口通信

      在Linux操作系統(tǒng)中,所有的設(shè)備都是被當(dāng)作文件來進(jìn)行操作的,所有的設(shè)備以設(shè)備文件的形式存儲(chǔ)在目錄/dev/下,串口的設(shè)備文件為/dev/ttyS*,其中,ttyS0為串口一,ttyS1為串口二,以此類推。

      Linux下定義了一個(gè)查詢和操縱終端的標(biāo)準(zhǔn)接口,該接口被稱為termios,在系統(tǒng)頭文件《termios.h》中定義。它包括一個(gè)數(shù)據(jù) 結(jié)構(gòu)和一系列操縱這些數(shù)據(jù)結(jié)構(gòu)的函數(shù)組成。有關(guān)串口的所有參數(shù)配置都保存在接口termios的結(jié)構(gòu)struct termios中,該結(jié)構(gòu)定義如下:

      

      其中的c_flag成員是用來控制輸入處理選項(xiàng)的,它將影響到終端驅(qū)動(dòng)程序在把輸入發(fā)送給程序前是否對(duì)其進(jìn)行處理,及怎樣對(duì)其進(jìn)行處理。c_oflag成 員是用來控制輸出數(shù)據(jù)的處理,并決定在發(fā)送輸出數(shù)據(jù)到顯示屏和其他輸出設(shè)備之前,終端驅(qū)動(dòng)程序是否以及如何來處理它們。c_oflag用于存放各種決定終 端設(shè)備硬件特性的控制標(biāo)志。存放在c_lflag中的本地模式標(biāo)志用來操縱這樣的一些終端特性,比如是否將輸入字符顯示到顯示屏上。c_cc包含了特殊字符序列的值,比如^(退出)和^H(刪除),以及它們所代表的操作。除了上面的這個(gè)包含串口參數(shù)配置的數(shù)據(jù)結(jié)構(gòu)之外,termios中還包含許多控制串口 特性的函數(shù)。其中基本的函數(shù)如:tcgetattr()和tcsetattr()。tcgetattr()用來初始化一個(gè)termios數(shù)據(jù)結(jié)構(gòu),之后可 使用其它的函數(shù)來操縱由tcgetattr()返回的數(shù)據(jù)結(jié)構(gòu)。完成這些操作后,使用tcsetattr()來更新串口的設(shè)置。

      其它對(duì)串口的打開、關(guān)閉、讀取功能與其它的文件操作一致,使用open()、close()、read()函數(shù)完成。

      在采集GPS數(shù)據(jù)的過程中,需對(duì)所讀取的數(shù)據(jù)進(jìn)行鑒別區(qū)分,只選取其中有用的信息進(jìn)行處理而忽略其余的信息,這需要根據(jù)NMEA0183協(xié)議中規(guī)定的語句格式來進(jìn)行篩選。

      2.2 GPS中定位信息的獲取舉例

      在嵌入式Linux系統(tǒng)中進(jìn)行串口編程,讀取GPS數(shù)據(jù)的定位信息。

      

      以上代碼只是GPS輸出數(shù)據(jù)中定位信息提取的關(guān)鍵代碼,要完成進(jìn)一步的完整功能還需編寫大量的代碼,這里就不一一列出。

      3 結(jié)束語

      GPS設(shè)備與嵌入式Linux平臺(tái)之間的數(shù)據(jù)是實(shí)現(xiàn)嵌入式GIS定位功能的基礎(chǔ),隨著基于嵌入式Linux的嵌入式GIS的應(yīng)用日益廣泛,GPS數(shù)據(jù)的采 集方法成為一項(xiàng)基礎(chǔ)性工作,本文針對(duì)GPS數(shù)據(jù)的采集,詳細(xì)分析了目前普遍采用的NMEA0183協(xié)議,并在此基礎(chǔ)上對(duì)嵌入式Linux環(huán)境下的GPS數(shù) 據(jù)采集進(jìn)行舉例分析。

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。

    主站蜘蛛池模板: 山东优科机械设备有限公司,养鸡设备,湿帘设备,通风降温加湿设备,山东养鸡设备,山东湿帘设备 | 生物除臭剂-养殖场垃圾除臭剂-垃圾填埋场除臭剂-成都微菌环境 | 深圳沃亚游学官网丨国外游学丨国际夏冬令营丨美国游学线路丨出国短期游学丨亲子海外游丨游学咨询: 0755-83843308 | 欧艺宝盾科技(北京)有限责任公司_北京旋转门厂家_转门维修_高端商务门控定制 - | 河北新鑫矿冶设备有限公司-河北新鑫矿冶设备有限公司 | 箱式污泥采样器-全自动旋转振荡器-恒温石墨电热板-常州亿通分析仪器制造有限公司 | 陕西筱润智能科技有限公司 干部人事智能档案柜 智能密集架 智能档案柜 部队选层文件智能柜 智能枪弹柜 财务智能档案柜 边防武警智能密集架 医院智能档案柜 部队选层文件智能柜智能枪弹柜 学校医院文件柜 企事业单位公检法智能文件柜 生产厂家-筱润智能科技有限公司 RFID射频智能密集架 全自动智能选层档案柜 智能密保柜 枪柜部队营房营具床桌椅办公家具 办公用品档案盒设备货架 全自动智能选层柜生产厂家-筱润智能科技有限公司 | 菏泽圣邦仪器仪表开发有限公司| 视频制作_产品宣传片拍摄_二维动画制作公司-深圳火牛传媒 | 汽车标签|医疗标签|电子标签|手机电池标签|电脑电池标签|电源标签|耐高温标签|防静电标签|手机出厂膜|手机全裹膜|手机包裹膜|手机卖点膜|热转印标签|遮阳板标签|天势科技|-标签印制专家! | 三原图库 - 设计图片素材打包下载sytuku.com | 食品油炸机_葱酥油炸机_蒜酥油炸机-山东世联机械厂家 | 实验室超纯水机-超纯水机-超纯水仪-上海赫恩实业有限公司 | 佳龙食品集团|高端辣条领导品牌| 一体化净水器设备-浸没式膜水处理设备-智慧水务-超滤膜-模块化净水设备-浙江华晨环保有限公司 | 长沙考研-长沙考研辅导学校-长沙领航教育科技有限公司 | 松下PLC经销商-松下传感器-放大器-电磁阀-光电开关-金器[东莞均钛]品牌气动元件及工控产品一站式供应商 | 长焦监控摄像机-热成像夜视仪-激光云台-深圳红阳信息科技有限公司 | 青州市科信水处理设备有限公司-ic卡水处理设备厂家-畜牧养殖水处理设备 | 深圳人才网_深圳招聘网_【官方网站】 | 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 轻质隔墙板厂家-加气隔墙板_grc轻质隔墙板_空心实心复合隔墙板_水泥混凝土轻质隔墙板批发价格 | 山东腾达源金属材料官网-耐磨板nm400,nm400耐磨钢板,nm500耐磨钢板切割,耐候板批发,高强板现货【价格】 | 武汉东湖高新集团股份有限公司官网| 停车场设计|地下停车场规划设计|智能停车位地下车库设计施工装修|深圳创安顺停车库规划设计有限公司 | 九江市京邦玻纤有限公司| 江西省力速数控机械有限公司丨火花机丨龙门加工中心丨镜面火花机丨卧式加工中心 | 数控立式车铣复合加工中心_数控立车_卧式加工中心_阀门专机-华电数控 | 上饶市安信永辰会计师事务所有限公司 | 手板机箱_亚克力机箱_医疗机箱_美容机箱_医疗设备外壳厂家_鸿堪医疗器械有限公司 | 江苏成人高考网-江苏省成人高考报名 | 陕西柱塞泵厂家_智能张拉设备_桥梁施工设备_千斤顶_液压分裂棒_液压分裂枪|陕西中拓矿山设备有限公司 | 学汽修,学汽修技术,汽修培训班,汽车美容培训,汽车新能源技术培训-广州万通汽车培训学校[官方网站] | 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 | 宣城市交投汽运有限公司_宣城汽车运输有限公司_宣城汽运 | 色差宝ColorReader「3nh三恩时」专业版色差宝APP | 搅拌摩擦焊-搅拌摩擦焊接机床-搅拌摩擦焊设备厂家-精科大恒 | 新高度,萍乡市场调查研究公司,萍乡市场调研公司,萍乡第三方评估机构,萍乡神秘顾客暗访公司 | 江苏保捷锻压有限公司(中国汽车零部件供应商,锻造,精加工,热处理) | 消防改造安装,消防维修检测,消防工程安装,气体灭火施工安装,火灾烟感探测器清洗 | 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 |