Chcę opracować platformę dla mojego samochodu, która automatycznie łączy każde urządzenie, które próbuje połączyć się z Pi przez bluetooth. Obecnie wymaga akceptacji parowania przez Pi, ale w tym przypadku nie będzie ekranu, więc będzie musiał to zrobić automatycznie. Jak mogę to osiągnąć?
14
Odpowiedzi:
( Pamiętaj, że ta odpowiedź nie działa już od Raspbian Jessie, ponieważ bluez usunął polecenie bluetooth-agent )
Więc obecnie twierdzisz, że możesz połączyć się z Pi w porządku, ale potrzebujesz monitora do procesu parowania.
Uwaga: zaakceptowanie dowolnego połączenia jest niezwykle niepewnym pomysłem, a jeśli używasz tylko ograniczonego zestawu urządzeń, skonfigurowanie ich jako zaufanych urządzeń miałoby o wiele większy sens, ponieważ ograniczyłoby połączenie z Twoimi adresami Mac, ale nie pozwoliłoby na nowe urządzenia do dodania bez monitora
Ale w każdym razie polecenia, które musisz uruchomić, aby zaakceptować wszystkie połączenia z Pi, aby można je było wykryć i ustawić przewidywalny pin, są wymienione poniżej:
Uwaga: być może trzeba zmienić zero
hci0
na numer Bluetooth urządzenia.Teraz po uruchomieniu tych poleceń i sprawdzeniu, czy działają zgodnie z oczekiwaniami, możemy przejść do ich konfiguracji, aby uruchamiała się przy uruchamianiu twojego Pi.
sudo nano mohammadIsAmazing.sh
Teraz wprowadzamy do tego pliku:
Teraz zapisujemy i zamykamy nasz plik za pomocą
control key and x
Otwieramy plik
/etc/rc.local
za pomocą następującego polecenia:Teraz wpisujemy polecenie uruchomienia naszego skryptu bash
/etc/rc.local
Uwaga: musisz umieścić polecenie przed ostatnim wierszem w /etc/rc.local, który zawiera:
exit 0
Teraz zapisujemy i zamykamy ten plik, a następnie ponownie uruchamiamy Pi.
Na marginesie: pamiętaj, aby wybrać losowy pin, aby nieznacznie zwiększyć bezpieczeństwo
Z drugiej strony: Jeśli chcesz zmienić nazwę urządzenia Bluetooth, musisz utworzyć plik o nazwie,
/etc/machine-info
który powinien zawierać następujące elementy:Potem biegnij
service bluetooth restart
po tymźródło
&
na końcu linii wrc.local
pliku - bez niej nie może zakończyć RPI uruchamianie jako czeka na skrypt powłoki/path/to/script/mohammadIsAmazing.sh
, aby zakończyć przed wykonaniem nadal - a jeśli nie ukończy rozruch nie będzie w staniessh
w to w celu naprawy rzeczy ...!apt-get install bluetooth bluez
najpierw i powiedz mi, czy to działa dla Ciebie.bluetooth-agent
i też nie mogłem go znaleźć. Zainstalowanie pakietów nie naprawiło tego.W oparciu o to, co rozumiem, wymagany jest moduł bluetooth slave. Możesz użyć popularnego modułu HC-06 i podłączyć go do Raspberry Pi za pomocą manetki poziomu do pinów TX i RX na Pi oraz użyć skryptu pythonowego do odczytu danych szeregowych i przetworzenia ich w razie potrzeby
źródło
systemd
, że masz taki, prawdopodobnie musisz go skonfigurować, aby zachowywał się w określony sposób.Nie zamierzam omawiać wpływu na bezpieczeństwo, czy nie, ale tak to robię:
Co to wszystko robi:
Ustawia urządzenie tak, aby zawsze było możliwe do wykrycia.
Gdy urządzenie się z nim sparuje, automatycznie oznaczy je jako zaufane urządzenie i połączy się z nim.
Przy każdym rozruchu będzie wędrował po liście znanych urządzeń i spróbuje się z nimi połączyć.
Należy pamiętać, że takie podejście jest sprzeczne z jakimkolwiek rodzajem bezpieczeństwa, ale mogą zdarzyć się przypadki, w których użytkownik chce to osiągnąć.
źródło
W Raspberry Pi3 Model B jest bulit w bluetooth i wifi. Za pomocą serwera OBEX możesz odbierać pliki z innych urządzeń bez pytania o żądanie parowania za każdym razem. Musisz wykonać parowanie po raz pierwszy z tym urządzeniem i utworzyć jeden katalog, w którym pliki będą odbierane cały czas.
Po prostu wykonaj krok poniżej linku.
https://www.raspberrypi.org/forums/viewtopic.php?p=963751#p963751
źródło