2016年7月31日日曜日

Raspberry Pi 3 (Ubuntu MATE) : USB シリアルコンソール端末にする

■ USB シリアル変換基板

Raspberry Pi 3 を USB シリアルコンソール端末に改造。
まずは、USB シリアル変換基板を調達。
変換基板は、SWITCH SCIENCE絶縁 USB シリアル変換基板 がオススメ。
USB の形状は、mini-B になります。
ちょっと高いけど、PC と Raspberry Pi の両方を不意の過電流から守れると考えれば安いもんです。
ジャンパワイヤ (メス-メス) も合わせて調達。

■ GPIO の割り当て確認

http://pinout.xyz/ で GPIO の割り当てを確認。

Pin #Name
025v Power
04Ground
06BCM 14 (UART Transmit) TXD
08BCM 15 (UART Receive) RXD

■ 仮組み

仮組みしてみる。配線は、こんな感じ。

■ 配線四つ編み

四つ編み開始~。
編んどいたほうが扱いやすい。

ピン配置と合わせないといけないので、ヨリ方は調整しながら進める。
5 回ぐらいやり直した (汗)。

よしよし。

■ ケース格納

蓋開けっ放しってのも使いづらいので、HDMI ケーブルの横を 5 mm 角ほど切り込み加工。
カッターナイフで、ちょっとずつ削ればいけます。
一気にやろうとすると、汚くなる可能性あり ( ツゲを彫るより簡単 )。

HDMI コネクタとフレキのコネクタの間を通す。

横のカバーを付ける。

上蓋をはめて完成。

■ UART 設定

UART0 でコンソールを使えるようにするために、コアクロックを 250MHz に変更。

# vi /boot/config.txt

(下記を追記)
core_freq=250

上記は一時対応なので、ちゃんと設定したい場合は下記を参照。
http://qiita.com/yamamotomanabu/items/33b6cf0d450051d33d41

■ 参考
http://qiita.com/komeda-shinji/items/03546ae1014c6b4edc92
http://qiita.com/yamamotomanabu/items/33b6cf0d450051d33d41

■ 2016/11/07 追記

UART コンソールで vi 等を起動した場合、画面サイズが 80x24 ぐらいになってしまう。
stty コマンドで変更可能。
~/.bashrc とかに下記を書いておけば、104x40 とかに変更できる。
一時的に変更したければ、直接実行しても良い。

$ vi ~/.bashrc

(下記を追加)
stty rows 40 cols 104

■ 2017/09/13 追記

apt update/upgrade を実行すると、UART が使えなくなった。
config.txt に下記を設定 (追加) すれば解決。
kernel 4.4.9 以降? UART が DISABLE になっているようだ。2017/09/13 時点で、4.4.38 だった。

# /boot/config.txt

(下記を追加)
enable_uart=1

■参考
https://raspberrypi.stackexchange.com/questions/45570/how-do-i-make-serial-work-on-the-raspberry-pi3

● Raspberry Pi 3, Ubuntu MATE, UART, USB, シリアル, serial, コンソール, console, 変換, コネクタ, mini-B, stty, rows, cols, 画面, サイズ, screen, size