Bluetooth Pairing

  • Habe hier mal ein Bluetooth Pairing mit einen RaspberryPi2 mit Bluetooth Dongle dokumentiert.
    Sobald das Gerät in Reichweite/außer Reichweite wird eine URL aufgerufen.


    Bluetooth Namen vergeben
    nano /etc/machine-info
    PRETTY_HOSTNAME=DoorPi
    service bluetooth restart


    Pairing (Bluetooth MAC Beispielhaft!)
    sudo bluetoothctl
    [bluetooth]# agent on
    [bluetooth]# default-agent
    [bluetooth]# scan on


    Gerät koppeln
    Ausgabe: [NEW] Device AA:BB:CC:DD:EE:FF


    [bluetooth]# pair AA:BB:CC:DD:EE:FF
    [agent] Confirm passkey 641018 (yes/no): yes


    Gerät vertrauen
    [bluetooth]# trust AA:BB:CC:DD:EE:FF




    Bluetooth RSSI Script


    Das RSSI Script, versucht eine Verbindung zur jeweiligen Bluetooth MAC Adresse.
    Für die "in Range" Funktion benutze ich den RSSI Level. Sobald dieser dauerhaft >= 0 ist wird ein DoorPi
    Web Event ausgelöst.
    Wird der Wert -9 (sobald eine Mauer dazwischen) unterschritten wird ein weiteres Event im DoorPi ausgelöst.
    Auch hier entsprechend die Device Adresse beispielhaft.
    Folgendes an Deine Umgebung anpassen:
    doorpikeyboard, keylesstaste,user & Password (door:pi), Port(@127.0.0.1:8080)


    nur ein Beispiel wie es bei mir funktioniert.

  • Hallo,


    hat nu etwas länger gedauert bis ich es ausprobieren konnte.
    Leider funktioniert irgendwas nicht.
    Ich habe mein Telefon gepairt und das Script in eine bluetooth.sh Datei gesteckt die ich ausführbar gemacht habe und die beim Start von DoorPi gestartet wird.
    Aber es tut sich nichts.
    Danach habe ich angefangen das Script zu entschlacken und an meine Bedürfnisse anzupassen. Haut immernoch nicht hin. Hast du noch einen Tip für mich?
    Muss die Datei eine andere Endung haben?

  • Ok. Läuft jetzt!!
    Wer sich beim Passwort vertippt ist selber Schuld. Wenn ich das gestern bemerkt hätte hätt ich mir viel Zeit sparen können.



    Wie es aussieht muss ich mein iPhone entsperren damit es funktioniert. Feintuning kommt noch.
    Für zwei Telefone habe ich jetzt zwei Skripte angelegt. Mal sehen ob ich es auch in eins bekomme.


    Fazit:
    Läuft mit meinem iPhone genial. Wenn das Telefon in der Hosentasche ist und ich mich auf 1,5 - 2m dem DoorPi annähere entriegelt er mir das Hoftor. Perfekt.
    Komischerweise funktioniert es mit dem Baugleichen iPhone meiner Freundin nur sehr schlecht. Sie muss ihr Telefon direkt an die Abdeckung halten.

  • Muss hier nochmal nachhaken.
    Mein Eindruck, dass es beim zweiten Device schlechter funktioniert war leider falsch. Es geht einfach nur bei Einem.
    Wenn ich einfach zwei Skripte anlege funktioniert das ganze nur mit dem Device dessen Skript zuerst gestartet wird. Mit dem Anderen garnicht.
    Daraufhin habe ich im zweiten Skript einfach mal alle Variablen umbenannt. Das hat leider nicht geholfen. Nächster Versuch wird sein alles in ein Skript zu verwursten, aber:


    Ausserdem funktioniert der SIP Call auch nicht mehr wenn ich zwei von den Skripten laufen habe. Kann das zu viel sein für einen Pi3?

  • Ich hab es jetzt seit ein paar Tagen alles am Laufen.
    Funktioniert so weit.
    Mein setup sieht nun so aus:
    2 Skripte (für jeden Device eines). Dabei muss wohl im zweiten Skript nur die andere MAC Adresse eingetragen werden (logisch) und ich habe noch in dieser Zeile des Skipts

    Code
    1. rfcomm connect 0 $device 1 2> /dev/null >/dev/null &

    aus der 0 eine 1 gemacht.


    Zuerst habe ich die beiden Skipte beim Start von Doorpi als EVENT_OnStartup gestartet. Das hat nicht funktioniert. Dabei klappt dann irgendwie die SIP Anmeldung an der Fritzbox nicht richtig und es funktioniert nur das zuerst aufgerufene Skript.
    Nun starte ich die Skripte über die rc.local wenn der Pi bootet. Damit läuft es jetzt.


    Eine höhere Prozesserauslastung kann ich nicht erkennen. Aber es scheint den einen oder anderen Prozess etwas zu verlangsamen. z.B. kommen Bilder die ich mir beim Klingeln über Telegram schicken lasse nun teilweise ein paar Sekunden verzögert an. Damit kann ich aber gut leben.
    Ab und zu muss ich mein iPhone entsperren damit es erkannt wird, meist geht es aber automatisch.


    Mein nächster Schritt wird sein statt dem Telefon den Fitnesstracker zu nehmen. Dann kämen auch die Kinder alleine ins Haus. zumindest der Pi scheint Fitbit Devices auch gut zu erkennen.