BLE信标温度

时间:2019-02-12 08:20:44

标签: beacon temperature

我有一个发出温度和湿度的蓝牙信标。我创建了一个android应用程序,它能够从信标接收数据,例如ID,地址等。

但是没有显示温度值。怎么做? 我是否需要添加任何其他方法,函数,变量?

代码附在下面。预先感谢

tx1.setText("ID1:"+beacon.getId1());
                tx2.setText("ID2: "+beacon.getId2());
                tx3.setText("ID3: "+beacon.getId3());
                tx5.setText("BLE Addr: "+beacon.getBluetoothAddress());
                tx6.setText("Distance: "+beacon.getDistance());
                tx7.setText("Manufacturer: "+beacon.getManufacturer());
                tx8.setText(""+beacon.getDataFields());
                Log.d("beacon123",""+beacon.getDataFields());
                String b= String.valueOf(beacon.getDataFields());
                Toast toastt = Toast.makeText(context,"" +b, duration);
                toastt.show();

我正在通过显示以下数据的nRF android应用程序读取信标

ID data

Manufacturer id Temperature

1 个答案:

答案 0 :(得分:0)

这里可能存在许多问题。

  • 方法beacon.getDataFields()返回一个数组。尝试使用beacon.getDataFields().get(0)

  • 获取第一个数据字段
  • 请确保您的信标支持AltBeacon格式并在传输的最后一个字节中对温度进行了编码,或者您正在使用信标的格式创建BeaconParser。

  • 如果使用Eddystone格式,则需要确保启用了遥测功能,为Eddystone-TLM设置了BeaconParser,然后从g etExtraDataFields()

  • 访问温度