以最簡單的幾何來說,兩點確定一條線,三個點確定一個面;那麼逆推一下,就是三個點確定一個位置(基站定位的原理);四個點確定精確位置(含高程)。
GPS晶片收到不同衛星的數據後,進行解算,就能得到當前接收器在地球的絕對位置了。根據三點定位的原理,同時使用3顆衛星,可以實現2D FIX(不含高程);只有同時使用4顆或以上的衛星,才能實現3D FIX(含高程)。
導航衛星不斷地向地球發射導航電文(衛星的速度、角速度、空間相對位置等信息)
不過凡事都有例外,如果開發者在飄窗進行測試,會搜到衛星,甚至超過4顆,但是仍然無法定位。這是為什麼呢?
這是因為GPS天線的「可視角」有限,而這片星域的衛星角度相距太近,間隔太小,無法精確解算,故此無法實現定位。
GPS衛星運行在距地36000KM的軌道上,信號強度相當弱。GPS的民用C/A碼從衛星發出來的時候信號只有27W左右,達到地球的時候在-158.5dBW以上。用對數形式表示可能不直觀,換算成十進位等於將近0.0000000000000001W,相當小。
所以,只有室外開闊的、無遮擋、晴好的地方,才能搜到更多的衛星,SNR值更高(陰天都會有影響哦),GPS晶片才能更快、更好的實現定位。
而室內是沒有GPS信號的,所以不論開發者如何調整代碼、修正天線,都無法實現GPS定位。如果開發者懶癌爆發,不想去室外測試怎麼辦呢?不用擔心,萬能的淘寶給大家帶來了福音:
不過,有的開發者肯定要反駁我:為什麼我的手機在室內就能定位,而且特別準呢?
這個問題的答案很簡單,手機使用的是多重定位,如果要單純的測試手機的GPS定位,需要這樣做:
首先「三清」,僅打開GPS,然後拔卡,飛行模式,再用專業軟體如GPS Test+試一試,你就明白啦~~
這種情況下,室內,手機也是無法定位的。
手機在室內之所以可以定位,實際上是它不僅使用了GPS,還使用了很多其他的輔助定位技術,如LBS(基站定位)、Wi-Fi(wifi定位)、BLE(藍牙)等。
至此,開發者應該可以明白為什麼手機可以定位,而開發板無法定位了。PS:如果有手機同樣的預算,開發板也能做到同樣的「室內定位」效果。
今天的內容就講到這裡,如有疑問或建議,請聯絡公眾號人工客服或後臺留言給我們吧~
合宙商城福利大放送,1元團購、限量特價,超值活動送驚喜,不要錯過哦!!!
Luat相關教程文章:
Luat系列官方教程1:下載調試工具LuaTools的使用指南
Luat系列官方教程2:控制LED小燈
合宙Luat將陸續推出小企業系列原創作品,敬請關注!