I have a AWS Greengrass setup where I would like to have a Raspberry Pi constantly scanning for BLE devices and if anything is found publish a message via MQTT.
I've gotten the script to work locally on the raspberry PI (running via cron) but when I upload the script to Lambda and publish through Greengrass I am getting an issue with the main python Bluetooth package
I've tried to use the function as a long running function and also a function invoked via a message to an MQTT topic. Both result in the same error.
The error is coming from inside one of the main python packages responsible for wrapping native linux Bluetooth commands in python.
from beacontools import BeaconScanner
[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')