기본적으로 블루투스 장치의 직렬 인터페이스를 사용하고 싶습니다. 내 구체적인 예에서는메쉬타스틱 매트릭스 릴레이직렬/블루투스를 통해 RAK4631(NRF52 기반) 장치에 연결합니다. 애플리케이션에는 /dev/ttyUSB0
USB 직렬 연결과 같은 직렬 인터페이스가 필요합니다.
제가 조사한 바에 따르면 과거에는 장치를 장치에 페어링한 bluetoothctl
다음 명령을 사용하여 rfcomm bind 0 00:11:22:33:44:55 1
이를 /dev/rfcomm0
다른 응용 프로그램에 대한 직렬 인터페이스로 사용하는 방식으로 작동했습니다. 이 방법은 지금까지 커널 5.10.0-23-amd64 및 bluez 5.55-3.1을 사용하는 Debian11/bullseye에서 작동합니다.하지만:어떤 응용 프로그램도 이 인터페이스를 사용할 수 없습니다 /dev/rfcomm0
.
다음 팁/제안을 시도했지만 여전히 앱이 작동하지 않습니다 /dev/rfcomm0
.
- RFCOMM 소켓을 연결할 수 없습니다. 호스트가 다운되었습니다.
- bluetoothctl write 명령을 사용하여 직렬 데이터를 보낼 수 있습니까?
- 원시 직렬 터미널을 블루투스 연결에 연결하는 방법은 무엇입니까?
- Bluetooth RFCOMM이 더 이상 작동하지 않습니다.
- Bluetooth를 통한 직렬 연결 - Raspberry Pi Project
- Raspberry Pi 3의 Bluetooth einrichten(2부)(독일어)
- RASPBERRY PI와 함께 BLE 장치 사용
- Linux에서 직렬 통신을 위한 Bluetooth 장치 설정
마지막 참조 링크에서는 sdptool
이를 사용하여 페어링된 블루투스 장치를 탐색할 수 없다고 설명합니다(어떤 이유로든 그렇지 않은 경우 rfcomm 채널에 유의하세요 1
). 예:
# sdptool browse F4:46:DC:C5:A2:12
Failed to connect to SDP server on F4:46:DC:C5:A2:12: Host is down
다른 포럼의 여러 오래된 스레드에서 사람들은 이것을 사용하도록 제안했지만 bluetoothd --compat
그것도 도움이 되지 않았습니다.
어떤 사람들은 rfcomm(다른 블루투스 유틸리티 옆에 있음)이 더 이상 사용되지 않는다고 말하지만 이에 대한 증거도, 대안도, 현재 어떻게 해야 하는지에 대한 설명도 찾을 수 없습니다.
(분명히 말하자면 스마트폰의 meshtastic 앱을 통해 블루투스를 통해 완벽하게 사용할 수 있으므로 블루투스 장치에는 전혀 문제가 없습니다.)