한 걸음 두 걸음
안드로이드 시스템 프로그래밍 #05 ] WiFi Manager 본문
반응형
WifiManager클래스는
WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE)식으로 받아서 사용합니다.
WifiManager가 제공하는 기능
- 설정된 Wi-Fi 네트워크의 목록을 보여줌
- 현재 active Wi-Fi 네트워크에 대한 정보 제공, 연결을 맺거나 끊을 수 있고, 네트워
크의 상태에 대한 동적인 정보를 제공 - Access Point를 스캔하고 그 결과 정보를 제공
- Wi-Fi 상태 변화에 따라 전송되는 broadcast에 대한 intent action 이름을 정의함.
참고URL : https://developer.android.com/reference/android/net/wifi/WifiManager.html?hl=ko
활용
- WiFi를 통해 실내 위치 파악
-> LocationManager가 제공해주는 위치 정보는 위도 경도 데이터이고 구체적으로 어떤 장소(2공학관 113호) 인지 알 수 없는 반면 Wifi Manager가 제공하는 위치데이터는 실내의 구체적인 어떤 위치인지를 알기 용이하다.
그 외의 실내위치데이터 얻는 방법
- BLE(bluetooth low energy)기반 비콘을 설치해두고 어떤 매장에 들어왔을 때 비콘이 송신하는 메세지를 받아 이를 앱에서 수신하여 위치 감지함.
- 소리 이용(스타벅스 사이렌오더) 사람이 들을 수 없는 초음파를 활용하는 것으로, 매장 내에 들어왔을 때 마이크로 전달되는 초음파가 스타벅스 매장 내에 있는 초음파와 일치하면 들어왔다는 것을 확인함.
- 자기장, 가속도, 자이로스코프 등의 센서 이용
건물 내부의 자기장의 왜곡 현상을 사전에 조사하여 패턴을 등록시켜놓고 이에 일치하는 패턴을 분석하여 사람의 실내위치를 파악합니다.
- WiFi AP활용
AP에서 전송하는 신호의 세기, 실내 위치 정보 등을 사전에 수집하여,
맵 데이터베이스를 구축하고 현재 수신된 신호 정보와 수집된 정보(기존의 정보, WiFi fingerprint, 위치에 따른 AP와 신호 강도에 대한 정보)를 비교하여 실내 위치를 인식합니다.
SSID = AP이름
BSSID = MAC주소
RSSI = 신호강도(level)
반응형
'FrontEnd > mobile system programming' 카테고리의 다른 글
안드로이드 시스템 프로그래밍 #06 ] Bluetooth (0) | 2019.04.09 |
---|---|
모시프과제 ] Wifi Manager - RSSI 값 평균내어 출력하기 (4) | 2019.04.02 |
안드로이드 시스템 프로그래밍 #04 ] 근접 정보 활용하기 (0) | 2019.03.20 |
Location Provider 종류 GPS / Network (Cello)/ Passive (WiFi AP) (0) | 2019.03.19 |
안드로이드 시스템 프로그래밍 #03 ] 위치 데이터 활용하기 (0) | 2019.03.19 |