Raspberry Piとは
Raspberry Piとはイギリスのラズベリーパイ財団によって発売されているシングルボードコンピュータ。OSは専用Linux OSのRaspberry Pi OSが提供されており、数千円でWi-Fi・イーサネット・Bluetooth・USB・GPIOのインターフェースが揃ったコンピュータが買えるのが特徴。
用意するもの
ラズパイ本体とOSを入れるかつストレージの役目をするmicroSD、周辺機器が必要。
揃えるのが大変な人はAmazonですべて揃うかつお安いので、Amazonがおすすめ。
- Raspberry Pi 3 Model B+本体
- microSDカード
- microSDリーダー
- 専用電源アダプター
- 専用ケース
- ブレッドボード
- LEDライト
- 抵抗
- ジャンパー線
Step1. OSのダウンロード&インストールする
以下のサイトからインストーラーをダウンロードし、起動してmicroSDへOSを書き込む。
https://www.raspberrypi.com/software/
Step2. ラズパイでOS起動&初期設定
ラズパイにmicroSDを差し込み、電源アダプターを接続して電源を入れ、USBポートにマウス&キーボード、HDMIでディスプレイと接続し、OSを起動して画面に従って初期設定をする。
- 左図がラズパイ表面。左にUSBポートが4つ、イーサネットが1つある。上部にHDMIと電源端子がある。
- 右図がラズパイ裏面。右にmicroSDポートがある。
- 起動すると以下のような画面がディスプレイに映る。よくあるLinuxOS画面。

基本的なUnixコマンドももちろん使える。以下、ls,cd,pwd,ssh,wget,curl,awk.
Rasbian OSの初期設定
TerminalでRoot権限で設定メニューを表示する・
sudo su
raspi-config
-
タイムゾーンを日本へ変更
4.Localisation Optins → I1 Change Timezone → Asia → Tokyo -
キーボードの設定
4.Localisation Optins → I3 Change Keybouard Layout → Generious 104 → Other → Japanese → Japanese – Japanese → The default for the keyboard Layout → No compise key -> No -
SSHを有効にする
5.Interfacing Options → P2 SSH → YES → OK -
microSDカードの空き領域を拡張する
7.Advanced Options-> A1 Expand Filesystem Ensuress -> Yes(Reboot) -
ファームウェアのアップデート
8.Update -> OK
Step3. Python Lチカ
Python module RPIでGPIOピンを制御して、対応Pinに接続したLEDを光らせてみた。
import RPi.GPIO as GPIO
import time
PNO1 = 17 # 抵抗に繋いだ側の、GPIOポート番号
PNO2 = 27
PNO3 = 22
GPIO.setmode(GPIO.BCM)
GPIO.setup(PNO1, GPIO.OUT)
GPIO.setup(PNO2, GPIO.OUT)
for i in range(100):
GPIO.output(PNO1, GPIO.HIGH) # 点灯
GPIO.output(PNO2, GPIO.HIGH)
time.sleep(0.1)
GPIO.output(PNO1, GPIO.LOW) # 消灯
GPIO.output(PNO2, GPIO.LOW)
time.sleep(0.1)
GPIO.cleanup()
まとめ
Raspberry Pi 3 Model B+備忘録をまとめた。大まかな流れは購入→OS install→GPIO接続→Python codeと思っているより簡単だった。次はディスプレイを付けたり、サーバー化してSQLでデータデポジトリにしたりしてみようと思う。
付録1 完成写真
ケースに入れるとこんな感じの外観。このケースはGPIOが外からさせるようになっている。
大きさは7×9.3×3cmの手のひらサイズ。
付録2 GPIOピン位置
gpio readallコマンドで確認可能。
#+-----+-----+---------+------+---+---Pi 3B+-+---+------+---------+-----+-----+
# | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
# +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
# | | | 3.3v | | | 1 || 2 | | | 5v | | |
# | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | |
# | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
# | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 |
# | | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 |
# | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
# | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
# | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
# | | | 3.3v | | | 17 || 18 | 0 | OUT | GPIO. 5 | 5 | 24 |
# | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
# | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
# | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
# | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
# | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
# | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
# | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
# | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
# | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
# | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
# | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
# +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
# | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
# +-----+-----+---------+------+---+---Pi 3B+-+---+------+---------+-----+-----+