BLE是否支持ping操作,即向其他设备发送消息并接收其状态?BLE是否支持Ping?
我想在Android上编写一个应用程序,它会ping每个附近的设备并计算发送时间和接收答案之间的时间,有可能吗?
BLE是否支持ping操作,即向其他设备发送消息并接收其状态?BLE是否支持Ping?
我想在Android上编写一个应用程序,它会ping每个附近的设备并计算发送时间和接收答案之间的时间,有可能吗?
正如您在评论中指出的那样,您喜欢使用到达时间或到达时间差算法来计算基于蓝牙的距离。
据我所知,这是目前在蓝牙环境中更理想的方法。由于无线电信号以轻微的速度传播(一纳秒内约为29.979厘米),您将需要较高的采样分辨率才能获得准确的结果。每毫微克的偏差都会导致大约30厘米的误差。
随着WiFi,这是用专用芯片组完成的。据我所知,这是目前不可能与Android,因为它需要很多低级支持(芯片组和操作系统)
希望这会有所帮助!
这里有一些来源
你可以很容易地看到发现的时间戳每个设备在onScanResult方法:
@Override
public void onScanResult(int callbackType, ScanResult result){
Long lastSeen = result.getTimestampNanos();
//rest of your code
}
查看Android Documentation。您可以使用此时间戳和开始扫描的时间来获取每个设备的近似响应时间。
不知道你喜欢做什么。你可以扫描nerby设备,他们甚至会给你一个RSSI值。哪些可以用来计算距离 – woley
我不想使用RSSI来计算距离我想要使用到达时间(ToA) – Radko