자동으로 연결되는 블루투스 슬레이브 장치를 만드는 방법

자동으로 연결되는 블루투스 슬레이브 장치를 만드는 방법

내가 하려는 작업의 개념은 간단합니다. Linux 컴퓨터를 (휴대폰의) 연결을 자동으로 수락하는 Bluetooth 슬레이브 장치로 만드는 것입니다. 전반적인 목표는 모바일 앱의 데이터를 Linux 컴퓨터의 Python에 자동으로 연결하고 전송하는 것입니다. 제가 생각하는 단계는 다음과 같습니다.

먼저 hciconfig를 사용하여 블루투스 어댑터를 설정했습니다.

sudo hciconfig hci0 noauth
sudo hciconfig hci0 name thisdevice
sudo hciconfig hci0 lm SLAVE
sudo hciconfig hci0 lm ACCEPT
sudo hciconfig hci0 sspmode 1
sudo hciconfig hci0 reset
sudo hciconfig hci0 piscan

그런 다음 인증을 위해 Bluetoothctl을 사용하는 Bluetooth 프록시가 필요합니다.

bluetoothctl
discoverable on
pairable on
agent NoInputNoOutput

그런 다음 휴대폰을 사용하여 연결해야 합니다. 그러나 연결하려면 bluetoothctl의 터미널에 YES를 입력해야 합니다. (올바른 핀인지 확인을 요청합니다.) 이는 문제이며 NoInputNoOutput 설정의 전체 목적을 무효화합니다.

그런 다음 Pybluez 및 discover_service 함수를 사용하여 Python 프로그램을 실행할 수 있습니다. 그런 다음 모바일 앱에서 서비스에 연결할 수 있습니다.

이것이 올바른 사건의 순서인가요? Bluetooth를 자동으로 인증하는 방법은 무엇입니까? (bluez에서 프록시 코드를 수정하시겠습니까?)

감사해요

답변1

저는 결코 이 주제에 대한 전문가는 아닙니다. 차라리 3일 동안 같은 것을 시도했지만 거의 살아남지 못했다고 말하고 싶습니다. 나는 이제 포기하고 내 Raspberry Pi를 다른 모든 미완성 프로젝트 더미에 버렸습니다.

그래도 나는 이 지옥을 통과한 나의 여정이 당신에게 가치가 있을 것이라고 생각했습니다. agent off새 상담원을 등록하기 전에 다음을 입력해 보세요.

bluetoothctl
agent off
agent NoInputNoOutput
discoverable on
pairable on

이러한 명령을 입력하는 동안 두 번째 터미널에서 실행하면 btmon등록 중인 새 NoInputNoOutput 에이전트가 표시되어야 합니다.

답변2

이 시도:

bt-agent -c NoInputNoOutput -d

관련 정보