iT邦幫忙

0

在設備開啟WiFi之後,會對周邊 WiFi Access Point (AP)進行掃描,並將這些可見WiFi名稱推給用戶供選擇。這是幾乎是我們的PC和手機的日常。 除了連接WiFi登錄Internet 之外,實際上,我們還可以通過 WiFi AP進行定位
定位和地圖一直是緊密聯繫的,無論是面向消費者的第一人稱應用,還是關於管理者的追蹤需求。各大LBS廠商,早就提供了各種定位功能,尤其HERE,Positioning 歷史可以追溯到 Nokia年代,包括基於 GPS,WiFi network,Cell Signal,Bluetooth 等各種信號的定位能力。

Concept

  • 除了Mobile Hotspot、WiFi Egg,大多數情況下 AP不會經常的移動, 這就為WiFi定位的基礎參照位置信息
  • 理論上,每一個 AP 都有全球唯一標識符— mac地址;當然也不排除有重覆mac的問題,至於如何去重和更新後端數據庫就是 another story,這裡不展開了;
  • 設備WiFi掃描到AP即可同時獲取AP的信息,信號的強度,mac地址(BSSID)等,無論是否連接上;
  • 根據WiFi信號強度衰減和距離的函數,可以判斷設備離AP的距離;如果多個AP存在,那麽這多個圓相交的區域就可以判定設備的位置;
    從上面的原理可以看出,AP的位置越準確,設備掃描到的AP越多,那麽設備的位置越準確。

Quick Testing
做個小測試,幫助快速理解。
假設您已經擁有了 HERE Developer 帳號和密碼,如果沒有,這裡免費註冊https://developer.here.com/sign-up?create=Freemium-Basic&keepState=true&step=account
以我手頭的 Windows 和 HERE Positioning API 的 WLAN Positioning為例。
1 獲取周邊WiFi信息,可以使用 netsh 命令查到當前掃描到的AP。
netsh wlan show networks mode=BSSID

https://ithelp.ithome.com.tw/upload/images/20201005/2012979798TMcMugIq.jpg

2 使用收集到的 BSSID 發送類似 這個範例 中的請求即可,so easy!
當然, 這只是 online WiFi positioning, 還有更黑科技的 offline positioning,有空再更。
Demo Screenshot
Chian HLS JS API + Global Positioning API
https://ithelp.ithome.com.tw/upload/images/20201005/20129797kqtXGjJTi5.jpg

Global HLS Imagery View
https://ithelp.ithome.com.tw/upload/images/20201005/20129797mFk5OKjj8e.jpg

HAVE FUN!

• 作者: Xiaoyan Mu
• 部落格連結: https://www.kikitamap.com/2019/03/05/Icecream_Part1_Basemap_Setup/
• 著作權: The author owns the copyright, please indicate the source reproduced.


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言