У меня есть установка greengrass, где я хотел бы, чтобы raspberryPi постоянно сканировал устройства BLE и, если что-то было найдено, публикует сообщение через MQTT.
Я получил скрипт для локальной работы на малинеPI (работает через cron), но когда я загружаю скрипт в Lambda и публикую через greengrass, у меня возникает проблема с основным пакетом Bluetooth Python bluez
.
Я пытался использовать эту функцию как долгозапущенная функция, а также функция, вызываемая через сообщение в теме mqtt.Оба приводят к одной и той же ошибке.
Ошибка происходит изнутри одного из основных пакетов python, отвечающих за перенос собственных команд bluetooth linux в 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')