概要
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万台を超える注文が殺到し、製造が追いつかない状況になりました。
その後の進化:
| 年 | モデル | SoC | RAM |
|---|---|---|---|
| 2012 | Pi B | BCM2835 (Cortex-A6) | 256MB〜512MB |
| 2015 | Pi 2 B | BCM2836 (Cortex-A7 ×4) | 1GB |
| 2016 | Pi 3 B | BCM2837 (Cortex-A53 ×4) | 1GB |
| 2018 | Pi 3 B+ | BCM2837B0 (Cortex-A53 ×4) | 1GB |
| 2019 | Pi 4 B | BCM2711 (Cortex-A72 ×4) | 1〜8GB |
| 2021 | Pi Zero 2 W | RP3A0 (Cortex-A53 ×4) | 512MB |
| 2023 | Pi 5 | BCM2712 (Cortex-A76 ×4) | 4〜8GB |
2020年にはCompute Module 4(CM4)が登場し、DDR4・Wi-Fi内蔵・PCIeインターフェースを持つモジュール形態の製品として産業・量産用途を強化しました。
技術仕様
Raspberry Pi 5の主要スペック
| 項目 | 値 |
|---|---|
| SoC | BCM2712(TSMC 16nm) |
| CPU | ARM Cortex-A76 クアッドコア @ 2.4GHz |
| GPU | VideoCore VII(OpenGL ES 3.1 / Vulkan 1.2) |
| RAM | 4GB / 8GB LPDDR4X-4267 |
| ストレージ | microSDカードスロット(UHS-I対応) |
| PCIe | FPC コネクタ経由でPCIe 2.0 Gen2 x1 |
| USB | USB3.0 ×2、USB2.0 ×2 |
| HDMI | microHDMI ×2(最大4K@60fps、HEVC 4K@60fps デコード) |
| カメラ | MIPI CSI-2 ×2(最大32MPカメラ対応) |
| ディスプレイ | MIPI DSI ×2 |
| GPIO | 40ピン(GPIO×26、I2C×2、SPI×2、UART×5、SDIO) |
| Ethernet | GbE(最大1Gbps) |
| Wi-Fi | 802.11ac(2.4GHz + 5GHz) |
| Bluetooth | BT5.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 | 電源投入 |
| 2 | BCM2712内蔵ブートROMが起動 |
| 3 | SDカードからstart.elf(GPU ファームウェア)をロード |
| 4 | config.txtを読み込みハードウェア設定 |
| 5 | u-boot.bin または kernel.imgを起動 |
| 6 | Linuxカーネルが起動 |
| 7 | systemdがユーザースペースを初期化 |
| 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)**を使います:
| 項目 | 値 |
|---|---|
| SoC | BCM2711(Pi 4と同じ) |
| RAM | 1〜8GB LPDDR4-3200 |
| Flash | 0〜32GB eMMC(またはSDカードレス) |
| Wi-Fi | 802.11ac内蔵版 / 非内蔵版 |
| コネクタ | DDR3 SODIMM互換 2×100ピン |
| 温度範囲 | 0〜85°C(産業グレードはなし) |
CM4用キャリアボードを自作することで、製品固有のコネクタ・電源・センサーを搭載できます。Raspberry Pi財団からキャリアボードの参照回路設計も公開されています。
SDカード vs eMMC
| 項目 | microSD | eMMC(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 Pi | Arduino |
|---|---|---|
| OS | Linux | なし(ベアメタル) |
| 処理能力 | 高い(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)という設計パターンも一般的です。