한 걸음 두 걸음

안드로이드 시스템 프로그래밍 #05 ] WiFi Manager 본문

FrontEnd/mobile system programming

안드로이드 시스템 프로그래밍 #05 ] WiFi Manager

언제나 변함없이 2019. 3. 26. 11:07
반응형

WifiManager클래스는

WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE)식으로 받아서 사용합니다.

WifiManager가 제공하는 기능

  1. 설정된 Wi-Fi 네트워크의 목록을 보여줌
  2. 현재 active Wi-Fi 네트워크에 대한 정보 제공, 연결을 맺거나 끊을 수 있고, 네트워
    크의 상태에 대한 동적인 정보를 제공
  3. Access Point를 스캔하고 그 결과 정보를 제공
  4. Wi-Fi 상태 변화에 따라 전송되는 broadcast에 대한 intent action 이름을 정의함.

참고URL : https://developer.android.com/reference/android/net/wifi/WifiManager.html?hl=ko

활용

  1. WiFi를 통해 실내 위치 파악
    -> LocationManager가 제공해주는 위치 정보는 위도 경도 데이터이고 구체적으로 어떤 장소(2공학관 113호) 인지 알 수 없는 반면 Wifi Manager가 제공하는 위치데이터는 실내의 구체적인 어떤 위치인지를 알기 용이하다.

그 외의 실내위치데이터 얻는 방법

  1. BLE(bluetooth low energy)기반 비콘을 설치해두고 어떤 매장에 들어왔을 때 비콘이 송신하는 메세지를 받아 이를 앱에서 수신하여 위치 감지함.
  2. 소리 이용(스타벅스 사이렌오더) 사람이 들을 수 없는 초음파를 활용하는 것으로, 매장 내에 들어왔을 때 마이크로 전달되는 초음파가 스타벅스 매장 내에 있는 초음파와 일치하면 들어왔다는 것을 확인함.
  3. 자기장, 가속도, 자이로스코프 등의 센서 이용

건물 내부의 자기장의 왜곡 현상을 사전에 조사하여 패턴을 등록시켜놓고 이에 일치하는 패턴을 분석하여 사람의 실내위치를 파악합니다.

  1. WiFi AP활용
    AP에서 전송하는 신호의 세기, 실내 위치 정보 등을 사전에 수집하여,
    맵 데이터베이스를 구축하고 현재 수신된 신호 정보와 수집된 정보(기존의 정보, WiFi fingerprint, 위치에 따른 AP와 신호 강도에 대한 정보)를 비교하여 실내 위치를 인식합니다.

    SSID = AP이름
    BSSID = MAC주소
    RSSI = 신호강도(level)
반응형