树莓派 蓝牙测距 功能

啥也不说了直接上代码

# sudo pip3 install bluepy
from bluepy.btle import Scanner, Peripheral
import time
def scan():
    scanner=Scanner()
    devs=scanner.scan(2)
    print("扫描到的设备一共有:" + str(len(devs)))
    for dev in devs:
        distance(dev.addr,dev.rssi)
def distance(mac,rssi):
    # d = 10^((abs(RSSI) - A) / (10 * n))
    # d - 计算所得距离
    # RSSI - 接收信号强度(负值)
    # A - 发射端和接收端相隔1米时的信号强度
    # n - 环境衰减因子
    rssi = abs(rssi)
    power = ((rssi - 59)/(10 * 2.0)) 
    power = (10 ** power)
   
    print("MAC = "+ mac +", distance = "+str(power) + " m")
while True:
    scan()
    time.sleep(1)

由于n A 没有测在网上找的值所以测出来的距离有点偏差。后续可以的话会尝试使用三个树莓派进行未知点的定位。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容