BLE信标温度.



我有一个发出温度和湿度的蓝牙信标.我创建了一个安卓应用程序,它能够从信标接收数据,例如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 安卓应用程序读取信标,该应用程序显示以下数据

身份证数据

制造商编号温度

这里可能存在许多问题。

  • 该方法beacon.getDataFields()返回一个数组。 尝试获取第一个数据字段beacon.getDataFields().get(0)

  • 确保您的信标支持 AltBeacon 格式并在传输的最后一个字节中编码温度, 或者您正在使用信标格式创建信标解析器.

  • 如果使用 Eddystone
  • 格式, 您需要确保遥测已打开, 为 Eddystone-TLM 设置信标解析器, 然后从g etExtraDataFields()访问温度

最新更新