LeavaTailの日記

LeavaTailの日記

Linuxエンジニアを目指した技術者の備忘録

Raspberry Pi 3 Model Bとシリアル通信で接続する

概要

FTDI USBシリアル変換ケーブルとRaspberry Pi 3 Model Bを接続し、screenコマンドでコンソールが表示されることが確認できた。

はじめに

Raspberry Piを使って何か開発をしようとしたときに、ネットワーク経由でしかリモート接続ができない状態は危険である。 例えば、ネットワークの設定を誤ってRaspberry Piにリモート接続できなくなることが考えられる。

そこで、Raspberry Piとシリアル通信することでネットワークが使用できなくなった場合にも接続できるようにする。 Raspberry Pi 3 でシリアル通信するには、USB経由で通信する方法とGPIO経由で通信する方法がある。 ここでは、GPIO経由でシリアル通信する方法を記述する。

Raspberry Pi 3のシリアル通信の記事はこの記事は下記のリンクを参考にさせてもらった。

karaage.hatenadiary.jp

scrapbox.io

必要なもの

接続方法

1. Raspberry Pi側でシリアル通信の接続を有効にする

pi@raspberrypi:~ $ sudo raspi-config

"5 Interfacing Option"を選択する。

"P6 Serial"を選択する。

シリアルでシェルにログインするか聞かれるので"はい"を選択する。


2. FTDI USBシリアル変換ケーブルを接続する。

FTDI USBシリアル変換ケーブルの黒/橙/黄にブレッドボード・ジャンパーワイヤを接続する。

Raspberry Piとケーブルの配線

ブレッドボード・ジャンパーワイヤの黒をRaspberry PiのGround、橙をGPIO15 (RXD)、黄をGPIO14 (TXD) に接続する。

FTDI USBシリアル変換ケーブルの順番(黒/橙/黄)と、Raspberry Piへの接続先の順番 (黒/黄/橙)が異なるので注意。


3. 変換ケーブルのUSB側を操作端末 (今回はUbuntu 18.04を使用する) に接続する。

正しく認識されている場合、デバイスファイルが生成される。

$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 12月 30 14:38 /dev/ttyUSB0

このデバイスに対して、シリアルコンソールに対応したターミナルエミュレータ (screen, minicom, etc.) を起動する。

 $ sudo screen /dev/ttyUSB0 115200

Raspbian GNU/Linux 9 raspberrypi ttyS0
raspberrypi login: 

おわりに

FTDI USBシリアル変換ケーブルを用いて、Raspberry Pi 3とGPIO経由でシリアル通信することができた。

ネットワークが切断されてもRaspberry Piと接続できるので、恐れずに開発できるようになった。

変更履歴

  • 2019/12/30: 記事公開

参考

*1:1袋に10本入っているので一つで十分だが、異なる3色のケーブルを買うことをお勧めする