令狐鸣 发表于 2019-9-25 22:40:01

本帖最后由 令狐鸣 于 2019-9-25 22:43 编辑

大佬求助啊~

首先感谢一下,这个方法太好了,树莓派刚好换成虚拟机服务器一直用蓝牙usb距离不够,家里蓝牙设备失联好久.
用闲置的树莓派按步骤一切正常,ha完美读取蓝牙设备.

但是有个问题,不知道我的什么原因,不稳定,运行一段时间就报错停止,再打不开,必须重启树莓派才能.抽风时间不定.研究了下日志基本相同,求给看看可能是什么问题.

日志:

首先会报这些
```python
Fatal error while executing worker command: BTLEManagementError
Traceback (most recent call last):
File "gateway.py", line 91, in <module>
    raise e
File "gateway.py", line 73, in <module>
    mqtt.publish(_WORKERS_QUEUE.get(timeout=10).execute())
File "/opt/bt-mqtt-gateway/workers_manager.py", line 55, in execute
    messages = self._callback(*self._args)

```

然后是不同设备,每次不一样,感觉是刚好碰上那个就是哪个

```python

File "/opt/bt-mqtt-gateway/workers/miscale.py", line 22, in status_update
    topic=self.format_topic("weight/kg"), payload=self._get_weight()
File "/opt/bt-mqtt-gateway/workers/miscale.py", line 31, in _get_weight
    scanner.scan(self.SCAN_TIMEOUT, passive=True)

##########################
File "/opt/bt-mqtt-gateway/workers/btrssi.py", line 77, in status_update
    devices = scanner.scan(5.0)

```

之后基本又相同btle.py问题

```python

File "/usr/local/lib/python3.7/dist-packages/bluepy/btle.py", line 854, in scan
    self.stop()
File "/usr/local/lib/python3.7/dist-packages/bluepy/btle.py", line 803, in stop
    self._mgmtCmd(self._cmd()+"end")
File "/usr/local/lib/python3.7/dist-packages/bluepy/btle.py", line 312, in _mgmtCmd
    raise BTLEManagementError("Failed to execute management command '%s'" % (cmd), rsp)
bluepy.btle.BTLEManagementError: Failed to execute management command 'pasvend'

```


python也不太懂,这个方法真是看到了希望.希望可以完美运用.

不知道是不是python或者Bluez版本问题.
用的3.7和5.5

xflying 发表于 2019-12-30 14:12:11

这篇干货满满,点赞

haigo 发表于 2019-12-30 22:31:02

这个牛皮

sunshine 发表于 2020-1-2 18:19:32

自己的做的这个蓝牙网关可以连接米家所有的蓝牙设备嘛?例如绿米的蓝牙锁之类的?

chai168 发表于 2020-2-27 10:12:09

接入小米电子称成功,有个BUG会导致服务自动终止。>3000oml的这个测身体阻抗的经常超出设定值导致异常。在程序文件中给注释掉就好了。

lyfff 发表于 2020-3-21 12:59:39

一看就会,一试就废{:3_53:}

信人远游 发表于 2020-5-31 17:43:28

楼主您好,如果蓝牙设备不在您这三项设备里,配置是要自己写吧?

zeze247 发表于 2020-9-8 14:36:35

本帖最后由 zeze247 于 2020-9-8 14:37 编辑

你好大神按步骤执行python3 gateway.py出现这种错误。麻烦问一下什么情况?C:\Users\MaNing\Desktop\微信截图_20200908143534.png
root@raspberrypi:/opt/bt-mqtt-gateway# python3 gateway.py
Traceback (most recent call last):
File "gateway.py", line 20, in <module>
    from config import settings
File "/opt/bt-mqtt-gateway/config.py", line 6, in <module>
    settings = yaml.safe_load(f)
File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 162, in safe_load
    return load(stream, SafeLoader)
File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 112, in load
    loader = Loader(stream)
File "/usr/local/lib/python3.7/dist-packages/yaml/loader.py", line 34, in __init__
    Reader.__init__(self, stream)
File "/usr/local/lib/python3.7/dist-packages/yaml/reader.py", line 85, in __init__
    self.determine_encoding()
File "/usr/local/lib/python3.7/dist-packages/yaml/reader.py", line 124, in determine_encoding
    self.update_raw()
File "/usr/local/lib/python3.7/dist-packages/yaml/reader.py", line 178, in update_raw
    data = self.stream.read(size)
File "/usr/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 808: invalid start byte

comeon_000 发表于 2020-9-9 22:21:29

evantalk 发表于 2019-8-23 11:09
确实esp32更合适

ESP32的蓝牙信号太弱,隔一堵墙就基本收不到信号了,全屋蓝牙设备要接入估计要部署几个,这个树莓派不知颠倒信号如何

tkinwa 发表于 2020-9-10 00:19:47

好详细教程,有个二代的派一直吃灰中,好像没什么用
页: 1 2 3 [4] 5
查看完整版本: 篇七:树莓派zero w蓝牙网关