Próbuję połączyć się z Totalstation, który nie oferuje sterowników Bluetooth. Ponieważ robię to z powodów czysto diagnostycznych, chciałbym zobaczyć surowe dane wyjściowe z ustanowionego połączenia szeregowego.
Co muszę zrobić, aby przesłać wszystkie dane wyjściowe z połączenia Bluetooth do terminala?
Odpowiedzi:
Jako dodatek do odpowiedzi Briana. Ekran nie działał dla mnie, natychmiast się wyświetlał
[screen is terminating]
Więc znalazłem ten skrypt Python Miniterm . Użycie jest podobne:
źródło
1) Użyj,
hcitool scan
aby znaleźć adres Mac urządzenia.Urządzenie powinno być ustawione w tryb slave ze znanym stykiem. Jeśli nie użyjesz znanego kodu PIN, Ubuntu go wymyśli i na ogół nie będziesz miał czasu, aby wprowadzić go w nieporęczne menu twojego narzędzia pomiarowego.
2) Nie jestem do końca pewien, czy jest to konieczne, ale w menu GUI Bluetooth sparuj urządzenie.
3) w /etc/bluetooth/rfcomm.conf
„Nie wiąż” jest ważne, w przeciwnym razie spróbuje się automatycznie powiązać, co stwarza różnego rodzaju problemy z faktycznym dostępem do urządzenia (ponieważ jest dość wybredne, gdy jest skojarzone)
4)
sudo rfcomm connect 0
Jeśli masz błędy, uruchom ponownie usługę Bluetooth.
5)
screen /dev/rfcomm0
W sprawie rzeczywistych poleceń szeregowych przesyłanych w ten sposób skontaktuj się ze sprzedawcą i błagaj.
źródło
Oto mój sposób na połączenie się z urządzeniem Bluetooth HC-05 podłączonym do mojego arduino. Nie musi pisać pliku jak w odpowiedzi Briana, ale pomysł jest podobny. Przetestowałem to z ustawieniem prędkości 9600 bodów na urządzeniu HC-05.
Pierwszy krok: sparuj urządzenie i podaj kod PIN
Próbowałem skonfigurować z GUI parowanie, ale nie działało. Oto sposób postępowania z wiersza poleceń, który zadziałał dla mnie. Najpierw sparujmy urządzenie z linii poleceń. Biegać :
Upewnij się, że urządzenie Bluetooth zostało uruchomione:
Teraz uruchamiamy agenta, który „zapamięta kod PIN” dla
rfcomm
:Teraz włączamy tryb skanowania, aby znaleźć nasze urządzenie i móc je sparować:
Po kilku sekundach powinien pojawić się adres MAC urządzenia. Oznaczymy to później. Następnie wystarczy sparować urządzenie w następujący sposób:
Zostaniesz poproszony o wpisanie kodu PIN, domyślnie jest on
1234
na moim urządzeniu HC-05. Możesz zauważyć, że możliwe jest, że urządzenie połączysz, a następnie rozłączysz z takim komunikatem:ale to nie problem. Nie musisz się łączyć, więc możesz teraz wyjść
bluetoothctl
, piszącCtrl + D
.Podaj przydatny plik
/dev/rfcomm0
Po pierwsze, upewnij się, że nie uruchomiłeś wcześniej żadnego polecenia rfcomm. Rzeczywiście, nawet jeśli zamkniesz
Ctrl+C
program, nadal działa on w tle.Teraz możesz biegać
Zauważ, że jeśli spróbujesz pisać na wejściu rfcom, nic się nie stanie. Musisz użyć innego programu.
Trzeci i ostatni krok: napisz do
/dev/rfcomm0
Plik można zapisać na kilka sposobów, ale należy pamiętać, że wszystkie sposoby postępowania wymagają rootowania. Opisuję tutaj kilka programów, które mogą to zrobić (abyś mógł wybrać w zależności od potrzeb lub na przykład tego, co jest zainstalowane w systemie). Jeśli zapomnisz uruchomić program jako root, możesz mieć błąd:
Pierwsza opcja: połącz za pomocą
screen
Screen to bardzo potężne narzędzie. Możesz go zainstalować (zawsze jest to przydatne), używając:
a następnie biegnij
Jeśli zapomnisz uruchomić go jako root, pojawi się błąd taki, jak Aleksander:
Aby wyjść, wpisz „(CTRL + A) +: quit”
Druga opcja: połącz za pomocą
minicom
Zainstaluj to
a następnie biegnij
Jeśli zapomnisz uruchomić go jako root, wystąpi błąd podobny do tego
Aby wyjść, wpisz „Ctrl + A X”.
Trzecia opcja: miniterm skryptu python
Pobierz ten skrypt i uruchom:
Napisz bezpośrednio do pliku
Najpierw uruchom następujące polecenie (9600 to prędkość transmisji):
Teraz możesz pisać w tym pliku jak w klasycznym pliku:
i teoretycznie czytam z niego za pomocą
Ale nie wiem, czy czytanie nie działa, jeśli ktoś z was ma pomysł ...
źródło
/def/rfcomm0
powinno być/dev/rfcomm0