我有一个greengrass设置,我想让raspberryPi不断扫描BLE设备,如果发现任何问题,则通过MQTT发布消息。
我已经使脚本可以在树莓派PI上本地运行(通过cron运行),但是当我将脚本上传到Lambda并通过greengrass发布时,主要的Python蓝牙软件包bluez
遇到了问题。
我试图将该函数用作长期运行的函数,并且还将该函数用作通过消息发送给mqtt主题的函数。两者都会导致相同的错误。
该错误来自负责将本地Linux蓝牙命令包装在python中的主要python软件包之一。
from beacontools import BeaconScanner
[2018-09-25T08:37:35.311-07:00][ERROR]- self.run()
[2018-09-25T08:37:35.311-07:00][ERROR]- File "beacontools/scanner.py", line 92, in run
[2018-09-25T08:37:35.311-07:00][ERROR]- self.socket.setsockopt(self.bluez.SOL_HCI, self.bluez.HCI_FILTER, filtr)
[2018-09-25T08:37:35.311-07:00][ERROR]-error: (9, 'Bad file descriptor')