Nachdem ich mein Smartphone mittels WiFi erkenne (was seit Android Marshmallow nicht mehr wie gewünscht funktioniert) und auch das Fitness-Armband Fitbit erkenne, bin ich jetzt zurück zum ursprünglichen Plan gekehrt, das Smartphone über Bluetooth zu erkennen.

Ich habe im Netz viele verschiedene Anleitungen für diesen Zweck entdeckt, aber keine schien mit meiner Konstellation zu funktionieren. Ob es daran liegt, dass die Anleitungen für die alte Pi (1) geschrieben wurden, oder Debian Jessie hier anders funktioniert, kann ich nicht mit Bestimmtheit sagen. Ich weiß nur, dass diese Lösung hier damit bei mir funktioniert. „Works on my machine“ sozusagen 🙂

Zunächst einmal braucht es dafür einen USB-Dongle. Theoretisch sollte der Hersteller egal sein, aber wie das nun mal so ist mit Treibern unter Linux: Hat man mal eine funktionierende Variante herausgefunden, sollte man lieber keine andere ausprobieren. Ich habe den Logilink BT0015 verwendet.

Bevor es los geht, die üblichen Vorkehrungen bei Linux. Erst einmal alles aktualisieren:

 

Dann werden die benötigten Bluetooth-Bibliotheken installiert:

Ich habe dabei eine Fehlermeldung erhalten, dass einige Abhängigkeiten nicht aufgelöst werden konnten. Die folgenden Befehle haben dies behoben:

Jetzt kann der USB-Stick eingesteckt werden und der Raspberry neu gestartet:

Um zu prüfen, ob die USB-Hardware erkannt wurde, folgenden Befehl ausführen:

Dies listet alle Geräte auf. Eines davon sollte der Bluetooth-Dongle sein. Prüfen wir nun, ob auch die Funktionalität da ist. Folgender Befehl sollte eine Ausgabe verursachen, in der das wichtige Wort „Running“ vorkommt:

Soweit, so gut. Zeit, die Bluetooth-Geräte in der näheren Umgebung zu erfassen. Jetzt am Telefon noch nichts einstellen.

Jetzt am Smartphone dafür sorgen, dass es über Bluetooth sichtbar ist. Bei Android Marshmallow reicht es, dafür in die Einstellungen zu gehen. Ein erneuter Scan sollte jetzt ein zusätzliches Gerät (Das Smartphone) darstellen:

Die Mac-Adresse des Telefons sollte jetzt notiert werden. Ein pairen des Geräts ist nicht notwendig. Nach meinen Erfahrung benötigt dass zusätzliche Pakete und macht vor allem zusätzliche Probleme. Darauf kann und sollte man verzichten.

Mit Kenntnis der Mac-Adresse kann überprüft werden, ob das Gerät in Reichweite ist:

Auch ungepaart verrät das Telefon nun einige Informationen:

Ist das Telefon hingegen nicht in Reichweite ist die Antwort eine andere:

Das wars. Um das ganze jetzt automatisiert zu verwenden benötigt man nur noch etwas Bash-gescripte:

Viel Spaß damit