デバイス・ボード

Raspberry Pi

Linuxが動く小型SBC。教育から産業まで広く普及。

概要

Raspberry Pi(ラズベリーパイ、通称「ラズパイ」)は、Raspberry Pi財団(英国)が開発・販売するSBC(シングルボードコンピュータ)シリーズです。クレジットカードサイズの基板上にCPU・GPU・メモリ・各種I/Oを搭載し、Linuxを完全に動作させることができます。

2012年の初代モデルから2024年の最新モデルまで、累計出荷台数は6000万台を超え、世界で最も普及したシングルボードコンピュータとなっています。教育機関でのプログラミング学習・研究開発のプロトタイプ・デジタルサイネージ・産業用機器・スマートホームなど、用途は多岐にわたります。

標準OSはRaspberry Pi OS(旧Raspbian)で、Debianベースの64ビットLinuxです。PythonやC++・Node.jsなどで開発でき、40ピンのGPIOヘッダーを通じて電子回路との接続が可能です。また**Raspberry Pi Compute Module(CM)**というSoM(System on Module)形態の製品もあり、量産製品への組み込みにも対応しています。

歴史・背景

Raspberry Pi財団は、英国の大学のコンピュータサイエンス教育の質低下を課題視したEben Uptonらによって2008年に設立されました。コンピュータに触れる安価なデバイスを子供たちに提供することが目的です。

2012年2月に初代Raspberry Pi Model Bが35ドルで発売。ARM1176JZF-S(700MHz)・256MB RAM・Linuxが動作しました。初日で10万台を超える注文が殺到し、製造が追いつかない状況になりました。

その後の進化:

モデルSoCRAM
2012Pi BBCM2835 (Cortex-A6)256MB〜512MB
2015Pi 2 BBCM2836 (Cortex-A7 ×4)1GB
2016Pi 3 BBCM2837 (Cortex-A53 ×4)1GB
2018Pi 3 B+BCM2837B0 (Cortex-A53 ×4)1GB
2019Pi 4 BBCM2711 (Cortex-A72 ×4)1〜8GB
2021Pi Zero 2 WRP3A0 (Cortex-A53 ×4)512MB
2023Pi 5BCM2712 (Cortex-A76 ×4)4〜8GB

2020年にはCompute Module 4(CM4)が登場し、DDR4・Wi-Fi内蔵・PCIeインターフェースを持つモジュール形態の製品として産業・量産用途を強化しました。

技術仕様

Raspberry Pi 5の主要スペック

項目
SoCBCM2712(TSMC 16nm)
CPUARM Cortex-A76 クアッドコア @ 2.4GHz
GPUVideoCore VII(OpenGL ES 3.1 / Vulkan 1.2)
RAM4GB / 8GB LPDDR4X-4267
ストレージmicroSDカードスロット(UHS-I対応)
PCIeFPC コネクタ経由でPCIe 2.0 Gen2 x1
USBUSB3.0 ×2、USB2.0 ×2
HDMImicroHDMI ×2(最大4K@60fps、HEVC 4K@60fps デコード)
カメラMIPI CSI-2 ×2(最大32MPカメラ対応)
ディスプレイMIPI DSI ×2
GPIO40ピン(GPIO×26、I2C×2、SPI×2、UART×5、SDIO)
EthernetGbE(最大1Gbps)
Wi-Fi802.11ac(2.4GHz + 5GHz)
BluetoothBT5.0 / BLE
RTC外付けバッテリーで実現(Pi 5から内蔵RTC端子あり)
電源5V/5A USB-C(PD 3.0)
消費電力アイドル3〜5W、高負荷12〜15W
サイズ85.6mm × 56.5mm

GPIO仕様

項目
ピン電圧3.3V(5V耐性なし!)
最大電流各GPIOピン最大16mA
合計出力50mA合計(全GPIO経由)
機能GPIO / I2C / SPI / UART / SPI / I2S / PWM
プルアップ内蔵プルアップ/プルダウン抵抗(50kΩ程度)

動作原理

Raspberry Pi 5の起動シーケンス:

手順内容
1電源投入
2BCM2712内蔵ブートROMが起動
3SDカードからstart.elf(GPU ファームウェア)をロード
4config.txtを読み込みハードウェア設定
5u-boot.bin または kernel.imgを起動
6Linuxカーネルが起動
7systemdがユーザースペースを初期化
8ログイン画面 / デスクトップ表示
# Raspberry Pi 5でGPIOを制御(gpiod推奨、RPi 5はrpioも使用可)
import gpiod
import time

# GPIO17をLEDとして点滅させる例
chip = gpiod.Chip('gpiochip4')  # Pi 5はgpiochip4
led_line = chip.get_line(17)
led_line.request(consumer='blink', type=gpiod.LINE_REQ_DIR_OUT)

try:
    while True:
        led_line.set_value(1)
        time.sleep(0.5)
        led_line.set_value(0)
        time.sleep(0.5)
finally:
    led_line.release()
# I2Cセンサー読み取り例(smbus2ライブラリ)
import smbus2
import time

bus = smbus2.SMBus(1)  # I2C1 (/dev/i2c-1)
SENSOR_ADDR = 0x48     # LM75温度センサーのアドレス

def read_temperature():
    data = bus.read_i2c_block_data(SENSOR_ADDR, 0x00, 2)
    temp = (data[0] << 8 | data[1]) >> 5
    if temp > 1023:
        temp -= 2048
    return temp * 0.125  # 0.125°C/bit

while True:
    print(f"Temperature: {read_temperature():.1f}°C")
    time.sleep(1)

用途・ユースケース

Raspberry Piが活躍する主な用途:

  • 教育・プログラミング学習: 学校・学童でのScratch・Python・電子工作入門
  • スマートホーム・ホームオートメーション: Home AssistantサーバーとしてZigbee/Z-Wave/Matterデバイスを制御
  • デジタルサイネージ: 店舗・病院・空港の情報表示端末(Chromium + kiosk mode)
  • 産業用HMIプロトタイプ: Qt/Pythonで動く機械操作パネルの試作
  • IoTゲートウェイ: センサーデータ収集・クラウド送信・ローカルML推論
  • AI推論サーバー: TensorFlow Lite・ONNX Runtimeでのエッジ推論(CM5予定)
  • メディアサーバー: Kodiによるメディアプレーヤー・Retr oPieゲームエミュレーター
  • ネットワーク機器: Pi-hole(DNSアドブロッカー)・OpenVPNサーバー・OpenWrt
  • カメラ・映像処理: 防犯カメラ・タイムラプス・GStreamerによる映像配信

実装・開発のポイント

Raspberry Pi Compute Module(CM4)

量産製品向けには**CM4(Compute Module 4)**を使います:

項目
SoCBCM2711(Pi 4と同じ)
RAM1〜8GB LPDDR4-3200
Flash0〜32GB eMMC(またはSDカードレス)
Wi-Fi802.11ac内蔵版 / 非内蔵版
コネクタDDR3 SODIMM互換 2×100ピン
温度範囲0〜85°C(産業グレードはなし)

CM4用キャリアボードを自作することで、製品固有のコネクタ・電源・センサーを搭載できます。Raspberry Pi財団からキャリアボードの参照回路設計も公開されています。

SDカード vs eMMC

項目microSDeMMC(CM4内蔵)
信頼性低め(振動・書き込み寿命)高い(産業グレード)
速度中程度(UHS-I最大104MB/s)高速(HS400 200MB/s)
コスト安い高い
交換容易不可(ハンダ実装)

産業用途にはeMMC版CM4が推奨です。microSD採用の場合はSandisk Industrial・Kingston Industrial等の産業グレードカードを使い、書き込みをRAMディスクで最小化する対策が必要です。

Raspberry Pi OSの最適化

# 不要サービスの停止(ヘッドレス運用の場合)
sudo systemctl disable bluetooth
sudo systemctl disable avahi-daemon
sudo systemctl disable triggerhappy

# GPU メモリを最小化(グラフィックス不要時)
# /boot/config.txt に追記
gpu_mem=16

# tmpfsでSDへの書き込み削減
# /etc/fstab
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=100m 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,size=30m 0 0

他技術との比較

Raspberry Pi vs Arduino

項目Raspberry PiArduino
OSLinuxなし(ベアメタル)
処理能力高い(GHz)低い(16MHz)
リアルタイム性弱い(Linux割り込み)強い(直接制御)
消費電力中〜高(3〜15W)非常に低い(数mW〜数百mW)
起動時間数十秒数ms
ADCなし(外付け必要)内蔵(6〜12ch)
価格1,000〜1万円500〜3,000円

Arduinoはリアルタイム制御に向き、Raspberry Piはデータ処理・ネットワーク通信・リッチなUIに向きます。両者を組み合わせる(Piでデータ管理、ArduinoでセンサーI/O)という設計パターンも一般的です。

関連用語

参考リンク