Arduinoを使用してスクリプトの書き込み時に書き込み先のシリアルポートを選ぶ必要がある。
シリアルポートって一覧で出せるのか試してみた。
シリアルポートの一覧を取得する目的
・適切なシリアルポートを選択することができるようになるため
M5Stackからの情報を確認するためには、PCにシリアルポートを指定する必要がある
・シリアルポートの一覧を取得できるようになれば、Bluethoothシリアルにも応用が可能であるため
前提
・Processingで実行
・シリアルポートを使う端末を所持している
スクリプト
import processing.serial.*;
Serial port;
void setup() {
String[] ports = Serial.list();
for(int i =0;i<ports.length; i++){
println(i + ":" + ports[i]);
}
}
void draw() {
}
試してみた
Processingでスクリプトをコピペして実行する
何も接続していない時の実行結果
0:/dev/cu.wlan-debug
1:/dev/tty.wlan-debug
M5Stackをシリアル接続時の実行結果(USBでPCに繋いだ状態)
0:/dev/cu.SLAB_USBtoUART
1:/dev/cu.usbserial
2:/dev/cu.wlan-debug
3:/dev/tty.SLAB_USBtoUART
4:/dev/tty.usbserial
5:/dev/tty.wlan-debug
M5StackをBluethoothシリアル接続時の実行結果(BluethoothでPCに繋いだ状態)
0:/dev/cu.Bluetooth-Incoming-Port
1:/dev/cu.M5Stack
2:/dev/cu.SLAB_USBtoUART
3:/dev/cu.usbserial
4:/dev/cu.wlan-debug
5:/dev/tty.Bluetooth-Incoming-Port
6:/dev/tty.M5Stack
7:/dev/tty.SLAB_USBtoUART
8:/dev/tty.usbserial
9:/dev/tty.wlan-debug
気になったって調べたこと
1種類の接続に対して、cuとttyの2種類が存在しているのが気になった。
OSがMacだから環境によって異なる可能性がある。
cuが制御端末(Control Terminal)の略らしい。
ttyが通信端末(Teletypewriter Terminal)の略らしい。
基本的に両者変わりないが、cuの方が推奨ということでした。
参照1:Chat GPT
参照2:https://stackoverflow.com/questions/8632586/whats-the-difference-between-dev-tty-and-dev-cu-on-macos