2016-05-02 8 views
0

TI SensorTagをAltbeaconライブラリでiBeaconとして検出しようとしています。Altbeaconでビーコン(TI SensorTag CC2650)を検出できません

IはすでにAltbeaconチュートリアルからコードを実装し、この記事に記載されているようにiBeaconレイアウトに解析することを試みた。しかしながら

Is this the correct layout to detect iBeacons with AltBeacon's Android Beacon Library?

Collection<Beacon> beacons = 0 

のサイズであっても私は次のようにログファイルにビーコンを見つけることができます:

D/BluetoothLeScanner:onScanResult() - ScanResult {mDevice = A0:E6:F8:B6:62:01、mScanRecord = mAdvertiseFlags = 5、mServiceUuids = [0000aa80-0000-1000-8000-00805f9b34fb]、mManufacturerSpecificData = {13 = [3、0、0]}、mServiceData = {}、mTxPowerLevel = 0、mDeviceName = CC2650 SensorTag]、mRssi = -36、mTimestampNanos = 625504179339285}

私のコードは次のように見える:

public class BeaconActivity extends Activity implements BeaconConsumer { 

    private final static int REQUEST_ENABLE_BT = 1; 
    private static final String TAG = "BeaconActivity"; 

    private BeaconManager beaconManager = null; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_beacon); 
     beaconManager = BeaconManager.getInstanceForApplication(this); 
     beaconManager.getBeaconParsers().add(new BeaconParser(). 
       setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24")); 
     beaconManager.bind(this); 
    } 

    @Override 
    public void onBeaconServiceConnect() { 
     beaconManager.setRangeNotifier(new RangeNotifier() { 
      @Override 
      public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) { 
       Log.d(TAG, "onBeaconService"); 
       if (beacons.size() > 0) { 
        Beacon firstBeacon = beacons.iterator().next(); 
        Log.i(TAG, "The first beacon " + firstBeacon.toString() + " is about " + firstBeacon.getDistance() + " meters away."); 
       } 
      } 
     }); 

     try { 
      beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null)); 

     } catch (RemoteException e) { 
      Log.v(TAG, "Error whilte trying to startRangingBeaconsInRegion: ", e); 
     } 
    } 

答えて

0

以下に示すログ行は、検出されたBLEパケットがではなく、ビーコン送信であることを示します。これは、おそらくSensorTagにビーコンとして送信するための適切なファームウェアがロードされていないことを意味します。

D/BluetoothLeScanner: onScanResult() - ScanResult{mDevice=A0:E6:F8:B6:62:01, >mScanRecord=ScanRecord [mAdvertiseFlags=5, mServiceUuids=[0000aa80-0000-1000->8000-00805f9b34fb], mManufacturerSpecificData={13=[3, 0, 0]}, mServiceData={}, >mTxPowerLevel=0, mDeviceName=CC2650 SensorTag], mRssi=-36, >mTimestampNanos=625504179339285}

上記検出SensorTag送信がガットサービスのUUIDを送信し、3つのデータ・バイトを有するメーカーTexas Instrumentsのための製造者の広告であることを意味する:03 00 00送信は、任意の公知のビーコンフォーマットに対応していないこと。

+0

私はSensorTagにiBeacon技術が含まれていると考えました。少なくとも私はここでそれを読んでいます[リンク](http://www.ti.com/tool/cc2650stk) –

+0

すぐに使用できますが、ビーコンとして動作するように設定されていません。これを行うには、デバイスに特定のファームウェアをロードする必要があります。 – davidgyoung