Wir haben das erste Streuabzeichen in begrenzter Menge in Technical Book 7 verteilt, aber da der Käufer "Integration mit Raspeye" kommentierte, haben wir beschlossen, es zu einem Artikel in Technical Book 8 zu machen. .. Notieren Sie sich mit einer Entwicklungsrichtlinie, die auf Mac und Linux (Raspai) mit derselben Bibliothek und demselben Quellcode funktioniert, die Probleme und deren Lösung.
Da es einen Beispielcode (C) für ESP32, einen Beispielcode (JavaScript) unter Verwendung der Web-Bluetooth-API des Chrome-Browsers und ein Nachrichtenanzeigeprogramm (Python) für das LED-Abzeichen der USB-HID-Version in Technical Book 7, node.js, gab Ich habe mich entschieden, mit Python zu entwickeln.
--Mac: macOS Mojave Version 10.14.6 (18G1012) + Xcode 11.3 (11C29)
node.js funktionierte gut mit der Noble-Bibliothek und Python funktionierte gut mit Adafruit Python BluefruitLE auf dem Mac, aber mit Raspai "<A HREF =" https://qiita.com/nanbuwks/items " / 32143951bca3cd676587 "> Adafruit Python Bluefruit LE hat nicht funktioniert </ A>" und wie erwartet auch nicht.
Laut der Untersuchung verwendet Linux BlueZ (5.50), und seit BlueZ (5.38) haben sich die Spezifikationen von D-Bus Object Manager geändert, sodass ein Patch angewendet werden musste. Bis zum 26. Januar 2020 wurde es nicht mit der ursprünglichen Familie zusammengeführt, daher muss es auf folgende Weise gelöst werden. (Referenz) Fixed incompatibility with BlueZ version >= 5.38
--Linux: Python 3.7.3 + BlueZ (5.50) + Adafruit Python BluefruitLE (Donatieng Patch)
Es gibt zwei Lösungen.
$ cd /usr/local/lib/python3.7/dist-packages/Adafruit_BluefruitLE/bluez_dbus/
$ sudo mv gatt.py gatt.py_org
$ sudo wget https://raw.githubusercontent.com/donatieng/Adafruit_Python_BluefruitLE/master/Adafruit_BluefruitLE/bluez_dbus/gatt.py
$ sudo pip3 uninstall Adafruit-BluefruitLE
$ git clone https://github.com/donatieng/Adafruit_Python_BluefruitLE
$ cd Adafruit_Python_BluefruitLE/
$ sudo python3 setup.py install
Recommended Posts