<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 智能手機(jī)變成計步器和追蹤設(shè)備

          智能手機(jī)變成計步器和追蹤設(shè)備

          作者: 時間:2013-01-08 來源:網(wǎng)絡(luò) 收藏

          當(dāng)你去戶外穿越或騎山地車,或哪怕僅僅是周邊長距離徒步,你也一定想知道自己通過的距離,或者走路的速度。為此而購置一臺專用的想法太過奢侈。如今,帶GPS功能的正在市場上普及,因此可以將一只用于記錄或發(fā)送當(dāng)前傳感器讀數(shù)到一臺服務(wù)器上,供察看和處理。

          本文引用地址:http://www.ex-cimer.com/article/164726.htm

          本設(shè)計實(shí)例描述了一個簡單的方案,它采用Python腳本語言記錄GPS的讀數(shù)值。Python的優(yōu)點(diǎn)是,電子工程師無需深入鉆研對Symbian/Android架構(gòu)的復(fù)雜C/C++調(diào)用,就能完成這一簡單的工作。只需要在一臺上安裝Python解釋器,以及一個包含腳本的文本文件。

          Python腳本會初始化手機(jī)的GPS,定期地將位置與速度數(shù)據(jù)記錄在一個文件中。它可以通過GPRS(通用分組射頻服務(wù))或短信方式,將信息上傳給其它手機(jī)。在連接有一只收短信手機(jī)的PC上運(yùn)行一個.NET應(yīng)用,就可以在Google Maps提供的地圖上,實(shí)時跟蹤一個用戶的位置。如果覺得PC和接收手機(jī)多余,也可以輸入手機(jī)上記錄的文件,做手動數(shù)據(jù)計算。

          這種方法的新穎之處在于使用了內(nèi)置加速度計,當(dāng)用戶步行或慢跑時計算出步數(shù),并根據(jù)該數(shù)據(jù),采用現(xiàn)有的很多公式(參考文獻(xiàn)1和2),計算出消耗掉的卡路里數(shù)量。因此,你的手機(jī)裝上簡單的軟件,就可以一個全能的和跟蹤系統(tǒng),而無需增加任何硬件。

          圖1和圖2顯示了接收PC上.NET應(yīng)用的兩幅截屏圖。該應(yīng)用的工作只是接收短信(按預(yù)定的格式)、分析短信,在地圖上顯示位置/數(shù)據(jù),并將信息記錄成一個CSV文件。

          智能手機(jī)變成計步器和追蹤設(shè)備

          在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)。

          智能手機(jī)變成計步器和追蹤設(shè)備

          最終設(shè)計中的幾個部分可以作為可選擇部分,因?yàn)橛行┯脩艨赡苤幌胍檻?yīng)用,而另一些人則希望把內(nèi)容存為本地文件,而不是用短信發(fā)送出去。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();