MATLAB에서 toio를 움직여 보았습니다.

5852 단어 toioBLEmatlab

소개



toio의 프리 주행 모드로 놀고 있었지만, 속도를 바꾸어 보면 상상 이상으로 제대로 미세 조정할 수 있었다. BLE로 연결하면 toio를 조작할 수 있다는 것이었기 때문에, 제어 가치세 애용의 MATLAB로 움직여 보았다.

이 기사의 타겟


  • MATLAB에서 BLE을 사용하고 싶은 사람
  • MATLAB에서 toio를 움직이고 싶은 사람

  • 사용한 것


  • MATLAB R2019b (R2019b 이후부터 ble 함수가 잡힐 것 같은)
  • toio cube v02.0003
  • BLE를 사용할 수있는 환경의 PC (나는 Macbook Air 2018을 사용했다)

  • 가장 놀란 것이 MATLAB에 뭔가 별도 Toolbox를 넣지 않아도 BLE에 연결하는 곳. 할게~

    MATLAB과 toio를 연결



    우선, 연결할 목적지의 toio를 찾아보자.

    blelist
    blelist  %BLEデバイス探す
    

    아마 이런 리스트가 나온다. toio Core Cube라고 써 있는 곳의 Address를 메모한다.
    또, 복수의 toio Core Cube가 나오면(자신이 아마 가지고 있을 것이다) RSSI가 제로에 가까운 toio의 Address를 메모한다.
    (모쿠모쿠회 등에서는 주의를...)



    다음으로 toio와 연결해 보자. toio와 MATLAB을 연결할 때 ble 함수를 사용합니다.
    단 하나의 커맨드로 연결하는 것은 정말 대단하다.

    ble
    % 引数にメモしたアドレスを入れる。
    b = ble("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
    

    여기에서 toio에 대해 다양한 조작을 할 수 있습니다. 앞으로 할 일 전에
    toio의 기술 사양을 읽어 보자.
    h tps : // 라고. 기주 b. 이오/토이오 sぺc/도 cs/bぇ_콧무니 카치온_오ゔぇrゔぃ에w

    "큐브의 기능을 이용"에 있는 Service UUID를 메모한다.
    그 후, 자신이 하고 싶은 조작을 Characteristics로부터 선택해 여러가지 조작을 해 나가지만, 여기에서는 모터를 움직여 본다. 링크된 페이지의 Characteristic UUID를 기록해 둡니다.
    각각의 UUID를, ble로 출력한 오브젝트의 b로부터 characteristic 메소드를 호출한다. 인수에는 이전의 Serice UUID와 Characteristic UUID를 순서대로 지정한다.





    toioSetting
    c = b.characteristic(...
        "10B20100-5B3B-4571-9508-CF3EFCD7BBAE",...
        "10B20102-5B3B-4571-9508-CF3EFCD7BBAE");
    

    나중에 객체 c에서 write 메서드를 호출하면 모터에 다양한 작업을 수행 할 수 있습니다. write 메소드에 주는 정보는 데이터 위치의 0부터 순서대로 쓴 설정 파라미터와
    속성입니다. 자세한 내용은 아래 페이지를 참조하십시오.
    htps : // 라고. 기주 b. 이오 / 토오 - s ぺ c / 두 cs / b ぇ_ 원래 r

    예를 들어, toio cube가 빙빙 돌리는 명령의 예를 보여줍니다.
    이번에는 조작을 일방적으로 지정하고 싶었기 때문에 'withoutresponce'를 추가했다.

    toioTurn
    % 例: 出力0x64で回転する
    c.write([1,1,1,100,2,2,100],'withoutresponse');
    


    굉장히 지금!

    작업이 끝나면 clear 함수로 만든 객체를 삭제합니다.
    이것으로 toio와의 통신도 자동적으로 해제된다.

    clear
    clear
    

    MATLAB에 toio에 대한 정보 제공



    정보의 읽기도 기본적으로는 write와 하는 것은 같다.
    아무것도 생각하지 않고 ble 함수로 객체를 만들어 둔다.

    read 준비
    blelist
    % 引数にメモしたアドレスを入れる。
    b = ble("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
    

    그런 다음 Service UUID와 Characteristic UUID를 설정합니다.
    이번에는 시험으로 모션 센서를 사용해 본다.

    toioSetting
    c = b.characteristic(...
        "10B20100-5B3B-4571-9508-CF3EFCD7BBAE",...
        "10B20106-5B3B-4571-9508-CF3EFCD7BBAE");
    

    그런 다음 세미콜론없이 아무 것도 생각하지 않고 읽기를 호출합니다.
    그러면 현재의 toio의 자세 등에 관한 정보가 출력된다.

    읽기
    c.read()
    



    출력 결과는 다음 사이트에 표시된 데이터 위치에 해당하는 정보입니다.
    (toio의 버전이 오래되면 3개밖에 값이 나오지 않을지도.)
    h tps : // 라고. 기주 b. 이오 / 토오 - s ぺc / 드 cs / b ぇ_ 전단 r

    결론


  • MATLAB에서 toio를 BLE를 통해 조작했습니다.
  • toio의 정보를 MATLAB에 보냈습니다.
  • 좋은 웹페이지 즐겨찾기