BeetleC(M5StickC)를 게임패드로 간단하게? 조작하다

안녕하세요 - 라고 합니다!
※모회사의 비공식 서클노라 해킹 팀에서 활동하고 있습니다.

그건 그냥 넣어, 여러분은 BeetleC는 샀습니까? ?
M5StickC를 라디오 컨트롤로 만드는 사례입니다

1 표준 UI는 조작하기 어렵다



다만 이것, 표준의 UI가 매우 특수하고 조작이 메챠 어려워요.
이런 느낌으로 직진조차 어렵습니다 ...

실은 이 UI는 스마트폰에서 M5StickC에 URL htttp://192.168.4.1/ctl로 접속하면 표시되는 Web의 UI이군요.
이것입니다.
이 Left나 Right를 손가락으로 빗 드래그하면 대응한 타이어가 움직이는 구조입니다.
아래의 색이 있는 사각형은 차체 아래의 LED가 그 색으로 점등합니다.
이것, 직진시키려면 Left+Right를 동시에 같은 분상 방향으로 드래그하지 않으면 안됩니다! (있을 수 없다 ...

그리고 스마트 폰에서 쓴 것은 이유가 있고, PC라면 브라우저가 화면 터치 이벤트를 주워주지 않기 때문에 조작 할 수 없습니다.

2 HTTP의 GET 메소드로 조작할 수 있다



이 어려운 조작을 어떻게든하고 싶네요! ?
BeetleC는 GitHub에서 소스도 공개되어 있으므로 ArduinoIDE 등으로 커스터마이즈 해 버리면 좋지 않아? 라고 목소리도 들릴 것 같습니다만, 표준 UI가 WebUI라면 HTTP로 조작하는 것이 간단하지 않을까 생각한 것입니다. 이것이라면 본체에 손을 넣지 않아도 좋습니다.
게다가 http://에서 알 수 있도록 암호화되어 있지 않기 때문에 비교적 간단합니다.

실제로 동작을 해석했는데, 다음과 같은 GET 메소드로 조작이 가능했습니다.
 GET /control?left=XX&right=YY&color=ZZ HTTP/1.1
 (フルURL http://192.168.4.1/control?left=XX&right=YY&color=ZZ )


품목
설명
설정값


XX
왼쪽 타이어 회전
전진(1~124), 후퇴(-1~-124)

YY
오른쪽 타이어 회전
전진(1~124), 후퇴(-1~-124)

ZZ
차체 아래 LED 색상
무(0), 빨강(1), 녹색(2), 파랑(3)


다른 헤더 부분은 이렇게 합니다. (불필요한 물건도 들어 있을지도 모릅니다만, 일단 고정으로 좋습니다)
HOST: 192.168.4.1
Connection: close
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
Accept: */*
Referer: http://192.168.4.1/ctl
Accept-Encoding: gzip, deflate


덧붙여서 URL을 알고 있으면 UI 조작도 필요 없기 때문에 예를 들면 LED 빨강으로 속도 100으로 직진시킨다면, PC의 브라우저로부터
http://192.168.4.1/control?left=100&right=100&color=1

라고 치는 것뿐입니다. 매우 간단

3 게임 패드로 조작하기



브라우저에서도 조작할 수 있지만, 현실적이지 않기 때문에 조작에 게임 패드를 사용하고 싶습니다. (우연히 집에 좋은 느낌이있었습니다 )

구현 방법은 버튼을 눌렀을 때 필요에 따라 HTTP GET을 하면 됩니다!
이번에는 십자 키 위를 누르면 전진, 아래를 누르면 후퇴, 왼쪽에서 왼쪽 선회, 오른쪽에서 오른쪽 선회하도록 하여 A 버튼(버튼 1)은 스피드업, B 버튼(버튼 2)은 스피드 다운에 할당했습니다. (※ 십자 키를 누르면 HTTP GET이 발행되는 구조입니다)


4 만든 앱을 배포합니다.



간단하지만 위에서 쓴 내용으로 게임 패드에서 BeetleC를 제어하는 ​​Windows 앱을 만들었으므로 GitHub에서 배포하고 싶습니다.

사용법은 게임 패드를 PC에 연결하고 PC에서 BeetleC에 Wifi로 연결 후 앱을 시작하고 "시작"버튼을 누르십시오. (BeetleC는 위에서 쓴 것처럼 공식 초기 앱으로 남아 있습니다)

배포 대상: htps : // 기주 b. 코 m / 다 - 예 / 베 t ぇ C - t t 로 r

좋으면 사용해보십시오

좋은 웹페이지 즐겨찾기