Ich möchte eine Plattform für mein Auto entwickeln, die automatisch alle Geräte verbindet, die versuchen, über Bluetooth eine Verbindung zum Pi herzustellen. Momentan erfordert es ein Pairing, das vom Pi akzeptiert wird. In diesem Fall wird jedoch kein Bildschirm angezeigt, sodass dies automatisch erfolgen muss. Wie kann ich das erreichen?
14
Antworten:
( Beachten Sie, dass diese Antwort ab Raspbian Jessie nicht mehr funktioniert, da bluez den Befehl bluetooth-agent entfernt hat. )
Derzeit geben Sie an, dass Sie eine Verbindung zum Pi herstellen können, für den Pairing-Vorgang jedoch einen Monitor benötigen.
Hinweis: Das Akzeptieren einer Verbindung ist eine unglaublich unsichere Idee. Wenn Sie nur eine begrenzte Anzahl von Geräten verwenden, ist es viel sinnvoller, sie als vertrauenswürdige Geräte einzurichten, da dies die Verbindung zu Ihren Mac-Adressen einschränkt, aber keine neuen zulässt Geräte, die ohne Monitor hinzugefügt werden sollen
Die Befehle, die Sie ausführen müssen, um alle Verbindungen zum Pi zu akzeptieren, es erkennbar zu machen und einen vorhersehbaren Pin festzulegen, sind im Folgenden aufgeführt:
Hinweis: Möglicherweise müssen Sie die Null in
hci0
der Bluetooth-Nummer Ihres Geräts ändern .Nachdem Sie diese Befehle ausgeführt haben und überprüft haben, ob sie wie erwartet funktionieren, können Sie sie einrichten, um mit dem Booten Ihres Pi zu beginnen.
sudo nano mohammadIsAmazing.sh
Wir tragen nun folgendes in diese Datei ein:
Nun speichern und schließen wir unsere Datei mit dem
control key and x
Wir öffnen die Datei
/etc/rc.local
mit dem folgenden Befehl:Jetzt geben wir den Befehl ein, in dem unser Bash-Skript ausgeführt werden soll
/etc/rc.local
Hinweis: Sie müssen den Befehl vor die letzte Zeile in /etc/rc.local stellen, die Folgendes enthält:
exit 0
Wir speichern und schließen diese Datei und starten den Pi neu.
Nebenbei bemerkt: Wählen Sie einen zufälligen Pin, um die Sicherheit geringfügig zu erhöhen
Ein weiterer Hinweis: Wenn Sie den Bluetooth-Gerätenamen ändern möchten, müssen Sie eine Datei mit
/etc/machine-info
dem Namen erstellen, die Folgendes enthalten sollte:Dann lauf
service bluetooth restart
hinterherquelle
&
am Ende der Zeile in derrc.local
Datei - ohne es RPI nicht Boote als die Schale wartet das Skript beendet die/path/to/script/mohammadIsAmazing.sh
Ausführung zu beenden , bevor es weiter - und wenn es nicht das Boot nicht beenden Sie nicht in der Lage sein,ssh
in es, um Dinge zu beheben ...!apt-get install bluetooth bluez
zuerst zu rennen und sagen mir, ob das für Sie funktioniert.bluetooth-agent
und konnte es auch nicht finden. Das Installieren der Pakete hat das Problem nicht behoben.Basierend auf dem, was ich verstehe, was Sie benötigen, ist ein Slave-Bluetooth-Modul. Sie können das beliebte HC-06-Modul verwenden und es mit dem Himbeer-Pi über einen Pegelumsetzer mit den TX- und RX-Pins des Pi verbinden. Verwenden Sie ein Python-Skript, um die seriellen Daten zu lesen und nach Bedarf zu verarbeiten
quelle
systemd
es eines gibt, vermutlich müssen Sie es so konfigurieren, dass es sich auf bestimmte Arten verhält.Ich werde die Auswirkungen auf die Sicherheit nicht diskutieren oder nicht, aber so mache ich es:
Was das alles bewirkt:
Legt fest, dass das Gerät immer erkennbar ist.
Wenn ein Gerät mit ihm gekoppelt wird, markiert es es automatisch als vertrauenswürdiges Gerät und stellt eine Verbindung zu ihm her.
Bei jedem Start wird die Liste der bekannten Geräte durchlaufen und versucht, eine Verbindung zu ihnen herzustellen.
Bitte beachten Sie, dass dieser Ansatz direkt gegen jede Art von Sicherheit verstößt. Es kann jedoch Fälle geben, in denen Sie genau das erreichen möchten.
quelle
In Raspberry Pi3 Model B gibt es eine Bulit in Bluetooth und WiFi. Mit OBEX Server können Sie die Dateien von anderen Geräten empfangen, ohne jedes Mal nach einer Pairing-Anfrage zu fragen. Sie müssen das erste Mal ein Pairing mit diesem Gerät durchführen und ein Verzeichnis erstellen, in dem die Dateien die ganze Zeit empfangen werden.
Folgen Sie einfach dem unten stehenden Link.
https://www.raspberrypi.org/forums/viewtopic.php?p=963751#p963751
quelle