Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
14
Help us understand the problem. What are the problem?

posted at

updated at

Organization

Raspberry PiでUARTの有効化+シリアル通信

Raspberry Piでシリアル通信を使う機会があったので、疎通までのやり方を備忘録として載せておきます。

環境

  • Raspberry Pi 3 Model B+
  • Raspbian Buster
  • Python 2.7.16

Raspberry Piのセットアップ

デフォルトだとRaspberry Piはシリアルポートが無効になっているので、設定を変更します。
LXTerminalを開き、コマンドを入力します。

pi@raspberrypi:~ $ sudo raspi-config

次のような画面になるので、「5 Interfacing Options」を選択します。
image.png
次に、「P6 Serial」を選択します。
image.png
「いいえ」を選択します。
image.png
「はい」を選択します。
image.png
するとこのような画面になり、シリアルポートが有効になります。
そのままraspi-configを終了すると、再起動するかどうかの選択を求められるので、再起動しておきます。
image.png
再起動後、下記のコマンドを入力すると、/dev/配下に有効化したシリアルポートttyS0が表示されます。

pi@raspberrypi:~ $ ls -l /dev/ttyS*

Raspberry Piの配線

Raspberry Piの8番ピン(GPIO14)と10番ピン(GPIO15)がUARTピンになっているので、
ワイヤージャンパでショートさせます。
image.png

実装

pyserialライブラリを使用して疎通確認をします。

serialTest.py
import serial

# 通信確立
ser = serial.Serial('/dev/ttyS0', '9600', timeout=0.1)
# データ送受信
ser.write('Hello, World!')
print(repr(ser.readline()))
ser.close()

ファイルを保存した後、LXTerminalでファイルが保存されているディレクトリに移動して実行します。
成功すると、送信したメッセージが表示されます。

pi@raspberrypi:~/work $ python setialTest.py
Hello World!

まとめ

Raspberry Piをあまり触った経験が無かったため、
シリアル通信がデフォルトでOFFになっていることを知りませんでした。
センサーやArduinoに繋げたりと、様々なことに使っていければと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
14
Help us understand the problem. What are the problem?