本帖最后由 lidicn 于 2018-9-23 02:54 编辑  
原理简述
- 通过pybluez获取蓝牙信号rssi
 
- 将rssi换算成距离
 
 
前置需求
- 免驱usb蓝牙适配器【树莓派自带】2. 蓝牙手环、蓝牙标签【需要支持ble】
 
- 安卓手机需要安装Beacon Simulator模拟beacon才能实现检测
 
 
安装插件
- 下载ble_presence.py文件,复制到\config\custom_components\sensor
 
 
sudo apt-get install bluez bluez-hcidump 
获取蓝牙设备mac地址
bash-4.4# sudo hcitool lescan
Set scan parameters failed: Operation timed out
bash-4.4# hcitool lescan
LE Scan ...
11:22:33:AA:BB:CC MJ_HT_V1
 
配置Yaml
sensor:
  - platform: ble_presence
    mac: 11:22:33:aa:bb:cc
    name: miband2
    friendly_name: 小米手环2
    arg_a: 85
    arg_n: 1.9
  - platform: ble_presence
    mac: 11:22:33:aa:bb:cc
    name: mix2_presence
    friendly_name: 小米mix2
    arg_a: 85
    arg_n: 1.9 
参数详解
- arg_a 是当蓝牙标签与蓝牙基站相距1米时的rssi的绝对值【可选参数,但建议设置】
 
- arg_n 环境衰减因子【float型】【可选参数,但建议设置】
 
- name用于entity_id,如上例,将生成sensor.miband2跟sensor.mix2_presence【可选参数】
 
- friendly_name 【可选参数】
 
- mac,蓝牙标签的mac地址【必要参数】
 
 
参考文档
- Bluetooth RSSI Distance MPU
 
  
 
 
 
 
 
 
 
 |