Raspberry Piへのログインにシリアル通信(UART)を使うメリットとその方法

[4GPi]:https://mechatrax.com/products/4gpi/
[slee-Pi3]:https://mechatrax.com/products/slee-pi/
[ADPi]:https://mechatrax.com/products/adpi/
[機能拡張モジュール]:https://mechatrax.com/products/
[イプシム]:https://ipsim.net/
[USB-シリアル変換ケーブル]:https://store.mechatrax.com/product.php?id=38
[弊社]:https://mechatrax.com/
[メカトラックス株式会社]:https://mechatrax.com/
[SORACOM]:https://soracom.jp/
[SORACOM Napter]:https://soracom.jp/services/napter/
[Remote.It]:https://ja.remote.it/
[@hayat00]:https://qiita.com/hayat00
[Raspberry Pi Imager]:https://www.raspberrypi.com/software/
[弊社オンラインストア]:https://store.mechatrax.com/
[Tera Term]:https://ja.osdn.net/projects/ttssh2/
[OSイメージ]:https://mechatrax.com/data/4gpi/


# はじめに
　[メカトラックス株式会社]の[@hayat00]です。

　今回は、[弊社]製品のRaspberry Pi用[機能拡張モジュール]のセットアップ時に推奨する、シリアル通信(UART)でのRaspberry Piへのログインのメリットとその方法をご紹介します。

　[弊社]では業務用Raspberry Pi周辺機器の開発・製造・販売、および、それら周辺機器を使用したRaspberry Pi組込機器の受託開発・小ロット製造等を行っており、オリジナルのラズパイ向け[機能拡張モジュール]として、[4GPi]、[slee-Pi3]、[ADPi]などを展開しています。

https://mechatrax.com/

# 使うもの
- Raspberry Pi
- [USB-シリアル変換ケーブル]
- PC


# シリアル通信でのRaspberry Piへのログイン
## メリット
　Raspberry PiにPCからログインする方法としてSSH接続等がありますが、[弊社]では有線での、UARTを使ったシリアル通信での接続を推奨しています。シリアル通信での接続のメリットとして、
- ネットワークへの接続が不要なこと
- Raspberry PiのIPアドレスが不明でも接続できること
- 起動途中に停止するときのログや、カーネルパニック発生時にsyslogに記録できないようなメッセージの確認ができること

などがあげられます。ネットワーク環境がない場合や、複数の端末が存在する環境でもシリアル通信では簡単に接続ができ、異常時の解析にも役立ちます。
　
　その他、ネットワークを利用したSSH接続時に新しい接続先が追加された場合、ネットワークの優先順位によってはSSH接続が切断されてしまうこともあります。また、使用するターミナルソフトによっては、SSH接続が切断された際にそのターミナルソフト自体も終了し、再度ターミナルソフトを開く手間が増える、といった場合もあるかと思います。
　
　ただし、シリアル通信を行うためにはRaspberry PiのGPIOピンにケーブルを接続する必要がありますが、**差し間違えると故障につながる可能性があるので注意が必要**です。

　なお、[弊社オンラインストア]ではRaspberry Pi向けの[USB-シリアル変換ケーブル]を取り扱っておりますので、ぜひご利用ください。
> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/ea184f84-4a71-0d46-c27e-fb683233297b.png)
> https://store.mechatrax.com/product.php?id=38

## Raspberry Piへのログイン
　PCからのシリアル通信によるRaspberry Piへのログイン方法を説明します。ここではPC上でのターミナルソフトとして「[Tera Term]」を使用します。

　まず、シリアル通信を有効化させます。
※[弊社]で公開している[4GPi]の[OSイメージ]を使用する場合は、デフォルトでシリアル通信が有効化されていますので、シリアル通信の有効化の操作は不要です。

　PCからRaspberry Pi OSを書き込んだSDカードを開き、「/boots/config.txt」を開きます。
![WS000100.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/d9ee5946-470e-fb07-ffda-80959747ceff.jpeg)

「config.txt」を開いたら、最終行までスクロールし、「enable_uart=1」を追記し、保存します。
![WS000101.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/e69b6eaa-b04a-accc-b8cd-30679f8574eb.jpeg)
これでシリアル通信の有効化は完了です。

　続いて、Raspberry PiにSDカードを差し込み、下記のように[USB-シリアル変換ケーブル]をRaspberry Piに差し込み、PCと接続します。
- USB-シリアル変換ケーブルのGND→Raspberry PiのGND(6番ピン)
- USB-シリアル変換ケーブルのRX→Raspberry PiのTX(8番ピン)
- USB-シリアル変換ケーブルのTX→Raspberry PiのRX(10番ピン)
![IMG_0066.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/3a0b4da5-46ef-c619-4db4-9e3cbc475e0f.jpeg)

Raspberry Piに[弊社]製品の[機能拡張モジュール]をスタックしている場合は下記のようになります(写真は[4GPi]をスタックした際の様子)。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/cc36f9c9-4c30-9581-998b-7c62d30a7c2c.png)


 PCから[Tera Term]を起動させ、「シリアル」を選択し、「OK」をクリックします。
![無題1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/781bafed-34c8-4470-f6e3-6d67fd612232.png)


 「設定」タブから「シリアルポート」を選択し、スピードを「115200」に変更し、「現在の接続を再設定」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/81c7adc7-b1e7-3336-44c0-1be918b27574.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/2d8cc52c-23a0-6f47-7736-8793e085f6d6.png)

 Raspberry Piに電源を投入します。しばらく待つとRaspberry Piのログイン画面が表示されます。表示されない場合はエンターキーを数回押してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3113974/34440cb7-8b6f-3ae2-6865-64add4f31ffd.png)

# 終わりに
　Raspberry Piへのシリアル通信(UART)を使った接続のメリットと方法をご紹介しました。ぜひ参考にしてください。