LoginSignup
0
0

Processing上でシリアルポート一覧を取得したい

Last updated at Posted at 2023-11-23

Arduinoを使用してスクリプトの書き込み時に書き込み先のシリアルポートを選ぶ必要がある。
シリアルポートって一覧で出せるのか試してみた。

シリアルポートの一覧を取得する目的

・適切なシリアルポートを選択することができるようになるため
  M5Stackからの情報を確認するためには、PCにシリアルポートを指定する必要がある
・シリアルポートの一覧を取得できるようになれば、Bluethoothシリアルにも応用が可能であるため

前提

・Processingで実行
・シリアルポートを使う端末を所持している

スクリプト

sirialport_all.pde
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

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0