シングルボードコンピュータにはHDMIなどのビデオ出力がないものがあり、また、GUIやビデオが不要でテキスト・コンソールさえあれば事足りる場合があります。その場合、シリアルコンソール経由でアクセスします。パソコンに接続する場合はUSB-UARTアダプタを利用します。
UARTはUniversal Asynchronous Receiver/Transmitterの略で、シリアル通信の一種で、その中でも基本的なものです。シングルボードコンピュータで言うシリアル接続は一般的にこれを指します。これを外だしできるように信号レベルなどを変換したものがRS-232Cになります。
UART信号はLSB FirstでActive Lowです。
UARTには最低3本の線を利用します。TX(送信), RX(受信), GND(グランド)です。変換基盤のTXとターゲットのRX、変換基板のRXとターゲットのTX、変換基板のGNDとターゲットのGND、と言う形で接続します。
また、信号には主に3.3Vと5Vが存在します。Raspberry Piなど多くのSBCは3.3Vで、Arduino UNOなどは5Vです。1.8Vのものもあります。これはハードウェアによって違い、場合によっては破損しますので、きちんと互いのデバイスを確認しておく必要があります。
USB-UARTアダプタのドライバは、それに使われているチップによって決まります。
- もっともメジャーで安定感のあるものはFTDI FT232系です。
- 3.3V / 5V と選択できるものが多いです。
- 中華通販でニセモノのチップにあたったことがあります、IC自体が偽物でした。安すぎるモジュールに要注意。
モジュール・ケーブル例
- FTDI USBシリアル変換アダプター Rev.2
- FT232RL USBシリアル変換モジュール
- FT234X 超小型USBシリアル変換モジュール
- FTDI USBシリアル変換ケーブル(3.3V)
- USB-TTLシリアルコンバータ 3.3V 3.5mmプラグ
ドライバ
- FTDI FT232系(VCP Drivers)
- Linuxの場合は多くの場合OSに付属しています
OSでの認識
- macOSの場合 /dev/cu.usbserial-XXXXX として認識されます
- Linuxの場合 /dev/ttyUSBX として認識されます
- Windowsだと COMXX です(未確認)
- 安価で安定感があります。
- 3.3Vのみ。
- 中華通販で配線ミスのあるモジュールにあたったことがあります。(チップはおそらく正規品)
モジュール・ケーブル例
ドライバ
- CP210x USB - UART ブリッジ VCP ドライバ
- Linuxの場合は多くの場合OSに付属しています
- macOSの場合 /dev/cu.SLAB_USBtoUART として認識されます
- Linuxの場合 /dev/ttyUSBX として認識されます
- Windowsだと COMXX です(未確認)
- さらに安価です。
- 初心者向きではありません。
- いろいろと不具合が起きやすい印象がありますが、上手くいけばそれなりに使えます。
- Raspberry Pi向けの専用ケーブルが安価で売っています。
モジュール・ケーブル例
ドライバ
- Profilic PL2303
- Linuxの場合は多くの場合OSに付属しています
ほかにもMCP2221A(便利なGPIO付きIC)やCH340(中華Arduinoクローンに多い、激安)などがあります。
- 初めてのモジュールを使う場合は、必ずロジックレベル(電圧)を確認します。とくにノンブランドの中華品などは思いもよらない電圧がでていることがあるので注意しましょう。
- TXとRX, RXとTX, GNDとGNDを接続します
- ボーレートを確認します。Raspberry Piの場合は 115200 です
- パリティなし、データビット 8、ストップビット 1(N/8/1)でたいてい繋がります
LinuxおよびmacOS
$ screen /dev/cu.usbserial-ABCDEFG 115200
CTRL+A k y で終了
$ sudo cu -l /dev/cu.usbserial-ABCDEFG -s 115200
Windows
WiFi機能のあるRaspberry Piでシリアルコンソールを使うためには、/boot/config.txt に dtoverlay=pi3-miniuart-bt を追記する必要があります。