BLE 마우스 제작, 아이패드 제어

ESP32를 사용하여 BLE 마우스를 만들었습니다.
아이패드↓를 제어합니다.
  • 커서 이동
  • 스크롤
  • 관련 보도


    https://zenn.dev/kotaproj/articles/esp32_keyborad
    ↑는 이전에 제작된ble키보트와 기술적으로 거의 공통적이다.
    마우스 부분만 나열됩니다.

    규격 탐구


    아래와 같다.
    디바이스
    액션
    아이패드 측으로 보내기
    🕹X축
    ←/→/↑/↓ 조작
    마우스 커서 이동
    🕹스위치 1
    밀어내기/게시
    마우스 - 왼쪽 버튼
    스위치
    밀어내기/게시
    마우스 - 마우스 오른쪽 버튼
    스위치
    누르다
    위로 스크롤
    스위치
    누르다
    DOWN 스크롤

    🔧부품 일람


    기자재 명칭
    시험을 준비하다
    ESP32 평가판
    ESP32-WROVER 개발판/ESP32-WROOM 개발판 모두 가능
    🕹바둑판
    조이스틱 및 스위치 세트 - 아마존에서 구입
    리듬 스위치
    3개 사용
    !
    보드에 구축할 수도 있습니다.
    이번에는 한 손으로 조작할 수 있도록 3D 프린터로 케이스를 만들었다.

    연결 다이어그램


    MPU 측면에서 잡아당기기 설정이 되어 있어 저항이 필요 없습니다.

    💻컨디션


    VScode-PlaatformIO를 사용합니다.
    PlaatformaIO의 환경 구축은 ↓에 요약되어 있다.
    https://zenn.dev/kotaproj/articles/esp32_vscode_pio

    라이브러리 - ESP32 BLE Mouse


    다음 라이브러리를 사용하여 ESP32를 BLE 키보드로 설정합니다.
    https://github.com/T-vK/ESP32-BLE-Mouse
    설치 단계는 다음과 같습니다.
  • PlaatformIO-Libraries 선택, ESP32-BLE-Mouse
  • 검색
  • ESP32-BLE-Keyboard 선택
  • Addto Project 선택
  • 지정 항목 - "esp32 mouse"항목 지정
  • Add 선택

  • platformio.ini에 다음 내용 추가


  • lib_deps = t-vk/ESP32 BLE Mouse@^0.3.1
    
    이렇게 하면 안에 포함할 수 있다.
    #include <BleMouse.h>
    

    📝절차.


    아래 내용을 기재하다.
  • 케이스 제작
  • 소프트웨어 설계/코드
  • 케이스 제작


    3D 프린터로 케이스를 제작했습니다.
    엄지손가락으로🕹제어할 수 있도록 위에 놓여 있습니다.
    스위치는 측면에 배치됩니다.

    !
    스위치의 3D 데이터 제작에는 Solidpythhon이 사용됩니다.
    ↓ 참조
    https://zenn.dev/kotaproj/articles/a70464d8cd3540

    소프트웨어 설계/코드


    이전에 작성한 Ble 키보드 항목을 기반으로 작성되었습니다.
    FreeRTOS를 사용하고 있습니다.

    임무 구성


    작업 이름
    과업
    스위치 모니터 타이머
    스위치 DOWN/UP의 변경 사항 모니터링
    조종봉 감시 타이머
    조종대의 변화를 감시하다
    메시지 관리 작업
    키보드 관리에 스위치/핸들 이벤트 알림
    마우스 관리 작업
    메시지 관리에서 이벤트를 보내는 Ble 마우스 제어

    코드 관련


    코드 자체가github에 업로드되었습니다.
    요점을 기재하다.

    ble 마우스 라이브러리


    초기화는 다음과 같습니다.
    #include <BleMouse.h>
    
    static BleMouse s_xBleMouse;
    
    s_xBleMouse.begin();
    
    begin 이후 짝을 지을 수 있는 상태가 됩니다.
    아이패드에서 쌍을 지정할 수 있습니다.
    연결 여부는 다음과 같이 판단할 수 있다.
    if (s_xBleMouse.isConnected())
    {
        // !!!接続中!!!
    }
    
    마우스 명령을 보낼 때는 다음과 같습니다.
    // 左ボタンクリック
    s_xBleMouse.click(MOUSE_LEFT);
    
    // 左ボタンマウスダウン
    s_xBleMouse.press(MOUSE_LEFT);
    
    // 左ボタンマウスアップ
    s_xBleMouse.release(MOUSE_LEFT);
    
    // カーソル移動 x:+10, y:+20
    s_xBleMouse.move(10, 20, pxMessage->wheel, pxMessage->hWheel);
    
    // ホイールの回転
    s_xBleMouse.move(0, 0, 10, 10);
    
    이것은 바퀴의 보충이다.
    아이패드에 롤러를 보낼 때, 시간을 비워 연속으로 보내야 한다.
    다음은 예이다.
    int32_t max_count = 30;
    int8_t step = 1;    // +:正方向, -:逆方向
    
    for (int32_t i = 0; i < max_count; i++)
    {
        s_xBleMouse.move(0, 0, step, step);
        delay(5);
    }
    
    조종대와 스위치를 감시하려면 앞의 문장을 참조하십시오.

    전체 코드


    https://github.com/kotaproj/esp32_mouse

    최후


    키보드에 이어 마우스도 만들 수 있다.
    코드에도 회전 인코더 처리가 있다
    물리적으로 설치하기 어려워서 포기했어요.
    취미와 실용이 함께 있어서 매우 즐겁다.

    참조 링크


    https://www.freertos.org/
    https://github.com/T-vK/ESP32-BLE-Mouse

    좋은 웹페이지 즐겨찾기