다음 비콘 레이아웃을 사용하여 Android 비콘 라이브러리 의 참조 구현 앱 을 성공적으로 수정하여 현재 가지고 있는 iBeacon 장치를 감지합니다.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
beaconManager.getBeaconParsers().add(new BeaconParser().
setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));
beaconManager.bind(this);
}
}
BLE 패킷의 내부가 처음이므로 이것이 올바른 레이아웃인지 확실하지 않습니다. 라이브러리는 AltBeacon 표준을 승인 하며 해당 문서에는 iBeacon 장치를 감지하는 방법이 언급되어 있지 않습니다.
- 이 코드가 모든 iBeacon 장치를 감지 합니까? 즉,
m:
접두사가 너무 제한적입니까? 아니면 iBeacon 사양과 일치하는 올바른 바이트 시퀀스입니까? - 마찬가지로 나머지 레이아웃이 iBeacon 사양과 정확히 일치합니까?
참고:
답변
저에게 효과적이었습니다. “m : 2-3 = 0215, i : 4-19, i : 20-21, i : 22-23, p : 24-24”
4c00 부품은 제조업체 ID이기 때문에 일치 할 필요가 없다고 생각합니다. 따라서이 부분을 끄고 m : 2-3 = 0215로 시작할 수 있습니다. 다른 모든 것은 올바르게 보이고 작동하는 것 같습니다.
답변
iBeacon 사양을 다운로드 할 수 있습니다 ( “아트 워크 및 사양 다운로드”클릭).
현재 버전에서 회사 ID가 있어야 할 0x4C00
, 그리고 비콘 유형이어야합니다 0x0215
. 다른 모든 필드는 필수이며 지정한대로입니다.
네, 정확하고 모든 호환 iBeacon을 감지합니다.
OT : 또한 광고 간격이 100ms 여야한다고 명시하고 있지만 모든 iBeacon이이를 고수하는 것은 진지하게 의심됩니다.