M5Stack과 Unity간에 블루투스 시리얼 통신을 하자
이것 한 개 있으면 Unity로 개발할 수 있는 게임의 폭이 넓어지는 것 같아, Unity와 통신하려고 하면 상당히 넘어졌기 때문에, 방법을 공유하려고 합니다.
이 기사에서는 M5Stack에서 얻은 정보를 Bluetooth 시리얼 통신으로 PC로 보내 Unity에서 얻기까지 할 것입니다.
---개발 환경---
M5Stack측 준비
Bluetooth 통신 방향은 BluetoothSerial.h이라는 라이브러리를 사용하여 수행됩니다.
M5Stack의 첫 번째 설정에서이 라이브러리가 추가되었다고 생각하지만 찾을 수 없으면 다시 설치하십시오.
아래 프로그램은 M5Stack에서 0에서 255까지의 숫자를 0.1초마다 Bluetooth로 PC로 보내는 프로그램입니다. 이것을 Arduino IDE의 스케치에 쓰십시오.
컴파일하고 문제가 없으면 선택한 보드와 직렬 포트가 잘못되었는지 확인하여 M5Stack에 씁니다.
BluetoothTest#include <M5Stack.h>
#include "BluetoothSerial.h"
byte counter;
BluetoothSerial bts;
void setup() {
M5.begin();
M5.Lcd.println("Bluetooth Now");
Serial.begin(9600);
bts.begin("M5Stack");//PC側で確認するときの名前
counter = 0;
}
void loop() {
bts.println(counter);
counter++;
delay(100);
}
여기서 일단 시리얼 모니터로 제대로 Bluetooth로 시리얼 통신할 수 있는지 확인합시다.
Windows의 경우 設定>デバイス>Bluetoothとその他のデバイス
를 열고 Bluetooth 장치를 추가합시다.
장치 이름은 M5Stack입니다.
안전하게 연결할 수 있으면 제어판에서 장치 관리자를 열고 포트를 확인합니다.
확인하면 Bluetooth 링크를 통한 표준 시리얼(COMn)이라는 이름으로 포트가 두 개 열려 있을 것입니다.
여기서 왜 두 개의 포트가 열리는지 아직 이해하지 못하네요 ... (죄송합니다 )
우선 작은 숫자의 포트를 ArduinoIDE의 직렬 포트에서 선택하십시오.
그렇다면 시리얼 모니터를 열어, 보레이트를 9600bps로 해, 1부터 255까지의 숫자가 표시되어 있으면 성공입니다. 무사히 PC와 Bluetooth를 통해 시리얼 통신이 가능했습니다.
아무것도 표시되지 않으면 다른 포트를 선택하고 같은 것을 시도하십시오.
Unity 측 준비
그럼 Unity측의 준비입니다.
여기에 대한 준비는 아래 인용 사이트 2의 장난감 실험실 기사입니다.
기사에서 Unity 측 프로그램을 작성하기 위해 작성된 것을 그대로 실행하십시오.
실행해보기
이것도 장난감 실험실님의 기사내대로입니다만 여러가지 보충.
마지막으로 Unity의 콘솔보기에서 여러 번 실행해도 아무 것도 표시되지 않거나 can not open serial port
될 때가 있습니다. 원인일 수 있습니다. 시리얼 모니터를 닫고 다시 시도해 봅시다.
미해결 과제
#include <M5Stack.h>
#include "BluetoothSerial.h"
byte counter;
BluetoothSerial bts;
void setup() {
M5.begin();
M5.Lcd.println("Bluetooth Now");
Serial.begin(9600);
bts.begin("M5Stack");//PC側で確認するときの名前
counter = 0;
}
void loop() {
bts.println(counter);
counter++;
delay(100);
}
그럼 Unity측의 준비입니다.
여기에 대한 준비는 아래 인용 사이트 2의 장난감 실험실 기사입니다.
기사에서 Unity 측 프로그램을 작성하기 위해 작성된 것을 그대로 실행하십시오.
실행해보기
이것도 장난감 실험실님의 기사내대로입니다만 여러가지 보충.
마지막으로 Unity의 콘솔보기에서 여러 번 실행해도 아무 것도 표시되지 않거나 can not open serial port
될 때가 있습니다. 원인일 수 있습니다. 시리얼 모니터를 닫고 다시 시도해 봅시다.
미해결 과제
2의 문제에 대해서입니다만,
M5Stack을 2개 사용하여 Unity 측에서 2개의 데이터를 받는다는 것을 해 보았습니다. , 둘 다 가지고 가지 않을 수도 있습니다.
1,2 모두 원인을 알게 되는 대로 추기합니다.
개발, 집필에 있어서, 아래와 같은 사이트님을 참고, 인용했습니다.
1. 【Unity】UniRx를 사용하여 Arduino와 시리얼 통신 - 장난감 실험실
2. SerialPort 또는 Uniduino를 사용하여 Unity와 Arduino를 연결하는 방법을 살펴 보았습니다.
3. ESP32로 BluetoothSerial 통신을 하자!
Reference
이 문제에 관하여(M5Stack과 Unity간에 블루투스 시리얼 통신을 하자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ZeniZeni/items/1d0e545259fbcd9381c8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(M5Stack과 Unity간에 블루투스 시리얼 통신을 하자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ZeniZeni/items/1d0e545259fbcd9381c8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)