簡體   English   中英

ANDROID上的磁場傳感器校准

[英]Magnetic Field Sensor calibration on ANDROID

我正在制作一個作為指南針的應用程序..

我正在使用加速度計和磁場傳感器來計算方位角,即sensor.getOrientation()

我正在尋找可以提高磁場傳感器精度的東西,因為我的准確度已達到不可靠狀態!

任何人都對此有所了解嗎?我正在尋找可以硬編碼的東西,或者只是物理移動手機直到它被校准!

只需幾點

圖8運動有時會起作用而不是其他運動,我不知道為什么,它們確實需要某種基於代碼的方式來檢查8運動是否有效(假設實際需要物理運動)

他們還需要一種方法來檢測是否需要校准,我查看了准確輸出的代碼(不可靠的常數),一旦他們發送給你,他們就不會再發送它,所以例如如果你校准然后進來一個強大的磁場,它不會重新發送(不知道為什么他們這樣做)

檢測正在發生的問題的一種不完全可靠的方法是你也可以使用磁傳感器輸出並執行類似field = sqrt(x * x + y * y + z * z)的操作並檢查該字段是否介於25和65之間然后要求用戶校准,如果沒有。

測試18部手機之后的底線是,我絕不會依賴基於Android的指南針和當前的手機,准確性總是有問題的。

我也發現,即使你很幸運並擁有一部相當可靠的手機,你也永遠無法確定它是否經過校准而沒有在真正的指南針上進行檢查,這種目的無法實現。

注意:在很多行為不當的手機上,我們發現傳感器會寫一個校准文件和一個同名的tmp文件。 如果刪除這些文件並重新啟動電話,則會使用零值重新創建校准文件,冷啟動和一般校准問題將自行解決。

壞消息是它們存儲在/ data / misc中並且需要root權限才能獲得(感謝Google和傳感器制造商!)所以即使我懷疑這會為很多開發人員解決很多問題,但它不可行從市場應用程序的角度來看。

這不是最后的答案(我當然不知道任何事情),但我對在線帖子的理解是,在使用指南針的情況下,以8的數字揮動手機應該會觸發自動重新校准。 例如,這就是谷歌地圖應用程序建議的內容。 我不知道這是否依賴於應用程序功能(在地圖中檢測到加速度計揮動並觸發重新校准的東西),或者在Android堆棧中的某些東西,或者特定於每個電話實現的東西。 試試看吧!

例如討論: http//androidforums.com/epic-4g-support-troubleshooting/217317-cant-get-compass-calibrate.html

此參考似乎表明這個每軸/圖8旋轉過程是內置功能: http//m.eclipsim.com/gpsstatus/

在這里另一篇聲稱這是內置功能的文章,你甚至不需要運行一個消耗指南針的應用程序來重新校准工作: http//www.ichimusai.org/2009/06/20 /如何對校准最HTC魔法羅盤/

我正在為Android開發。 我正在使用Titanium Alloy作為Titanium Geolocation模塊的開發工具。

我只針對商用磁羅盤測試了2個設備[Galaxy Note和S4]。 在校准過程[沿着3軸傾斜]並使用2個不同的指南針應用程序和我正在使用的應用程序之后,Android指南針看起來足夠准確以便基本使用......無論如何,相關性已經足夠我的目的了。 我還發現設備羅盤讀數對其他磁場和電場干擾非常敏感...我犯的最初錯誤是使用羅盤功能,而設備在帶有磁性閉合裝置的設備保護器中[在標簽上非常常見]。 ..這種干擾特別強烈。 因此,我需要向我的應用程序的用戶建議刪除設備保護器,使設備不受其他電子設備的影響,然后在初始化應用程序之前進行標准校准。

另一種選擇是:

轉到傳感器菜單: #*0#*

然后,如果您在Magnetic Sensor部分看到紅線並且Need for Calibration ,則應重新校准指南針。

怎么樣;

那些家伙說 ;

將三星Galaxy Mini S5繞其所有軸旋轉,直到黑色圓圈中的紅線從紅色變為藍色。 您還可以按照8的形狀運行。可能需要多次嘗試來校准指南針......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM