낮은 수준의 Bluetooth 유틸리티

낮은 수준의 Bluetooth 유틸리티

장치를 페어링 및 페어링 해제하고, 장치에서 메시지를 표시하고, 장치에 메시지를 보내고(파일 시스템을 사용하여 완료했으면 좋겠습니다!) 사용 가능한 플래그를 설정할 수 있는 Bluetooth 유틸리티가 Linux에 있습니까?

내가 염두에 두고 있는 응용 프로그램은 10개의 작은 블루투스 키보드를 갖고 각 키보드의 모든 키를 매핑하여 MIDI 메시지를 보내기를 원한다는 것입니다(분명히 MIDI 부분은 이 OP의 일부가 아닙니다).

답변1

아래에는 장치와 상호 작용하는 데 사용할 수 있는 Bluetooth 작업용 도구가 나열되어 있습니다.

인간-기계 구성

hciconfig

  • 컴퓨터의 Bluetooth hci에 대한 정보를 제공합니다.
  • 장치가 실행 중이고 필요한 스캔 모드가 있는지 확인하십시오.
  • 달리기 hcitool dev도 이 정보 중 일부를 제공해야 합니다.

인간-기계 도구

hcitool inq그리고hcitool scan

  • 근처의 Bluetooth 장치에 대한 정보를 제공하거나 오히려 식별합니다.

hcitool info <BTAddr>

  • 원격 Bluetooth 장치에 대한 정보 얻기

l2ping

l2ping <BTAddr>

  • 원격 블루투스 장치와 통신할 수 있는지 확인하는 방법

SDP 도구

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • 원격 블루투스 장치에서 제공하는 서비스에 대한 정보를 제공합니다.

OBEXFTP

obexftp –nopath –noconn –uuid none –bluetooth <BTAddr> –channel <OPUSHChann elNo> –put <FileToPut>

  • 원격 장치 측에서 핀을 지정하지 않고 파일 전송을 허용합니다.
  • 장치의 OPush 채널 번호는 위의 sdptool에서 가져옵니다.

obexftp -b <BTAddr> -v -p <FileToPut>

  • 지정된 BT 장치에 파일을 배치하도록 허용
  • obexftp는 BT 장치에서 파일을 가져오거나 나열하는 데에도 사용할 수 있습니다.
  • 또한 -b 옵션을 제공하여 인근 BT 장치를 식별할 수도 있습니다.

핵심 대리인

passkey-agent –default <Pin>

  • 여기에 지정된 핀 코드는 원격 BT 장치에서 제공하거나 요청 시 사용자가 장치에 입력해야 하는 비밀번호입니다.

억압받는

obexpushd

  • Bluetooth 장치에서 전송된 파일을 수신할 수 있습니다.
  • 개시자에 따라 수신된 파일은 해당 홈 디렉터리에 저장됩니다.

이 사이트의 지침에 따라 명령줄을 통해 장치를 Linux 상자와 페어링할 수 있습니다. 기사 제목은 다음과 같습니다.Linux에서 명령줄을 통해 Bluetooth 장치를 페어링하는 방법.

  1. Bluetooth 장치 MAC 주소 찾기

    $ hcitool scan
    
    Scanning ...
        11:22:33:44:55:66   device 1
        12:34:56:78:90:12   device 2
    
  2. 예상되는 페어링 코드를 전달하도록 Bluetooth 프록시를 설정하세요.

    $ bluetooth-agent 0000 &
    
  3. rfcomm 구성 파일을 편집 /etc/bluetooth/rfcomm.conf하고 위의 MAC 주소를 입력하세요.

    rfcomm0 {
      # Automatically bind the device at startup
      bind no;
      # Bluetooth address of the device
      device 11:22:33:44:55:66;
      # RFCOMM channel for the connection
      channel 3;
      # Description of the connection
      comment "This is Device 1's serial port.";
    }
    

    노트:중요한 주의 사항은 부팅 시 장치를 바인딩하지 않도록 구성한 경우(bind no;) 직렬 포트를 사용하기 전에 이 명령을 사용하여 rfcomm을 수동으로 시작해야 한다는 것입니다(이 경우 루트 권한도 필요함).

    $ sudo rfcomm connect rfcomm0
    

인용하다

관련 정보