[참고] 헛소리로 블루투스 키보드 에뮬레이션

개요


  • 흠뻑 Bluetooth를 사용하여 BT 키보드로 깨어 (에뮬레이션) 라즈파이에 꽂은 USB 키보드에서 타이핑한다는 기사를위한 메모.


  • 전 기사

  • Emulating a Bluetooth Keyboard with a Raspberry Pi and Python (Raspbian Jessie/Bluez 5 version)
    ↑는 ↓를 참고로 최근의 환경에 대응시킨 것 같다.

  • Emulate a Bluetooth keyboard with the Raspberry Pi - Learn how to relay the input from a USB keyboard to a Bluetooth-capable device using the Raspberry Pi


  • BLE가 아닌가? (스마트 폰에서 감지 할 수 없음)
  • 구현 된 코드는 전혀 보지 않습니다. . 절차를 쫓은 것만.
  • (관련) BLEnano와 Raspberry Pi로 USB 키보드를 블루투스 지원 ...

  • 환경


  • Raspberry Pi : Zero W 및 3 Model B에서 확인
  • Raspbian: 2017-03-02-raspbian-jessie-lite.img
  • USB 키보드 - 나선형에 연결

  • Windows 7 64비트: ssh에서, 빈번하게 로그인해, 설정했다. 나중에 BT 연결 테스트

  • 절차



  • Raspbian 시작
  • microSD에 Raspbian 이미지 굽기
  • 필요한 경우,
  • ssh (빈 파일) 및 wpa_supplicant.conf (있는 경우)를 FAT 파티션에
  • sudo apt-get update && sudo apt-get upgrade



  • 필요한 패키지 설치

  • 우선,

    우선
    sudo apt-get install -y htop byobu git-core python-dbus python-gtk2
    


  • 블루투스 관련

    블루투스 관련
    sudo apt-get install -y python-gobject bluez bluez-tools bluez-firmware python-bluez python-dev python-pip
    sudo pip install evdev
    



  • byobu 시작
  • byobu [Enter]로 시작
  • Ctrl+a => 1 [Enter] (처음에만)


  • 블루투스 데몬 구성

    코피페
    # Stop the background process
    sudo /etc/init.d/bluetooth stop
    
    # Open a dedicated terminal and tun the bluetooth daemon in the foreground
    sudo /usr/sbin/bluetoothd --nodetach --debug -p time
    

  • Ctrl+a (멀리서) c

  • Emulator Sever
    # Download the code
    cd ${HOME}
    git clone https://github.com/yaptb/BlogCode.git
    
    # Configure DBUS
    cd BlogCode/btkeyboard/dbus
    sudo cp org.yaptb.btkbservice.conf /etc/dbus-1/system.d/
    
    #hciconfig
    sudo hciconfig hci0
    sudo hciconfig hci0 up
    sudo hciconfig hci0
    

    여기에 표시된 BD Address를 삼가하십시오.
    => 예) BD Address: B8:27:EB:31:41:59 ACL MTU: 1021:8 SCO MTU: 64:1

    btk_server.py 수정
    #Edit the Emulator Server Code
    cd ${HOME}
    cd BlogCode/btkeyboard/server
    #
    vi btk_server.py
    

    => MY_ADDRESS에 이전 BD ADDRESS, MY_DEV_NAME에 적절한 이름을 넣습니다.
    MY_ADDRESS="B8:27:EB:31:41:59"
    MY_DEV_NAME="RPiZeroW_BTKb"

    EmulatorServer 시작
    # Run Emulator Server
    cd ${HOME}
    cd BlogCode/btkeyboard/server
    sudo python btk_server.py
    

    (실행 예)
    pi@raspberrypi:~/BlogCode/btkeyboard/server$ sudo python btk_server.py
    /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
      warnings.warn(str(e), _gtk.Warning)
    Setting up service
    Setting up BT device
    Configuring for name RPiZeroW_BTKb
    Configuring Bluez Profile
    Reading service record
    Profile registered
    Waiting for connections
    

  • Ctrl+a (멀리서) c

  • Pairing
  • sudo /usr/bin/bluetoothctl 를 실행하여 ↓ 를 꽉.

  • 코피페
    agent on
    default-agent
    scan on
    discoverable on
    
  • Windows 블루투스 아이콘을 마우스 오른쪽 버튼으로 클릭하고 장치 추가.

  • 숫자 보고 싶은 것이 나오면, 나선 측에, [agent] Confirm passkey 117747 (yes/no): 가 표시된다. 그런 다음 yes [Enter]하고 Windows 대화 상자에서도 [Next]를 누릅니다. => 드라이버가 설치되므로 기다립니다.

  • Ctrl+a (멀리서) c

  • Local Keyboard Mirroring
  • USB 키보드를 나선형으로 꽂고, 이하, 코피페.
  • cd
    cd BlogCode/btkeyboard/keyboard
    sudo python kb_client.py
    

    실행 예
    pi@raspberrypi:~/BlogCode/btkeyboard/keyboard$ sudo python kb_client.py
    Setting up keyboard
    setting up DBus Client
    waiting for keyboard
    found a keyboard
    starting event loop
    

    => 뻔뻔스럽게 박힌 USB 키보드로 조작을 할 수있는 하즈.

    기타



  • 전원을 다시 켤 때는, 이런 느낌??
    # byobu起動
    byobu
    
    # Stop the background process
    sudo /etc/init.d/bluetooth stop
    
    # Open a dedicated terminal and tun the bluetooth daemon in the foreground
    sudo /usr/sbin/bluetoothd --nodetach --debug -p time
    
    ######## Ctrl+a  c ########
    
    sudo hciconfig hcio up
    sudo hciconfig hcio
    
    cd ${HOME}
    cd BlogCode/btkeyboard/server
    sudo python btk_server.py
    
    ######## Ctrl+a  c ########
    
    sudo /usr/bin/bluetoothctl
    
    agent on
    default-agent
    scan on
    discoverable on
    
    ######## Ctrl+a  c ########
    
    cd 
    cd BlogCode/btkeyboard/keyboard
    sudo python kb_client.py
    
  • 좋은 웹페이지 즐겨찾기