智能手機(jī)變成計(jì)步器和追蹤設(shè)備
當(dāng)你去戶外穿越或騎山地車,或哪怕僅僅是周邊長距離徒步,你也一定想知道自己通過的距離,或者走路的速度。為此而購置一臺專用設(shè)備的想法太過奢侈。如今,帶GPS功能的智能手機(jī)正在市場上普及,因此可以將一只手機(jī)用于記錄或發(fā)送當(dāng)前傳感器讀數(shù)到一臺服務(wù)器上,供察看和處理。
本設(shè)計(jì)實(shí)例描述了一個簡單的方案,它采用Python腳本語言記錄GPS的讀數(shù)值。Python的優(yōu)點(diǎn)是,電子工程師無需深入鉆研對Symbian/Android架構(gòu)的復(fù)雜C/C++調(diào)用,就能完成這一簡單的工作。只需要在一臺手機(jī)上安裝Python解釋器,以及一個包含腳本的文本文件。
Python腳本會初始化手機(jī)的GPS,定期地將位置與速度數(shù)據(jù)記錄在一個文件中。它可以通過GPRS(通用分組射頻服務(wù))或短信方式,將信息上傳給其它手機(jī)。在連接有一只收短信手機(jī)的PC上運(yùn)行一個.NET應(yīng)用,就可以在Google Maps提供的地圖上,實(shí)時跟蹤一個用戶的位置。如果覺得PC和接收手機(jī)多余,也可以輸入智能手機(jī)上記錄的文件,做手動數(shù)據(jù)計(jì)算。
這種方法的新穎之處在于使用了內(nèi)置加速度計(jì),當(dāng)用戶步行或慢跑時計(jì)算出步數(shù),并根據(jù)該數(shù)據(jù),采用現(xiàn)有的很多公式(參考文獻(xiàn)1和2),計(jì)算出消耗掉的卡路里數(shù)量。因此,你的智能手機(jī)裝上簡單的軟件,就可以變成一個全能的計(jì)步器和跟蹤系統(tǒng),而無需增加任何硬件。
圖1和圖2顯示了接收PC上.NET應(yīng)用的兩幅截屏圖。該應(yīng)用的工作只是接收短信(按預(yù)定的格式)、分析短信,在地圖上顯示位置/數(shù)據(jù),并將信息記錄成一個CSV文件。
在www.edn.com/4398333提供可在線下載的代碼,使手機(jī)用其GPS就可以獲得當(dāng)前位置。通過短信向目標(biāo)手機(jī)號碼發(fā)送一條包含位置數(shù)據(jù)的信息。目標(biāo)手機(jī)可以連接到一臺PC上,用于記錄并回放實(shí)時數(shù)據(jù)。代碼會將所有信息寫入手機(jī)自身的一個文件,如果不能發(fā)短信,則所有數(shù)據(jù)都留在手機(jī)上,供以后做分析。流程圖顯示了代碼的功能情況(圖3)。
最終設(shè)計(jì)中的幾個部分可以作為可選擇部分,因?yàn)橛行┯脩艨赡苤幌胍檻?yīng)用,而另一些人則希望把內(nèi)容存為本地文件,而不是用短信發(fā)送出去。