Raspberry PiとESP32をUSBで繋いでシリアル通信

投稿者: | 2022年8月23日

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 を見ればよく分かるかと思います。

コメントを残す

メールアドレスが公開されることはありません。