비콘 rssi를 이용한 거리값 계산 관련질문

조회수 1513회

rssi를 이용해 거리를 얻으려하는데 rssi는 정상수신되나 scanresult.class의 gettxPower() 메소드를 사용하여 txPower를 얻으려했으나 알수없다는 127만이 수신됩니다. ibeacon에사 txpower값을 정상 수신 하려면 어떻게 해야되나요??

gettxPowerlevel()의 txpower는 정상 수신 되어 아래 수식에서 txpowerlevel로 txpower가 대체 가능한가요??

txpowerlevel이 0dbm일때는 밑에식이 계산이 안되어서 맞는지 잘 모르겠네요

protected static double calculateAccuracy(int txPower, double rssi) {
   if (rssi == 0) {
    return -1.0; // if we cannot determine accuracy, return -1.
  }

  double ratio = rssi*1.0/txPower;
  if (ratio < 1.0) {
    return Math.pow(ratio,10);
  }
  else {
    double accuracy =  (0.89976)*Math.pow(ratio,7.7095) + 0.111;    
    return accuracy;
  }
}   
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • iBeacon 을 설정하실 때 txpower를 제대로 설정안해서 broadcast에서 txpower 필드에 0xff가 실려 있는 것은 아닐까요?

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)