《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機控制的雙模式兒童防走失系統(tǒng)設計
基于單片機控制的雙模式兒童防走失系統(tǒng)設計
來源:微型機與應用2012年第6期
魏曉龍,任天平,陳 威
(鄭州大學,河南 鄭州450000)
摘要: 鑒于傳統(tǒng)兒童防走失系統(tǒng)使用的局限性,介紹了一種基于單片機控制的、可以工作在無線信號與移動信號兩種數(shù)據(jù)傳輸模式下的兒童防走失系統(tǒng)。分析并利用GPS全球定位系統(tǒng),準確獲取兒童所在位置的經(jīng)緯度信息,通過某種數(shù)據(jù)傳輸方式將數(shù)據(jù)傳輸給父母端設備,處理數(shù)據(jù)并圖形顯示兒童與父母的具體或是相對位置。
Abstract:
Key words :

摘  要: 鑒于傳統(tǒng)兒童防走失系統(tǒng)使用的局限性,介紹了一種基于單片機控制的、可以工作在無線信號與移動信號兩種數(shù)據(jù)傳輸模式下的兒童防走失系統(tǒng)。分析并利用GPS全球定位系統(tǒng),準確獲取兒童所在位置的經(jīng)緯度信息,通過某種數(shù)據(jù)傳輸方式將數(shù)據(jù)傳輸給父母端設備,處理數(shù)據(jù)并圖形顯示兒童與父母的具體或是相對位置。
關鍵詞: 單片機;GPS;數(shù)據(jù)傳輸;圖形顯示

    據(jù)公安部最新數(shù)據(jù)顯示,近年來我國每年有近20萬兒童失蹤。傳統(tǒng)的兒童防走失系統(tǒng)主要依靠無線電路實現(xiàn),兒童端有一個信號發(fā)射器,父母端接收此信號并判斷信號強度大小,當信號強度小于設定值時即報警。該方案的優(yōu)點是結(jié)構(gòu)簡單、體積小,顯著缺點是適用距離短,無法判別兒童方向,信號易受干擾。這往往是兒童防走失產(chǎn)品的致命缺點。
    本系統(tǒng)采用的方案是根據(jù)GPS信息判斷兒童具體位置并實現(xiàn)報警功能,報警的同時能夠在第一時間向父母提供兒童的準確位置信息。系統(tǒng)的創(chuàng)新點與技術突破點主要體現(xiàn)在以下幾個方面:
    (1)雙模式工作:當沒有移動信號時,可通過無線方式實現(xiàn)點對點通信,不依靠第三方;當距離超過1 000 m時又可通過短信息傳遞數(shù)據(jù),方便可靠;
    (2)雙重圖形處理:十字坐標顯示響應快速直觀,第一時間指明孩子的方位;Google地圖顯示告知孩子的準確位置,兩種方式一鍵切換;
    (3)在Android手機操作系統(tǒng)下開發(fā)了一套完全適用于兒童防走失系統(tǒng)的軟件,可移植性強。
    需要注意的是,系統(tǒng)可以工作在兩種傳輸模式下,且能在兩種模式之間自動切換。具體體現(xiàn)在:開機情況下,兒童端設備默認通過無線信號的方式與父母端設備進行通信,而當接收不到信號時,兒童端設備將會立刻切換到通過短信息的方式與父母端設備通信。
1 系統(tǒng)架構(gòu)與功能
    本兒童防走失系統(tǒng)采用子母機形式。其中兒童端為子機,主要用來獲取自身經(jīng)緯度數(shù)據(jù),同時監(jiān)聽父母端發(fā)送過來的指令,并將自身經(jīng)緯度數(shù)據(jù)返回給父母端設備;父母端設備為母機,采用了兩種模式:自主開發(fā)的手持終端模式與智能手機模式,分別通過無線信號和移動網(wǎng)絡信號進行數(shù)據(jù)傳輸,兩種模式可自動切換。系統(tǒng)整體框架如圖1所示。

    系統(tǒng)實現(xiàn)的主要功能有:(1)防走失報警:當孩子與父母之間的距離超過任意設定的安全值時父母端設備報警,同時在父母端設備上自動彈出孩子當前的位置信息(以坐標信息或Google地圖的形式);(2)父母主動查看孩子的位置:在父母端手持設備上主動操作可以獲得孩子的位置信息;(3)孩子主動求助:當孩子發(fā)現(xiàn)找不到父母時,可以按下子機的傻瓜式按鍵,父母就收到孩子的求助信號,同時彈出孩子當前的位置信息。
2 系統(tǒng)功能單元設計
2.1 GPS數(shù)據(jù)獲取與分析

    GPS(Global Positioning System)全球定位系統(tǒng)是新一代的精密衛(wèi)星導航定位系統(tǒng),利用人造地球衛(wèi)星確定測站點位置[1]。在本兒童防走失系統(tǒng)中,定位分為兩種:父母手持終端上的定位和智能手機上的定位。
    智能手機上的定位主要依靠手機內(nèi)部的GPS芯片完成。由于Google開發(fā)的Android操作系統(tǒng)完全開源,可以獲得其所有API函數(shù),通過調(diào)用API函數(shù)并編寫相關代碼,可以啟動手機的GPS硬件,獲得基于位置的服務。這些服務當中包括查詢手機內(nèi)部存儲的最新位置信息、獲得當前位置以及更新當前位置信息等。在本文編寫的程序當中,使用到了查詢手機內(nèi)部存儲的最新位置信息和更新當前位置信息等功能,部分程序代碼如下:
    LocationManager locationManager = (LocationManager)getSystemService(context);
    Location location = locationManager.getLastKnownLocation(provider);
    updateWithNewLocation(location);
    其中LocationManager locationManager=(LocationManager)getSystemService(context)用來添加實例變量來存儲對LocationManager的引用,啟動手機基于位置的服務,基于位置的服務的目的是確定設備的物理位置;Location location=locationManager.getLastKnownLocation(provider)語句通過對實例變量locationManager的引用獲得手機內(nèi)部最新的GPS數(shù)據(jù),并存儲在location變量中;最后一條語句updateWithNewLocation(location)用來對手機內(nèi)部存儲的GPS數(shù)據(jù)信息進行更新,以獲得最新的位置信息。
    在兒童和父母端的手持監(jiān)護終端上分別內(nèi)置了一個GPS信號接收機。由于GPS衛(wèi)星發(fā)送的導航定位信號是一種可供無數(shù)用戶共享的信息資源,對于陸地、 海洋和空間的廣大用戶,只要擁有能夠接收、跟蹤、變換和測量GPS信號的接收設備(即GPS信號接收機),就能夠獲取當前的位置信息。利用GPS信號接收機將接收到的GPS信號轉(zhuǎn)化為GPS經(jīng)緯度數(shù)據(jù),并以TTL電平格式輸出,然后由單片機I/O口對其進行讀取并進行進一步的處理。GPS模塊的電源引腳連接到單片機的VCC與GND引腳上,用以給GPS模塊進行供電;GPS模塊的通信引腳連接到單片機的40與41引腳上,也就是單片機的異步串行接口RXD0、TXD0,GPS模塊通過這兩個引腳進行數(shù)據(jù)的收發(fā),電平傳輸格式為TTL電平格式。
    當系統(tǒng)獲得子機與母機的GPS數(shù)據(jù)后,通過一系列算法求得子機與母機之間的實際距離與方位角。具體算法是:由于地球表面無比巨大,將地表看作是一個平面,將地球的經(jīng)度當做這個平面的Y坐標,將緯度看做是X坐標。當獲得了子機與母機的經(jīng)緯度數(shù)據(jù)時,實際上就獲得了它們的橫縱坐標,通過勾股定理計算距離,通過三角函數(shù)關系計算方位角。為求出兩點之間的實際距離與相對角度,首先需要求出其中一點相對于另外一點在經(jīng)度方向上和緯度方向上的距離,也就是兩條直角邊的長度。而這兩條直角邊的長度可以通過兩點之間的經(jīng)度差和緯度差分別乘以兩點相對于地球軸心和地球球心半徑來獲得,當獲得了兩條直角邊的長度后,兩點之間的實際距離也就是斜邊的長度。具體的計算過程如下:
    
其中,α1、α2、β1和β2分別是兩點的緯度值和經(jīng)度值,α為兩點的平均緯度值,OA、R分別為兩點到地球軸心和球心的半徑,AC、BC為兩點在經(jīng)度方向和緯度方向上的距離。
2.2 數(shù)據(jù)傳輸
    子機與母機之間的通信可以通過兩種模式進行,分別是GSM短信息傳輸模式與無線信號傳輸模式。相應地,為了與母機完成通信,在子機上分別使用了SIM300C GPRS帶協(xié)議模塊與APC240無線模塊。
    在父母端的智能手機上開發(fā)了一個兒童防走失系統(tǒng)配套軟件,當父母使用手機查詢孩子的位置時,將會發(fā)送一條含查詢指令的短信到子機,子機上的SIM300C模塊接收到短信后會向單片機發(fā)送一條指令,單片機接收到指令后會對短信進行讀取,然后根據(jù)短信內(nèi)容作出相應動作。短信發(fā)送程序代碼如下:
    SmsManager smsManager=SmsManager.getDefault();
    smsManager.sendTextMessage(mobile,null,content,null,null);
    其中SmsManager smsManager=SmsManager.getDefault()用來添加一個實例變量來存儲對SmsManager的引用,啟動手機基于短信功能的服務;smsManager.sendTextMessage
(mobile,null,content,null,null)語句引用SmsManager下的發(fā)送短信功能來發(fā)送指令,其中括號內(nèi)第一個參數(shù)為要發(fā)送到手機的電話號碼,第三個參數(shù)為發(fā)送的具體內(nèi)容。
    兒童手持終端中GSM通信部分電路圖如圖2所示。其中左半部分為通信指示燈部分,右半部分為SIM300C模塊與SIM卡的引腳定義。

    當父母使用手持終端機時,將通過普通無線通信的方式進行數(shù)據(jù)傳輸。首先由單片機讀取所需的各種信息,包括GPS數(shù)據(jù)信息與指令信息等,再通過其I/O口將數(shù)據(jù)信息傳遞給無線模塊,由無線模塊進行數(shù)據(jù)傳輸。圖3所示為兒童端電路板上的無線發(fā)射部分電路圖(左側(cè)僅畫出發(fā)送部分電路使能圖,接收部分未畫出)。由于整個板子上共有三處需要使用到串行接口,分別是無線通信部分、GSM通信部分和GPS數(shù)據(jù)收發(fā)部分,而ATMEGA64單片機只有兩個串行接口,所以將RXD1與TXD1作為了復用串口,通過使能端EN_A或EN_B來選擇使用無線通信或是GSM通信。

 

 

2.3 父母端手機軟件開發(fā)
    正如之前所說,在父母端的智能手機上開發(fā)了一個兒童防走失系統(tǒng)配套軟件。父母可以將采用Android操作系統(tǒng)的手機與子機配套使用。Android是一個開源的軟件棧,它包含了操作系統(tǒng)、中間件和關鍵的應用程序,以及一組用于編寫移動應用程序的API庫。Android通過提供一個以開源的Linux內(nèi)核為基礎而構(gòu)建的開放的開發(fā)環(huán)境。通過一系列API庫,所有應用程序都可以對硬件進行訪問,并且可以在嚴格受控的條件下完全支持應用程序之間的交互[2]。
    當父母使用智能手機與子機通信時,將會通過GSM短信息的方式與子機進行數(shù)據(jù)傳輸。利用手機內(nèi)置的GPS芯片獲取自身的GPS數(shù)據(jù),通過處理子機傳送過來的GPS數(shù)據(jù)與自身的GPS數(shù)據(jù)來判斷孩子是否處于安全范圍以內(nèi)并顯示兩者之間的相對位置關系,或是采用Google地圖的形式來顯示兩者的具體位置。
      手機軟件部分的主要功能有:(1)主動查詢孩子當前位置;(2)距離可控定時查詢報警;(3)圖形顯示孩子當前位置;(4)修改默認號碼等。使用時,首先進入主界面,在主界面上可以完成設置默認號碼、查詢子機位置、設置自動報警參數(shù)等功能。其中,默認號碼一旦設定成功,以后每次開機或是打開軟件將不必重新設定目標電話號碼;自動報警模式設置成功后手機將會自動每隔一段時間查詢一次子機位置,并根據(jù)設定好的安全距離判斷孩子是否在安全范圍以內(nèi);當點擊查詢按鍵時,首現(xiàn)出現(xiàn)的將會是十字坐標形式的顯示模式,顯示兒童相對于自己當前的位置,同時可點擊切換Google地圖按鍵,切換到Google地圖顯示模式,顯示具體街道信息。并顯示具體距離和相對方位,手機部分具體的功能流程圖如圖4所示。

    正如之前剛剛提到的,兒童的位置信息有兩種顯示方式,分別是十字坐標顯示和Google地圖顯示。在十字坐標顯示中,以父母的位置為原點建立十字坐標系,將孩子對父母的相對位置標注在坐標系上,同時用文字標注出孩子相對于父母的方位角與實際距離,方便父母尋找孩子;而在Google地圖顯示當中,首先在屏幕中添加一個.MapView控件,用以調(diào)用Google地圖,然后在地圖上加一透明的覆蓋層,將手機本身和子機的經(jīng)緯度數(shù)據(jù)傳入地圖,在實際的位置上標注出孩子與父母的位置,幫助父母更直觀地了解到孩子的位置。
      正如之前所列出的一樣,兩種圖形顯示各有其優(yōu)缺點:十字坐標顯示響應快速直觀,能夠在第一時間指明孩子方位,而Google地圖的顯示需要更大的數(shù)據(jù)量,所以在響應速度方面會有一些滯后;但是Google地圖顯示能夠告知父母孩子的準確位置,這是坐標顯示所無法相比的。
3 實驗結(jié)果及分析
    實際測量時有很多因素都會影響到GPS的準確率,以下列舉一些引入GPS誤差的因素:(1)衛(wèi)星時鐘誤差:0~1.5 m;(2)衛(wèi)星軌道誤差:1~5 m;(3)電離層引入的誤差:0~30 m;(4)大氣層引入的誤差:0~30 m;(5)接收機本身的噪音:0~10 m;(6)多路反射:0~1 m。
    理論分析GPS定位誤差最大約為28 m。
    實際情況下,在某一點做長時間連續(xù)測量記錄,并分析在同一點上經(jīng)緯度數(shù)據(jù)的變化量,如表1所示。
    選取上述數(shù)據(jù)的兩個極限值,然后由兩點經(jīng)緯度計算出兩點距離,計算結(jié)果如表2所示。
    由表2可以看出,在某一點做長時間測量,其誤差的最大值為8.5 m,遠小于上述總定位誤差28 m,而且實際測量值應該落在以實際測量點為圓心,以8.5 m為半徑的圓內(nèi),所以GPS的定位誤差是可以接受的。

    經(jīng)過大量試驗驗證,系統(tǒng)的各項功能均滿足設計要求,系統(tǒng)整體性能穩(wěn)定。但與此同時,系統(tǒng)在GPS定位精度、外觀等方面還存在不足,有待于進一步提高。
    基于單片機控制的多功能兒童防走失系統(tǒng)的大部分操作屬于被動操作,便于兒童使用;另外系統(tǒng)通過GPS信號進行處理,不但能夠判斷距離的遠近,同時還可以指出具體的方向,且系統(tǒng)誤差小于8 m;同時,雙模式的工作方式使得系統(tǒng)適合多樣的場合,適應性更強,有很好的市場推廣價值。
參考文獻
[1] 李天文.GPS原理及應用[M].北京:科學出版社,2010.
[2] MEIER R.Android高級編程[M].北京:清華大學出版社,2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 久久成人免费网站 | 夜鲁夜鲁夜鲁在线观看福利 | 91好色视频 | 亚洲免费视频在线观看 | 欧美精品亚洲精品 | 在线观看一夜七次郎国产 | 有人有片的观看免费视频 | 国产在线拍揄自揄视精品不卡 | 波多野结衣手机在线视频 | 国产黄色毛片视频 | 波多野结衣在线视频观看 | 日韩国产欧美一区二区三区 | 一个人www免费观看视频 | 亚洲欧美中文字幕在线网站 | 精品国偷自产在线视频99 | 欧美第一精品 | 欧美午夜视频在线观看 | 欧美一级视 | 午夜免费影视 | 成年色黄大色黄大片 视频 成年日韩免费大片黄在线观看 | 午夜私人影院4480yy毛片 | 亚洲第一看片 | 国内精品免费视频精选在线观看 | 成人18免费观看的动漫 | 免费一级欧美在线观看视频片 | 亚洲高清国产一区二区三区 | 久久精品午夜 | 亚洲午夜18 | 亚洲狠狠97婷婷综合久久久久 | 玖玖香蕉 | 亚洲字幕 | 老湿影院在线播放 | 在线播放中文字幕 | 在线亚洲+欧美+日本专区 | 欧美视频国产 | 欧美成人一级视频 | 在线天堂网 | 黄色小视屏 | 天天干影视 | 九九99九九在线精品视频 | 亚洲第一福利网 |