2016-08-29 1 views
0

전화 연결을 사용하지 않고 내 Arduino + HM-10에서 Estimote 비콘 거리를 감지하고 싶습니다.하지만 가능하지는 않습니다.HM-10을 사용하여 Estimot 비콘 거리 감지

HM-10에서만 비콘을 감지 할 수 있습니까? 내 Arduino + HM-10과 신호 간의 거리를 예측할 수 있습니까? 나는 애플이 알고리즘을 발표하지 않았다는 것을 알고 있지만, 나는 이미 안드로이드에서 Cordova 앱으로 비컨과 거리를 추정했다.

답변

1

예, 가능합니다.

달성하려는 목표에 따라 선택해야하는 RSSI와 알고리즘을 사용해야합니다.

내 대답 here을 참조하십시오. 자세한 내용은 거리 측정에 대한 BLE 기술 제한 사항을 참조하십시오.

+0

고맙습니다. 전화없이 와이파이없이 가능합니까? – tatianag

+1

물론 가능합니다. Arduino에서 BLE RSSI 값을 읽어야합니다 (HM-10에서 물어보십시오). 그러면이 RSSI 값을 사용하여 거리를 계산해야합니다 (단순 알고리즘 또는 고급 알고리즘 중 하나) –

+0

@DarkoDjuric 또는 HM10 모듈을 사용하여 RSSI를 찾는 링크를 공유 할 수 있습니다. 참조를 찾을 수 없습니다. – Manish

0

네, 가능하며 v538보다 새로운 펌웨어 ("AT-VERS?"명령으로 버전을 확인할 수 있음)를 사용하는 것도 가능합니다.

SoftwareSerial mySerial(8, 9); // RX, TX 

//  Connect HM10  Arduino Uno 
//  Pin 1/TXD   Pin 7 
//  Pin 2/RXD   Pin 8 

void setup() { 
    Serial.begin(9600); 
    mySerial.begin(9600); 
} 
void loop(){ 
    String message; 
    if (Serial.available()) { 
      c = Serial.read(); 
      mySerial.print(c); 
    } 
    if (mySerial.available()) { 
      message = ""; 
      delay(10); 
      while (mySerial.available()) { 
      c = mySerial.read(); 
      message = message + c; 
    } 
      Serial.println(message); 
} 

HM10과 연결하기위한 기본 코드입니다. [rx/tx 핀은 다를 수 있습니다.] 시리얼 모니터를 통해 "AT"를 보내면 HM10은 이제 "OK"를 돌려 주어야합니다.

HM10을 BLE 중앙 장치로 설정해야 비콘 스캔을 시작할 수 있습니다. 이것은 전송하여 수행됩니다 이전에 활성화없이 작동 AT-IMME1 // 중심적인 역할

을 설정 // - ROLE1 AT

은 AT-RESET // 그 후 HM10

를 다시 시작합니다 "AT-DISI"를 보내면? 시리얼 모니터를 통해 HM10은 iBeacons을 찾기 시작해야하며, 다음과 같은 [P는 자리 표시 자]를 돌려 주어야합니다.

OK + DISC [P0 : P1 : P2 : P3 : P4]

이 메시지는 비콘 거리를 차감 할 수있는 iBeacon의 POWER (송신 신호 전력) 및 RSSI (수신 신호 강도)를 포함합니다.

P3의 마지막 두 자리는 iBeacon의 POWER를 포함하고, P4는 RSSI 값입니다. [주 : 2 개의 Power digit는 16 진수 값입니다. 먼저 숫자를 10 진수 값으로 변환해야합니다. 숫자는 190 어딘가에 있어야합니다.

비컨 사이의 거리를 측정하는 가장 일반적인 방법 나는 알고있다)이다 :

거리 = 10^((POWER-RSSI)/10N), n은 내가 사용하는,이 사이에 4 인 2]

: 나는 도움과 행운에 바란다 귀하의 프로젝트.

+0

그러나 범위 계산은 iBeacons의 경우 다소 부정확합니다. 따라서 너무 많이 기대하지 마십시오. –