読者です 読者をやめる 読者になる 読者になる

Raspberry Pi 3 & Python 開発ブログ☆彡

Raspberry Pi 3の使い方、設定をわかりやすく解説。Raspberry Pi3 Model B(Element14版)、Raspbian 8.0(NOOBS Ver1.9.2)を使用して開発中。

【スポンサーリンク】

UARTの使い方(その1)

【スポンサーリンク】

UART(シリアル通信)の使い方を紹介します。ほとんどの方が無線LANSSHを使用し、コンソールを開いていると思いますが、シリアル通信でもコンソールを開き操作することができます。ネット環境がない場合は重宝します。また、シリアル通信で制御するデバイスもたくさんありますので、使い方を覚えておいて損はありません。それでは説明をしていきます。

ハードウェアの準備

まずはハードウェアを準備します。私はPL2303HXチップセットが搭載されているUSB-TTLケーブル(3.3V)をAmazaon(下記URL)で購入しました。
https://www.amazon.co.jp/gp/product/B00K7YYFNM/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1

USB-TTLケーブルのTx/Rx/GNDの線をRaspberry PiのGPIOピンに接続します。電源(5V)の線は、パソコンのUSB5Vから供給されますので、Raspberry PiのGPIOピンに接続する必要はありません。
※ケーブルのTx ⇒ Raspberry PiのRx、ケーブルのRx ⇒ Raspberr PiのTxに接続します。

接続が終わった後、WindowsにPL2303HXのドライバをインストールする必要があります。最新のバージョンで動かない時は、下記サイトからVer3.3.2.102のドライバをネットからダウンロードし、インストールしてください。
Prolific USB-to-Serial Fix

コンソールとしての使い方

まず、UARTの機能を有効にします。ターミナルで"sudo raspi-config"とコマンドを実行し、表示される画面から"9 Advanced Options" ⇒ "A7 Serial"と選択し、Enableに設定してください。GUIから設定する場合は、デスクトップ⇒Menu⇒Preferences⇒Raspberry Pi Configurationをクリックし、InterfacesタブでSerial:の項目をEnableに設定します。

デフォルトでUARTの設定はコンソールとして使用する設定になっています。下記のクロックの設定は必要ですが、それさえ設定してしまえば、コンソールとして使用することができます。Raspberry Pi 3ではUARTを使用する際、/boot/config.txtの最終行に以下の一文を追記して、クロックの設定を行ってください。

core_freq=250

その後、TeraTerm等でCOMポート(ボーレート設定:115200)を選択して、Raspberry Piに接続してください。ユーザー名、パスワードを入力後、コンソールでRaspberry Piを操作することができます。

汎用ポートとしての使い方

コンソールでログインできれば、ハードウェアの接続等は問題なくできています。それでは最終目標の汎用ポートとして使用する設定を行っていきましょう。デフォルトでコンソールとして使用する設定になっていますので、それを下記のコマンドで無効にします。

$ sudo systemctl stop serial-getty@ttyS0.service
$ sudo systemctl disable serial-getty@ttyS0.service

元に戻したい時は下記のコマンドを実行します。

$ sudo systemctl enable serial-getty@ttyS0.service
$ sudo systemctl start serial-getty@ttyS0.service

 次に/boot/cmdline.txtにある "console=serial0,115200"の部分を削除し、保存します。

$ sudo nano /boot/cmdline.txt

-----cmdline.txtの内容-----
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes root wait

赤字の部分を削除します。 これで設定は完了です。

動作確認

WindowsTeraTermを起動し、COMポート(ボーレート設定:115200)を選択して、RaspberryPiに接続します。

Raspberry Piのコンソールから、下記コマンドを入力してください。

stty -F /dev/ttyS0 115200
echo "hello" > /dev/ttyS0

WindowsのTeraTermのコンソールに"hello"と表示されれば成功です。