ESP32 devkit C をUSBケーブルでラズパイに繋いでシリアル通信をしたかったので、方法のメモ。
目次
方法1:cu を使う(改行コードを指定できません)
cu をインストール
$ sudo apt update $ sudo apt install cu
ESP32が接続されているポートを確認
$ ls -la /dev/serial/by-id/* lrwxrwxrwx 1 root root 13 8月 23 08:32 /dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_6ec69b3dede9eb11a472a08787c335f3-if00-port0 -> ../../ttyUSB0
usb-Silicon_Labs_CP2102N_…というデバイスが、ttyUSB0 に接続されていることが確認できます。秋月の ESP32 devkit C は、ドライバインストールなどの追加操作をしなくても認識出来ました。調べたところ、CH340(安い中華製品に搭載されていることが多いUSB-Serial変換IC)は別途ドライバのインストールが必要だそうです。
$ ls -l /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 8月 23 08:32 /dev/ttyUSB0 $ sudo chmod 660 /dev/ttyUSB0
ls -l で権限を確認し、sudo chmod 660 /dev/ttyUSB0
で読み取り・書き込み権限を付与します。
cu のインストール
sudo apt upgrade sudo apt install cu
さきほど調べたポートと通信速度を指定し、起動します。
cu -s 115200 -l /dev/ttyUSB0
結果
改行コードが指定できませんでした。LFだけを想定しているようで、CRを受信すると行頭がずれて大変な見た目になります。 Arduino Core for ESP32 の println 関数は改行コードがCRLFなので、使い物になりません。
方法2:GUIアプリ cutecom を使う
調べるとこれがメジャーっぽい。インストールも簡単。
sudo apt update sudo apt install cutecom
インストールが完了したら、左上のラズベリーマークをクリックして、システムツール→Cutecomを起動。以降の使い方は GUI を見ればよく分かるかと思います。