今回は、2021/08/29開催の「【OSC会津参加企画】低レイヤ・OS・セキュリティワークショップ」のキットを例に、G-cluster の TTY シリアル信号をつなぐやりかたを説明します。
キット内訳
- G-cluster (殻割り済)
- CH340 USBシリアルモジュール
- ジャンパーケーブル x 3
キットをお持ちでない方も同等の機材で同じように設定ができます。
ピン立て
写真では左側から RX GND TX 3.3V となっています。
自分ではんだづけする場合は、一番右側の 3.3V 以外の 3 ピンをはんだづけします。このようなL字型ピンヘッダを使うと、ピンを立てた状態でカバーを閉じることができるのでオススメです
なお、秋月電子などで扱っているL字型ピンヘッダ
https://akizukidenshi.com/catalog/g/gC-05336/
も使えますが、クリアランスの取り方が微妙に違うので基板パーツと干渉しないように注意してください。
USBシリアルモジュール
キットには、CH340チップを使ったシリアルモジュールが同梱されています。
PCに接続して設定をします。
以下の機種ごとに設定してください。
- Linux
- Windows
- Mac OSX
Linux
CH340 ドライバインストール
$ dmesg -w
とすると、
.
.
.
[11585.658794] usb 1-1.2: new full-speed USB device number 6 using ehci-pci
[11585.768697] usb 1-1.2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
[11585.768704] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[11585.768707] usb 1-1.2: Product: USB2.0-Serial
[11585.769212] ch341 1-1.2:1.0: ch341-uart converter detected
[11585.770786] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
のように表示されます。ttyUSB0 として認識したことがわかります。
picocom インストール
シリアル通信ソフトとして picocom を使用します。以下のようにしてインストールします。
$ sudo apt install picocom
(Ubuntuの例です。他のディストリビューションの方は適宜インストールコマンドを変更してください。)
$ picocom -b 115200 /dev/ttyUSB0
として起動してください。
ここで、
FATAL: cannot open /dev/ttyUSB0: Permission denied
となった場合は
$ sudo groupadd dialout
$ sudo usermod -a -G tty `whoami`
$ sudo usermod -a -G dialout `whoami`
として、ログアウト/ログインし直してください。
USBシリアルモジュールを取り外すと picocom が終了します。
Windows
MS-Windows10 を元に説明します。
CH340 ドライバインストール
差し込むとこのように設定されますが・・・
デバイスマネージャを見てみます。
キーボードの「Windows」キー+「R」キーを押して「devmgmt.msc」と打ち込んで「OK」
このようになっているとOKなのですが、
何故かうまくいってませんでした。
うまくいかない場合は以下の「Windows V3.5」からドライバをダウンロードします。
https://www.wemos.cc/en/latest/ch340_driver.html
展開し、SETUP.EXE を起動します。
USBシリアルモジュールを接続しておいて「INSTALL」
インストールされました。
デバイスマネージャで以下のようになっていることを確認します。図ではシリアルポートの名前が「COM4」となっています。この名前を覚えておきます。
rlogin インストール
https://kmiya-culti.github.io/RLogin/#INSTALL
こちらから、ダウンロード、インストールします
起動すると、以下の画面になるので「編集」
「com」を選び「設定」
ポートの設定で 115200 として「OK」
Mac OSX
CH340 ドライバインストール
10.14 Mojave以降ではPCにモジュールを刺すだけで認識します。
それより前の方はこちらを参照してください。
https://www.wemos.cc/en/latest/ch340_driver.html
シリアルポートを確認します。
ls -l /dev/cu.*
として、 /dev/cu.usbserial-1234 のようになっているのが該当ポートです。
もしうまく行かなかった場合の参考:https://community.platformio.org/t/troubleshooting-ch340g-issues-on-macos/9522
picocom インストール
シリアル通信ソフトとして picocom を使用します。以下のようにしてインストールします。
https://macappstore.org/picocom/
$ picocom /dev/cu.usbserial-1234 -b115200
として起動します。USBポートのデバイス名は先程調べたポート名に変更してください。
以下のように表示されればOKです。
port is : /dev/****
flowcontrol : none
baudrate is : 115200
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : no
Type [C-a] [C-h] to see available commands
Terminal ready
G-cluster のログを見る
CH340側はこのようにつなげます
黄色いジャンパーは VCC-3V3に接続してください。
ジャンパーケーブルをこのようにつなげます。
写真で、白黒青の順で接続します。
|G-cluster側ピン番号|G-cluster側信号|CH340シリアルモジュール側信号|線色|
|:---:|:---:|:---:|:---:|:---:|
|1|3.3V|接続せず|NC|
|2|TX|RXD|青|
|3|GND|GND|黒|
|4|RX|TXD|白|
静電気の保護のために、カバーをこのようにしておきました。
PCにつなげます。
シリアル通信ソフトを起動しておいてから、電源用の microUSB ケーブル(キットには含まれていません。ご用意ください。)を接続します。