- 技術 💻
ラズパイ(Raspberry Pi)とは|始め方・モデル比較・Lチカを実例で解説
結論
ラズパイ(Raspberry Pi)は、Linux が動く手のひらサイズの小型コンピューターです。GPIO ピンで LED やセンサーもつなげます。
この記事でわかること
- 主要5モデルの比較表と14製品の価格
- Imager の6手順と初期設定・SSH エラー5種
- Lチカ4本の実行出力とトラブル26件の直し方
始め方は、パソコンで microSD カードに OS を書き込み、それを挿して電源を入れるだけです。書き込むときにユーザー・Wi-Fi・SSH を設定しておくと、画面やキーボードが無くてもパソコンから操作できます。
flowchart TD
A[本体・電源・microSDを用意] --> B[パソコンのImagerで<br>OSを書き込む]
B --> C[ユーザー・Wi-Fi・SSHを<br>書き込み時に設定]
C --> D[microSDを挿して電源を入れる]
D --> E[SSHか画面で操作]
E --> F[GPIOでLEDを点滅]
よく調べられることを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| ラズパイとは | Linux が動く小型コンピューター | ラズパイとは |
| 最初に買うモデル | Raspberry Pi 5(4GB か 8GB) | どれを買うかの判断表 |
| 価格 | Pi 5 は45〜305ドル(容量で変わる) | モデル比較と価格 |
| 必要なもの | 電源・microSD・カードリーダー | 必要なもの一覧 |
| OS の入れ方 | Raspberry Pi Imager で書き込む | Imager の手順 |
| 画面なしで使う | 書き込み時に SSH を有効化 | 初期設定・SSH |
| LED を光らせる | gpiozero の LED(17).on() |
Lチカ |
| 起動しない | 電源・microSD・LED の点滅で切り分け | よくあるトラブル |
| Arduino との違い | ラズパイは OS あり、Arduino は無し | 違い表 |
確認環境:Ubuntu 24.04.4 LTS・Python 3.11.15・gpiozero 2.0.1.post3(PyPI の最新、2026年10月22日時点)。Lチカ・ボタン・PWM のコードは gpiozero の MockFactory(ピンの状態を記録する模擬のピン)で実行し、ピンの状態の移り変わりとエラー文を載せています。ピン配置は gpiozero の pinout コマンドに Raspberry Pi 5(リビジョン d04170)を指定して出力しました。ヘッドレス設定の userconf.txt は OpenSSL 3.0.13 で作り、SSH のエラー文は OpenSSH 9.6p1 で手元の sshd に接続して出しました。モデルの仕様・電源・Imager の手順・LED の点滅コード・get_throttled のビットは Raspberry Pi の公式ドキュメント(GitHub の raspberrypi/documentation、2026年10月13日のコミット)と製品ページで、価格は Raspberry Pi の公式ブログの価格改定の告知と正規販売店スイッチサイエンスの商品ページで、Imager の版は GitHub のリリースで、Arduino・ESP32 の仕様は各社の公式ドキュメントで確かめました(確認日 2026年10月22日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「ラズパイ(Raspberry Pi)とは|始め方・モデル比較・Lチカを実例で解説」
ラズパイ(Raspberry Pi)とは
この節では、ラズパイが何で、普通のパソコンやマイコンと何が違うかが分かります。
ラズパイ(Raspberry Pi、ラズベリーパイ)は、イギリスの Raspberry Pi が作っている、クレジットカードほどの大きさのコンピューターです。 CPU・メモリ・USB・HDMI・ネットワークが1枚の基板に載っていて、microSD カードに入れた Linux(標準は Raspberry Pi OS)で動きます。ラズパイは日本での略称です。
普通のパソコンとの大きな違いは、基板の端に GPIO(汎用入出力)ピン が40本並んでいることです。ここに LED・ボタン・センサー・モーターの制御ボードなどをつなぎ、Python などのプログラムから動かせます。
1Linux が動く
Raspberry Pi OS は Debian が元の OS。apt で入れられるパッケージが使え、Web サーバーやデータベースも動く。
2GPIO で電子工作
40ピンのヘッダーから 3.3V の信号を出し入れできる。LED・ボタン・I2C や SPI のセンサーをつなげる。
3小さく省電力
公式ドキュメントでは、Raspberry Pi 5 が何もつながない状態で動くときの電流の目安は 800mA(5V)。
4長く作られる
Raspberry Pi 5 は少なくとも2036年1月まで、Raspberry Pi 4 は2034年1月まで生産すると製品ページに書かれている。
「Raspberry Pi」という名前の製品には、Linux が動くコンピューター(Raspberry Pi 5・4・Zero 2 W・500 など)と、Linux が動かないマイコンボード(Raspberry Pi Pico)の2種類があります。公式ドキュメントは Pico について、Linux を動かさず、取り外せるストレージも持たず、ボード上のフラッシュメモリにプログラムを書き込んで使うものと説明しています。この記事の「ラズパイ」は、特に断りがなければ Linux が動くほうを指します。
ラズパイでできること(例と必要なもの)
この節では、ラズパイで何が作れて、そのために何が要るかが分かります。
ラズパイは Linux のコンピューターなので、「パソコンでできること」と「マイコンでできること」の両方の入口になります。よく作られるものを、必要なものと合わせて表にしました。
| やりたいこと | 使うもの | モデルの目安 |
|---|---|---|
| プログラミング・Linux の学習 | Raspberry Pi OS・Python・ターミナル | Pi 5・Pi 500 |
| LED・ボタン・センサーの電子工作 | GPIO・gpiozero・ブレッドボード | Pi 5・Pi 4・Zero 2 W |
| 温度や湿度を記録する | I2C のセンサー・Python・cron | Zero 2 W・Pi 4 |
| 家の中のサーバー(ファイル・Web・DNS) | 有線 LAN・apt で入れるサーバーソフト | Pi 5・Pi 4 |
| 監視カメラ・画像認識 | カメラモジュール・AI のアクセラレータ | Pi 5 |
| 小さなデスクトップパソコン | キーボード一体型・HDMI のモニター | Pi 500 |
| レトロゲーム機・音楽プレーヤー | HDMI・USB のゲームパッド・音声出力 | Pi 5・Pi 4 |
| 家電の操作・スマートホーム | Wi-Fi・赤外線やリレーの部品・Python | Pi 4・Zero 2 W |
| ネットワークの監視(死活監視) | ping・監視ソフト・cron |
Pi 4・Zero 2 W |
| 電池で長く動かす装置 | マイコン・MicroPython | Pico 2 W |
ラズパイが向いているのは「ネットワークにつながったまま、Linux のソフトを使い、GPIO も触りたい」ときです。 電池で何か月も動かす、電源を入れた瞬間に動き出す、といった用途はマイコン(Pico・Arduino・ESP32)が向いています。違いは後の「Arduino・ESP32 との違い」の節で表にしています。
ラズパイの種類とモデル比較(5・4・Zero 2 W・Pico 2 W・500)
この節では、2026年10月22日時点で買える主なモデルの違いと価格が分かります。
主なモデルの仕様
仕様は Raspberry Pi の製品ページで確かめました。
| モデル | CPU | メモリ | 主な端子・通信 | 電源 |
|---|---|---|---|---|
| Raspberry Pi 5 | BCM2712・Cortex-A76 4コア 2.4GHz | 1・2・4・8・16GB | USB 3.0×2・USB 2.0×2・micro HDMI×2(4Kp60)・PCIe 2.0 x1・有線 LAN・Wi-Fi 5GHz 対応 | USB-C 5V/5A |
| Raspberry Pi 4 Model B | BCM2711・Cortex-A72 4コア 1.8GHz | 1・2・3・4・8GB | USB 3.0×2・USB 2.0×2・micro HDMI×2(4Kp60)・有線 LAN・Wi-Fi 5GHz 対応 | USB-C 5V/3A |
| Raspberry Pi Zero 2 W | RP3A0・Cortex-A53 4コア 1GHz | 512MB | mini HDMI・micro USB(OTG)・Wi-Fi 2.4GHz のみ・有線 LAN なし | micro USB 5V/2.5A |
| Raspberry Pi 500 | Pi 5 と同じ Cortex-A76 2.4GHz | 8GB | キーボード一体型。中身は Pi 5 相当 | USB-C 5V/5A |
| Raspberry Pi Pico 2 W | RP2350・Cortex-M33 2コア(または RISC-V 2コア)150MHz | SRAM 520KB・フラッシュ 4MB | GPIO 26本・Wi-Fi 2.4GHz・Bluetooth 5.2 | 1.8〜5.5V |
Pico 2 W だけは Linux が動かないマイコンで、ほかの4つとは使い方が違います。表のほかに、基板を小さくまとめて製品に組み込むための Compute Module 5(CM5)もあります。CM5 は IO ボードなどの別の基板に載せて使う形で、スイッチサイエンスでは 4GB・32GB eMMC・Wi-Fi ありの品が 35,420円(税込、2026年10月22日時点)でした。Raspberry Pi 5 と 4 の40ピンの GPIO の並びは同じです(後の「GPIO のピン配置」で実物を見せます)。
Raspberry Pi 5 と Raspberry Pi 4 の違い
「raspberry pi 4」で調べる人が多いので、2つを並べます。
| 項目 | Raspberry Pi 5 | Raspberry Pi 4 Model B |
|---|---|---|
| CPU | Cortex-A76 2.4GHz | Cortex-A72 1.8GHz |
| 電源の推奨 | 5V/5A(27W) | 5V/3A(15W) |
| PCIe | あり(M.2 HAT で NVMe SSD など) | なし |
| 電源ボタン | あり | なし |
| 何もつながないときの電流の目安 | 800mA | 600mA |
| 生産の予定 | 少なくとも2036年1月まで | 少なくとも2034年1月まで |
新しく買うなら、速さと拡張性で Pi 5 が基本です。 手元に Pi 4 用の 5V/3A 電源やケースがある、Pi 4 で動く手順書どおりに作りたい、という場合は Pi 4 も選べます。
価格(2026年10月22日時点)
Raspberry Pi はメモリの値上がりを理由に、2025年12月から2026年10月までに4回、価格を上げています。 容量の大きいモデルほど上げ幅が大きく、Raspberry Pi 5 の 8GB は発売時の80ドルから175ドルになりました。
| モデル | 公式の価格(米ドル) | スイッチサイエンス(税込) | 在庫(同社の表示) |
|---|---|---|---|
| Raspberry Pi 5 / 1GB | 45ドル | 9,900円 | 売り切れ |
| Raspberry Pi 5 / 2GB | 77.50ドル | 17,050円 | 売り切れ |
| Raspberry Pi 5 / 4GB | 110ドル※ | 22,990円 | 売り切れ |
| Raspberry Pi 5 / 8GB | 175ドル※ | 36,300円 | あり |
| Raspberry Pi 5 / 16GB | 305ドル | 62,590円 | あり |
| Raspberry Pi 4 / 1GB | 35ドル | 7,920円 | 売り切れ |
| Raspberry Pi 4 / 2GB | 67.50ドル | 14,630円 | あり |
| Raspberry Pi 4 / 3GB | 83.75ドル | 17,820円 | あり |
| Raspberry Pi 4 / 4GB | 100ドル※ | 20,900円 | あり |
| Raspberry Pi 4 / 8GB | 165ドル※ | 34,210円 | あり |
| Raspberry Pi 500(日本語キーボード) | 180ドル | 36,960円 | あり |
| Raspberry Pi Zero 2 W | 15ドル | 3,520円 | 売り切れ |
| Raspberry Pi Pico 2 W | 7ドル | 1,540円 | 売り切れ |
| Raspberry Pi Pico 2 | 5ドル | 1,100円 | あり |
※の4つは、公式ブログの価格改定の告知(2025年12月1日・2026年2月2日・4月1日)に書かれた旧価格と値上げ額を足した値です。それ以外の米ドルの価格は、公式の製品ページと告知に書かれている金額です。日本円の価格と在庫は、正規販売店スイッチサイエンスの商品ページに2026年10月22日に表示されていたものです。
2026年10月1日の改定では、Raspberry Pi 4 と 5 の 2GB が12.50ドル上がりました(1GB は据え置き)。公式ブログは、値上げの中で「本当に必要なメモリの容量を見直す」ことを勧めています。Lチカや電子工作、軽いサーバーなら 2GB〜4GB、デスクトップとして使うなら 8GB が目安です。 また、公式ブログは正規販売店(Approved Resellers)から買うことを勧めています。
どれを買うかの判断表
この節では、目的から買うモデルを1つに絞れます。
| やりたいこと | 選ぶもの | 理由 |
|---|---|---|
| 初めてで、何に使うか決めていない | Raspberry Pi 5(4GB か 8GB) | 速く、資料が多く、拡張しやすい |
| デスクトップとして使う | Raspberry Pi 500 | キーボード一体。microSD に OS 入り |
| 電子工作だけ・安く始めたい | Raspberry Pi 5(1GB)か Pi 4(2GB) | Pi 5 の 1GB は45ドル。5V/3A 電源を使い回すなら Pi 4 |
| 小さく作り込む・電池や小型ケース | Raspberry Pi Zero 2 W | 65mm × 30mm。有線 LAN は無い |
| OS 無しでセンサーを読む・省電力 | Raspberry Pi Pico 2 W | マイコン。電源を入れるとすぐ動く |
| NVMe SSD を速くつなぐ | Raspberry Pi 5 | PCIe 2.0 x1 がある |
flowchart TD
A{Linux の<br>ソフトを使う?} -->|はい| B{パソコンとして<br>使う?}
A -->|いいえ| P[Pico 2 W]
B -->|はい| K[Pi 500]
B -->|いいえ| C{小ささが<br>最優先?}
C -->|はい| Z[Zero 2 W]
C -->|いいえ| F[Pi 5]
ラズパイを始めるのに必要なもの一覧
この節では、本体のほかに何を揃えればよいかと、電源・microSD の選び方が分かります。
公式ドキュメントの「Getting started」に沿って、Raspberry Pi 5 を例にまとめました。
| もの | 必要か | 選び方(公式ドキュメント) |
|---|---|---|
| 電源 | 必須 | Pi 5 は USB-C 5V/5A(公式の 27W 電源)。Pi 4 は 5V/3A |
| microSD カード | 必須 | デスクトップ版は 32GB 以上、Lite は 8GB 以上。2TB 未満 |
| microSD カードリーダー | 必須 | OS を書き込むパソコンにつなぐ |
| OS を書き込むパソコン | 必須 | Windows・Mac・Linux。Imager が動けばよい |
| ケース | あったほうがよい | 基板を守る。Pi 5 は Active Cooler(ファン)もある |
| micro HDMI → HDMI のケーブルとモニター | 画面で使うなら | Pi 5・4 は micro HDMI。メインの画面は HDMI0 |
| USB キーボード・マウス | 画面で使うなら | Pi 500 は本体がキーボード |
| LAN ケーブル | 任意 | Wi-Fi が使えないときの初回設定に |
| ブレッドボード・LED・抵抗・ジャンパーワイヤー | 電子工作をするなら | 後の Lチカの節で使う |
電源の選び方(モデルごとの推奨)
公式ドキュメントは、質の低い電源はストレージを壊したり、予測できない動きの原因になったりするとしています。 推奨は次のとおりで、電圧は「電源側ではなく、ラズパイのプラグの所で」の値です。ケーブルが細いと途中で電圧が下がります。
| モデル | 推奨(電圧と電流) | 公式の電源 |
|---|---|---|
| Raspberry Pi 5・500・500+ | 5V・5A | 27W USB-C |
| Raspberry Pi 4 Model B・400 | 5V・3A | 15W USB-C |
| Raspberry Pi 3・Zero(全モデル) | 5V・2.5A | 12.5W micro USB |
Raspberry Pi 5 を 5V/3A の電源で動かすと、USB 機器に流せる電流が 600mA に制限されます(5A の電源なら 1.6A)。公式ドキュメントには、どのモデルも USB-PPS には対応しないとも書かれています。スマートフォンの急速充電器を使うときは、5V で何 A 出せるかを確かめます。
Raspberry Pi Imager で OS を書き込む手順
この節では、microSD カードに Raspberry Pi OS を書き込み、ユーザー・Wi-Fi・SSH まで設定する手順が分かります。
Raspberry Pi Imager は、Raspberry Pi が配布している、OS の書き込みツールです。 Windows・Mac・Linux で動き、OS のダウンロードと書き込みと確認(ベリファイ)を1つの画面で行います。GitHub のリリースで、2026年10月22日時点の最新版は v2.0.11.1(2026年8月17日)です。画面の名前は、公式ドキュメント(英語)の表記で書きます。
Imager を入れて起動する
Windows・Mac は raspberrypi.com/software からインストーラーを入手します。Linux は AppImage、Raspberry Pi OS 上なら sudo apt install rpi-imager で入ります。
Device でモデルを選ぶ
[Device]タブで、使うラズパイ(Raspberry Pi 5 など)を選び[Next]。
OS を選ぶ
[OS]タブで Raspberry Pi OS を選びます。画面なしで使うなら Raspberry Pi OS Lite。手元のイメージファイルは[Use Custom]で選べます。
Storage で microSD を選ぶ
[Storage]タブで書き込み先を選びます。中身は全部消えるので、容量で正しいカードかを確かめます。[Exclude system drives]は入れたままにします。
Customisation で初期設定を入れる
Hostname・Localisation・User・Wi-Fi・Remote Access(SSH)・Raspberry Pi Connect を順に設定します(次の表)。
Write で書き込む
[Writing]タブの Summary を確かめ、[Write]→[I understand, erase and write]。書き込みの後に確認(ベリファイ)が走り、[Done]→[Finish]で終わります。
Customisation で設定する項目
| 項目(サブタブ) | 入れるもの | 注意 |
|---|---|---|
| Hostname | ラズパイの名前(例 raspberrypi) |
英数字とハイフンだけ。名前.local で呼べる |
| Localisation | 首都(Tokyo) | タイムゾーン・キーボード・Wi-Fi の国が決まる |
| User | ユーザー名とパスワード | ユーザー名は小文字・数字・_・- |
| Wi-Fi | SSID とパスワード | 画面なしで使うなら必ずここで設定 |
| Remote Access | Enable SSH をオン | パスワード認証か公開鍵認証を選ぶ |
| Raspberry Pi Connect | Raspberry Pi ID で連携 | ブラウザから画面や端末を操作する公式サービス |
2022年4月から、Raspberry Pi OS には決まったユーザー(以前の pi、パスワード raspberry)がありません。 公式ブログによると、理由はセキュリティの強化で、知られたユーザー名は総当たりの攻撃を受けやすく、初期のログイン情報を持つ機器を禁じる法律が出てきているためです。ユーザーは Imager か初回起動のウィザードで作ります。
Raspberry Pi OS の種類と大きさ
2026年10月22日時点の Raspberry Pi OS(64-bit)は、2026年10月6日公開・Debian 13(trixie)ベース・カーネル 6.18 です(公式のダウンロードページ)。
| 種類 | ダウンロード | 書き込み後に要る容量 |
|---|---|---|
| Raspberry Pi OS(デスクトップ付き) | 1,301MB | 6,432MB |
| Raspberry Pi OS Full(推奨アプリ付き) | 1,969MB | 9,504MB |
| Raspberry Pi OS Lite(デスクトップなし) | 525MB | 2,936MB |
Raspberry Pi 4・5・400・500 などは、パソコンを使わずにラズパイ本体だけで OS を入れる「Network Install」もできます。有線 LAN・モニター・キーボードをつなぎ、空の microSD を挿すか Shift キーを押しながら電源を入れると、Imager がネットワークから読み込まれます。
初回起動と初期設定(ユーザー・Wi-Fi・SSH)
この節では、電源を入れた後に何が起き、何を設定するかが分かります。
画面で使う(デスクトップ)
モニター・キーボード・マウスをつないで電源を入れる
Imager で設定を飛ばしたときは、初回にウィザードが出る
国・ユーザー・Wi-Fi・ブラウザ・更新の順に答える
画面なしで使う(ヘッドレス)
Imager で Wi-Fi と SSH を必ず設定する
電源を入れると、そのままネットワークにつながる
パソコンから ssh ユーザー名@ホスト名.local
電源を入れると LED が点き、モニターがあれば Raspberry Pi のロゴの画面が出ます。公式ドキュメントでは、起動に数分かかることがあるとしています。Raspberry Pi 5 の LED は、電源が入ると赤、ファームウェアの起動が進むと緑になり、動いている間は緑のまま、microSD を読み書きすると一瞬消えます。
初回起動のウィザード(画面で使う場合)
Imager で設定を入れなかったときは、次の順に聞かれます。
| 画面 | 設定すること |
|---|---|
| Welcome・Bluetooth | Bluetooth のキーボード・マウスをつなぐ |
| Country | 国・言語・タイムゾーン |
| User | ユーザー名とパスワード |
| Wireless network | Wi-Fi を選んでパスワードを入れる(飛ばせる) |
| Default browser | Chromium か Firefox |
| Software update | OS とソフトを最新にする(最大で30分ほど) |
設定を後から変えるときは、デスクトップの左上の Raspberry Pi のアイコン →[Preferences]→[Control Centre]か、ターミナルで sudo raspi-config を使います。
Imager を使わずに SSH を有効にする(ssh と userconf.txt)
Imager の設定を使わない場合は、書き込んだ microSD の bootfs パーティションに、2つのファイルを置く方法があります(公式ドキュメントの「Manual setup for SSH」)。
- 中身が空の
sshという名前のファイル ユーザー名:暗号化したパスワードを1行だけ書いたuserconf.txt
暗号化したパスワードは openssl passwd -6 で作ります。パスワード mypassword、ソルト(ランダムな文字列)を固定して実行した結果です。
openssl passwd -6 -salt Qx7pL2mN 'mypassword'
$6$Qx7pL2mN$9QU7V28qAgxDUwtr3swHeljf1ktpGXof0FRoVDFEfheBno13lqaIckdwikLJME/qtSkaiVowRtjy6eA4lKKZ50
ユーザー名を taro にするなら、userconf.txt は次の1行です。実際には -salt を付けずに実行し、対話で入れたパスワードから作ります。
taro:$6$Qx7pL2mN$9QU7V28qAgxDUwtr3swHeljf1ktpGXof0FRoVDFEfheBno13lqaIckdwikLJME/qtSkaiVowRtjy6eA4lKKZ50
先頭の $6$ は SHA-512 を使った形式という印です。Mac に最初から入っている LibreSSL は -6 に対応していないと公式ドキュメントにあり、Homebrew の OpenSSL を使います。この方法では Wi-Fi は設定できません。 以前の wpa_supplicant.conf を置く方法は、Raspberry Pi OS Bookworm 以降では使えないため、有線 LAN でつなぎます。
Wi-Fi を後から設定する(nmcli)
Raspberry Pi OS は NetworkManager でネットワークを管理しています。ターミナルからは nmcli で設定できます(公式ドキュメントのコマンド)。
nmcli radio wifi # enabled か disabled か
sudo nmcli --ask dev wifi connect "SSIDの名前" # パスワードを聞かれる
nmcli dev wifi list # 周りの Wi-Fi を一覧
nmcli radio wifi が disabled なら、sudo raspi-config の[5 Localisation options]→[L4 WLAN Country]で国を選んでから nmcli radio wifi on を実行します。国の設定は、使える周波数の帯や送信の強さを決めるもので、公式ドキュメントは正しく選ぶことを重要としています。
最初にやっておくこと
sudo apt update && sudo apt full-upgrade -y # OS とソフトを最新にする
sudo raspi-config # SSH・I2C・SPI などの有効化
sudo shutdown -h now # 電源を抜く前に必ず止める
ファイアウォールを使うなら、sudo apt install ufw で入れ、sudo ufw allow ssh で SSH を許可してから sudo ufw enable で有効にします。SSH で接続中に許可より先に有効にすると、接続が切れて入れなくなります。
Python のライブラリを pip で入れるときは、仮想環境(venv)を作ります。Raspberry Pi OS は Bookworm 以降、システムの Python に pip で直接入れられません。同じ Debian 系の Ubuntu 24.04 で、システムの Python 3.12 に pip install すると、次のエラーになりました。
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
公式ドキュメントは、apt で入るものは sudo apt install python3-〇〇 で入れ、それ以外は venv に入れる方法を案内しています。gpiozero は Raspberry Pi OS のシステムに入っているので、venv を作るときに --system-site-packages を付けると、システムに入っているライブラリも venv の中から使えます。
python3 -m venv --system-site-packages ~/venv
source ~/venv/bin/activate
pip install 〇〇
venv の使い方は、関連記事「Python venvの使い方|仮想環境の作成・有効化・削除をOS別にコピペ」で扱っています。
SSH でパソコンからラズパイに接続する
この節では、パソコンからラズパイを操作する方法と、つながらないときのエラー文の意味が分かります。
Imager で SSH を有効にしていれば、同じネットワークのパソコンから ssh ユーザー名@ホスト名.local でつながります。 初めての接続では、相手の鍵(ホスト鍵)を信用するかを聞かれるので yes と答え、パスワードを入れます。
ssh taro@raspberrypi.local
.local の名前で見つからないときは、ルーターの管理画面で IP アドレスを調べ、ssh taro@192.168.x.x のように IP アドレスで接続します。
つながらないときのエラー文と直し方
次のエラー文は、OpenSSH 9.6p1 で手元に用意した sshd や、存在しない相手に接続して出したものです(ホスト名とファイルの場所は読みやすく置き換えています)。
| エラー文 | 原因 | 直し方 |
|---|---|---|
Could not resolve hostname raspberrypi.local: Name or service not known |
.local の名前を引けない(ホスト名の違い・mDNS が届かない) |
Imager で付けたホスト名を確かめる。IP アドレスで接続する |
connect to host … port 22: Connection timed out |
IP アドレスが違う・まだ起動中・別のネットワーク | IP を確かめ直す。起動を数分待つ |
connect to host … port 22: Connection refused |
ラズパイは見つかったが SSH が有効になっていない | Imager の Remote Access か raspi-config で SSH を有効にする |
Permission denied (publickey,…) |
公開鍵認証だけの設定で、鍵が無い・違う | Imager で登録した鍵で接続する(ssh -i 鍵のファイル) |
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! |
OS を書き直してホスト鍵が変わった | ssh-keygen -R ホスト名 で前の鍵を消す |
OS を書き直した後に同じ名前で接続すると、ほぼ必ず最後のエラーになります。 新しい OS は新しいホスト鍵を作るため、パソコンに記録された前の鍵と合わなくなるからです。手元で鍵を入れ替えた sshd に接続した結果です。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:Idb/miW9Php+x3aCfGuJZ4HFFaUhVXi2oi+xynxozfI.
Please contact your system administrator.
Add correct host key in /home/you/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /home/you/.ssh/known_hosts:1
remove with:
ssh-keygen -f '/home/you/.ssh/known_hosts' -R 'raspberrypi.local'
Host key for raspberrypi.local has changed and you have requested strict checking.
Host key verification failed.
自分で OS を書き直したと分かっているときだけ、表示された ssh-keygen -R を実行します。
# Host raspberrypi.local found: line 1
/home/you/.ssh/known_hosts updated.
Original contents retained as /home/you/.ssh/known_hosts.old
書き直していないのにこの表示が出たら、別の機器に接続している可能性があります。### IP アドレスを固定する・VNC で画面を操作する
SSH で毎回同じ IP アドレスにつなぎたいときは、ルーターの DHCP 予約(固定割り当て)を使う方法が公式ドキュメントの推奨です。 ラズパイ側で nmcli を使って固定の IP アドレスを設定する方法もありますが、設定の誤りでつながらなくなることがあるため推奨されていません。
デスクトップの画面をパソコンから操作したいときは VNC を使います。Raspberry Pi OS には VNC サーバーの wayvnc が入っていて、[Preferences]→[Control Centre]の[Interfaces]タブか、sudo raspi-config の[Interface Options]で有効にします。VNC は Lite 版では使えません。
ssh コマンドの細かいオプションは関連記事「ssh コマンドの使い方まとめ|鍵・ポート指定・config・接続エラー対処」で、家の外からラズパイにつなぐ方法は関連記事「Tailscaleとは|使い方・料金・VPNとの違いをWireGuardで実演」で扱っています。
GPIO のピン配置(40ピン)
この節では、40本のピンのどれが何かと、番号の数え方が2通りあることが分かります。
ラズパイの OS には gpiozero の pinout コマンドが入っていて、ターミナルで pinout と打つと、その機種のピン配置が出ます。Raspberry Pi 5(8GB、リビジョン d04170)を指定して出した結果です。
pinout -m -r d04170
Description : Raspberry Pi 5B rev 1.0
Revision : d04170
SoC : BCM2712
RAM : 8GB
Storage : MicroSD
USB ports : 4 (of which 2 USB3)
Ethernet ports : 1 (1000Mbps max. speed)
Wi-fi : True
Bluetooth : True
Camera ports (CSI) : 2
Display ports (DSI): 2
,--------------------------------.
| oooooooooooooooooooo J8 : +====
| 1ooooooooooooooooooo : |USB2
| Wi Pi Model 5B V1.0 fan +====
| Fi +---+ +---+ |
| |RAM| |RP1| +====
||p +---+ +---+ |USB3
||c ------- +====
||i SoC |c|c J14 |
( ------- J7|s|s 12 +======
| J2 bat uart 1|i|i oo | Net
| pwr\..|hd|...|hd|o|1|0 +======
`-| |-1o|m0|---|m1|--------------'
J8:
3V3 (1) (2) 5V
GPIO2 (3) (4) 5V
GPIO3 (5) (6) GND
GPIO4 (7) (8) GPIO14
GND (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND
GPIO22 (15) (16) GPIO23
3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND
GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8
GND (25) (26) GPIO7
GPIO0 (27) (28) GPIO1
GPIO5 (29) (30) GND
GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
GND (39) (40) GPIO21
J8 の左の列が奇数番のピン(1・3・5…)、右の列が偶数番のピン(2・4・6…)です。基板の角に近い1番ピンが 3V3 で、図の 1ooo… の 1 の位置です。Raspberry Pi 4(リビジョン c03114 など)や Zero 2 W(902120)を指定しても、J8 の40本の並びは同じでした。
番号の数え方は2通り(GPIO 番号と物理ピン番号)
同じピンに「GPIO17」と「11番ピン」という2つの番号があります。 プログラムでは GPIO 番号(BCM 番号とも呼ぶ)を使うのが基本で、配線では物理ピン番号を数えます。gpiozero はどちらの書き方も受け付けます。模擬のピンで、5通りの書き方がどのピンになるかを確かめました。
from gpiozero import Device, LED
from gpiozero.pins.mock import MockFactory
Device.pin_factory = MockFactory()
for spec in (17, "GPIO17", "BCM17", "BOARD11", "J8:11"):
led = LED(spec)
print(f"LED({spec!r:10}) -> {led.pin}")
led.close()
LED(17 ) -> GPIO17
LED('GPIO17' ) -> GPIO17
LED('BCM17' ) -> GPIO17
LED('BOARD11' ) -> GPIO17
LED('J8:11' ) -> GPIO17
ピンの種類と注意
| ピン | 物理ピン番号 | 使い方・注意 |
|---|---|---|
| 3V3(3.3V の電源) | 1・17 | センサーの電源に使う |
| 5V | 2・4 | GPIO にはつながない。3.3V の部品に入れない |
| GND | 6・9・14・20・25・30・34・39 | LED・ボタンの戻りをつなぐ |
| GPIO2・3(I2C の SDA・SCL) | 3・5 | 中で 3.3V に引き上げられている(プルアップ固定) |
| GPIO14・15(シリアル TX・RX) | 8・10 | UART |
| GPIO12・13・18・19 | 32・33・12・35 | ハードウェア PWM が使える |
| GPIO10・9・11・8・7(SPI0) | 19・21・23・24・26 | SPI のセンサー・表示器 |
| GPIO0・1 | 27・28 | HAT の EEPROM 用。普段は使わない |
公式ドキュメントの注意は次のとおりです。GPIO は 3.3V で、5V を入れると壊れるおそれがあります。 LED には電流を制限する抵抗を付け、モーターは直接つながずに、モーター用の制御ボードを使います。GPIO 1本に流せる電流は最大 16mA、全部の GPIO の合計は 50mA が目安とされています。
Lチカ(gpiozero で LED を点滅させる)
この節では、LED の配線と抵抗の選び方、点滅させる Python のコードと、その実行結果が分かります。
Lチカ(LED チカチカ)は、GPIO から LED を点けたり消したりする、電子工作の最初の一歩です。 Raspberry Pi の公式ドキュメントは、Python の GPIO のライブラリとして gpiozero を案内していて、Raspberry Pi OS には最初から入っています。
配線と抵抗の値
GPIO17(11番ピン)→ 抵抗 → LED の長い足(アノード)→ LED の短い足(カソード)→ GND(9番ピン)の順につなぎます。
flowchart TD
A[GPIO17<br>11番ピン] --> B[抵抗 330Ω]
B --> C[LED の<br>長い足]
C --> D[LED の<br>短い足]
D --> E[GND<br>9番ピン]
抵抗の値は「(GPIO の電圧 − LED の電圧) ÷ 抵抗」で流れる電流から決めます。赤い LED の電圧を 2.0V として計算しました(LED の電圧は部品のデータシートで確かめます)。
R= 220Ω I=(3.3V-2.0V)/220Ω = 5.9 mA
R= 330Ω I=(3.3V-2.0V)/330Ω = 3.9 mA
R= 470Ω I=(3.3V-2.0V)/470Ω = 2.8 mA
R=1000Ω I=(3.3V-2.0V)/1000Ω = 1.3 mA
どれも 1本あたりの上限 16mA より小さく、330Ω なら約 3.9mA です。抵抗を付けずにつなぐと、LED と GPIO の両方に大きな電流が流れます。
点滅させるコード(blink.py)
from gpiozero import LED
from time import sleep
led = LED(17) # GPIO17(物理ピン11)
for i in range(3):
led.on()
print(f"{i+1}回目: on -> is_lit={led.is_lit}")
sleep(0.5)
led.off()
print(f"{i+1}回目: off -> is_lit={led.is_lit}")
sleep(0.5)
ラズパイでは python3 blink.py で実行します。gpiozero は、環境変数 GPIOZERO_PIN_FACTORY=mock を付けると、実機のピンの代わりに状態を記録するだけの模擬のピン(MockFactory)を使います。同じコードを書き換えずに、ラズパイが無いパソコンでも動作を確かめられます。
GPIOZERO_PIN_FACTORY=mock python3 blink.py
1回目: on -> is_lit=True
1回目: off -> is_lit=False
2回目: on -> is_lit=True
2回目: off -> is_lit=False
3回目: on -> is_lit=True
3回目: off -> is_lit=False
ピンの電圧がどう変わったかを記録する
blink() を使うと、点滅を1行で書けます。模擬のピンは、状態が変わるたびに時刻を記録しているので、ピンが実際にどう動いたかを取り出せます。
from gpiozero import Device, LED
from gpiozero.pins.mock import MockFactory
Device.pin_factory = MockFactory() # 実機の代わりに、記録だけするピン
led = LED(17)
led.blink(on_time=0.5, off_time=0.5, n=3, background=False)
pin = Device.pin_factory.pin(17)
print("factory :", type(Device.pin_factory).__name__)
print("pin :", pin)
print("function:", pin.function)
t = 0.0
for s in pin.states:
t += s.timestamp
print(f" {t:5.2f}s {'HIGH(3.3V)' if s.state else 'LOW(0V)'}")
factory : MockFactory
pin : GPIO17
function: output
0.00s LOW(0V)
0.00s HIGH(3.3V)
0.50s LOW(0V)
1.00s HIGH(3.3V)
1.50s LOW(0V)
2.00s HIGH(3.3V)
2.50s LOW(0V)
GPIO17 が出力(output)になり、0.5秒ごとに HIGH(3.3V)と LOW(0V)を3回くり返しました。 実機では、HIGH の間だけ LED が光ります。
ボタンで LED を点ける
ボタンを GPIO2(3番ピン)と GND の間につなぎ、押したら点く、離したら消える形にします。when_pressed に関数を渡すと、押したときに呼ばれます。模擬のピンで、ボタンを押した(GND に落ちた)ことにして確かめました。
from gpiozero import Device, LED, Button
from gpiozero.pins.mock import MockFactory
from time import sleep
Device.pin_factory = MockFactory()
led = LED(17)
button = Button(2) # GPIO2(物理ピン3)。押すと GND につながる配線
button.when_pressed = led.on
button.when_released = led.off
btn_pin = Device.pin_factory.pin(2)
print("押す前 :", "pressed" if button.is_pressed else "released", "/ LED", led.is_lit, "/ pull_up =", button.pull_up)
btn_pin.drive_low(); sleep(0.1) # ボタンを押した(GND に落ちた)ことにする
print("押した :", "pressed" if button.is_pressed else "released", "/ LED", led.is_lit)
btn_pin.drive_high(); sleep(0.1) # 離した
print("離した :", "pressed" if button.is_pressed else "released", "/ LED", led.is_lit)
押す前 : released / LED False / pull_up = True
押した : pressed / LED True
離した : released / LED False
Button は既定で pull_up=True で、ピンを中で 3.3V に引き上げておき、GND に落ちたら「押された」と判定します。そのため、ボタンのもう片方は 3.3V ではなく GND につなぎます。
明るさを変える(PWMLED)
PWM(パルス幅変調)は、ON と OFF を速く切り替え、ON の割合で明るさを変える方法です。PWMLED の value に 0〜1 を入れます。
from gpiozero import Device, PWMLED
from gpiozero.pins.mock import MockFactory, MockPWMPin
Device.pin_factory = MockFactory(pin_class=MockPWMPin)
led = PWMLED(18) # GPIO18 はハードウェア PWM が使えるピン
for v in (0.0, 0.25, 0.5, 1.0):
led.value = v
pin = Device.pin_factory.pin(18)
print(f"value={v:4} -> pin.state={pin.state} frequency={pin.frequency}Hz")
value= 0.0 -> pin.state=False frequency=100Hz
value=0.25 -> pin.state=0.25 frequency=100Hz
value= 0.5 -> pin.state=0.5 frequency=100Hz
value= 1.0 -> pin.state=1.0 frequency=100Hz
PWMLED の周波数は既定で 100Hz でした。value=0.25 なら、1周期のうち25%の時間だけ ON になります。
gpiozero のよくあるエラー
| エラー文 | 原因 | 直し方 |
|---|---|---|
GPIOPinInUse: pin GPIO17 is already in use by <gpiozero.LED object on pin GPIO17, …> |
同じピンで LED を2回作った | 1つの変数を使い回すか、led.close() してから作り直す |
PinInvalidPin: PinInfo(number=1, name='3V3', …) is not a GPIO pin |
電源のピン(3V3・5V・GND)を指定した | pinout で GPIO のピンを選ぶ |
PinInvalidPin: 40 is not a valid pin name |
物理ピン番号を GPIO 番号として書いた | LED("BOARD40") か GPIO 番号(GPIO21)で書く |
BadPinFactory: Unable to load any default pin factory! |
GPIO を操作する部品が見つからない(ラズパイ以外で実行・venv からシステムのライブラリが見えない) | ラズパイで実行する。venv は --system-site-packages で作る |
gpiozero のほかに、Linux の標準の GPIO の仕組み(/dev/gpiochip*)を使う libgpiod のコマンドやライブラリでも GPIO を操作できます。この記事では、公式ドキュメントが案内している gpiozero を使っています。
最後のエラーは、ラズパイではないパソコンで blink.py をそのまま実行したときのものです。その前に、gpiozero が GPIO を操作する部品(ピンファクトリー)を lgpio → RPi.GPIO → pigpio → native の順に試し、どれも使えなかったことが警告で出ていました。
gpiozero/devices.py:300: PinFactoryFallback: Falling back from lgpio: No module named 'lgpio'
gpiozero/devices.py:300: PinFactoryFallback: Falling back from rpigpio: No module named 'RPi'
gpiozero/devices.py:300: PinFactoryFallback: Falling back from pigpio: No module named 'pigpio'
gpiozero/devices.py:300: PinFactoryFallback: Falling back from native: unable to locate Pi revision in /proc/device-tree or /proc/cpuinfo
gpiozero.exc.BadPinFactory: Unable to load any default pin factory!
venv の中からは、--system-site-packages を付けて作らない限り、システムに入っているライブラリは見えません。GPIO を使うユーザーは gpio グループに入っている必要があり、Imager で作った最初のユーザーは最初から入っています。別のユーザーは sudo usermod -a -G gpio ユーザー名 で加えます。
ラズパイが起動しない・不安定なとき(電源不足・SD カード)
この節では、起動しないときに LED の点き方から原因を絞り、電源不足を数値で確かめる方法が分かります。
症状から原因を絞る
| 症状 | 考えられる原因 | 直し方 |
|---|---|---|
| LED がまったく点かない | 電源が来ていない・ケーブルの不良 | 別の電源とケーブルで試す |
| LED は点くが画面が出ない | microSD に OS が無い・書き込みの失敗・映像が HDMI1 側 | Imager で書き直す。モニターを HDMI0 につなぐ |
| 緑の LED が長短のパターンで点滅 | 起動の途中で止まった(下の表) | 点滅の回数を数えて原因を見る |
| 起動するが、急に再起動・固まる | 電源不足(電圧低下) | 公式の電源に替える。get_throttled で確かめる |
| Pi 5 で USB の機器が動かない・USB から起動しない | 5A でない電源で、USB が 600mA に制限 | 5V/5A(27W)の電源を使う |
| 動作が遅くなり、熱い | 温度の上限で速度を落としている | ケースのファン・Active Cooler を付ける |
| microSD が壊れる・読めなくなる | 電源を抜いて止めた・電源の質が悪い | sudo shutdown -h now の後に抜く。書き直す |
LED の点滅パターン(公式の一覧から)
起動に失敗すると、LED が「長い点滅 → 短い点滅」のパターンをくり返し、2秒あけてまたくり返します。よく出るものを抜き出しました。
| 長い点滅 | 短い点滅 | 意味 |
|---|---|---|
| 0 | 3 | 起動の一般的な失敗 |
| 0 | 4 | start*.elf が見つからない |
| 0 | 7 | カーネルのイメージが見つからない |
| 0 | 8 | メモリ(SDRAM)の故障 |
| 1 | 2 | microSD の過電流 |
| 2 | 1 | パーティションが FAT でない |
| 2 | 2 | パーティションを読めない |
| 4 | 4 | 対応していないボードの種類 |
| 4 | 6 | 電源の故障(タイプ A) |
| 4 | 7 | 電源の故障(タイプ B) |
0 長・4 短と 0 長・7 短は、起動に要るファイルが microSD に見つからないことを表します。 Imager の[Device]で正しいモデルを選び直し、書き直します。
電源不足を数値で確かめる(vcgencmd get_throttled)
公式ドキュメントによると、Raspberry Pi B+ 以降(Zero を除く)には電圧の低下を検出する回路があり、電圧が 4.63V(±5%)を下回るとカーネルのログに記録されます。Raspberry Pi の Linux カーネルのソース(drivers/hwmon/raspberrypi-hwmon.c)では、そのときのメッセージは Undervoltage detected!、戻ったときは Voltage normalised です。
dmesg | grep -i voltage # 電圧低下の記録を探す
vcgencmd get_throttled # 例: throttled=0x50005
get_throttled の値は、ビットごとに意味があります(公式ドキュメントの表)。値を読み解く Python のスクリプトを書き、よく見る値で実行しました。
"""vcgencmd get_throttled の値(例: throttled=0x50005)を読み解く"""
import sys
BITS = {
0: "いま電圧不足(Undervoltage detected)",
1: "いまCPUの周波数を制限中(Arm frequency capped)",
2: "いまスロットリング中(Currently throttled)",
3: "いま温度の上限に達している(Soft temperature limit active)",
16: "起動後に電圧不足が起きた(Undervoltage has occurred)",
17: "起動後に周波数の制限が起きた(Arm frequency capping has occurred)",
18: "起動後にスロットリングが起きた(Throttling has occurred)",
19: "起動後に温度の上限に達した(Soft temperature limit has occurred)",
}
def decode(text):
value = int(text.split("=")[-1], 16)
hits = [msg for bit, msg in BITS.items() if value & (1 << bit)]
return value, hits or ["問題なし"]
for arg in sys.argv[1:]:
value, hits = decode(arg)
print(f"{arg} = 2進 {value:020b}")
for h in hits:
print(" -", h)
throttled=0x0 = 2進 00000000000000000000
- 問題なし
throttled=0x50000 = 2進 01010000000000000000
- 起動後に電圧不足が起きた(Undervoltage has occurred)
- 起動後にスロットリングが起きた(Throttling has occurred)
throttled=0x50005 = 2進 01010000000000000101
- いま電圧不足(Undervoltage detected)
- いまスロットリング中(Currently throttled)
- 起動後に電圧不足が起きた(Undervoltage has occurred)
- 起動後にスロットリングが起きた(Throttling has occurred)
throttled=0x80008 = 2進 10000000000000001000
- いま温度の上限に達している(Soft temperature limit active)
- 起動後に温度の上限に達した(Soft temperature limit has occurred)
get_throttled の読み方
下の桁(0〜3ビット)は「いま」、上の桁(16〜19ビット)は「起動してから一度でも」を表す
公式ドキュメントは、電圧が下がる理由として、USB に電気を多く使う機器をつなぎすぎている・電源の力が足りない・電源ケーブルの線が細い、の3つを挙げています。質の低い電源はストレージを壊したり、予測できない動きの原因になったりするとも書かれています。
microSD カードのトラブルを防ぐ
- 電源を抜く前に止める:
sudo shutdown -h nowか、デスクトップの[Shutdown]。Raspberry Pi 5 は電源ボタンを2回押しても止まります。 - 容量と速さ:デスクトップ版は 32GB 以上。読み書きが速いカードほど全体が速く動くと公式ドキュメントにあり、公式の microSD カードが勧められています。
- 2TB 未満:それより大きいカードは MBR の制限で使えません。
- 書き直しは Imager で:書き込みの後の確認(ベリファイ)は飛ばさずに終わらせます。
Arduino・ESP32 との違い
この節では、ラズパイ・Pico・Arduino・ESP32 の違いと、どれを選ぶかが分かります。
いちばん大きな違いは、OS(Linux)があるかどうかです。 ラズパイは Linux の上でプログラムを動かすコンピューター、Pico・Arduino・ESP32 は、書き込んだプログラム1つだけを直接動かすマイコンです。仕様は各社の公式ドキュメントで確かめました。
| 項目 | Raspberry Pi 5 | Raspberry Pi Pico 2 W | Arduino UNO R4 WiFi | ESP32(チップ) |
|---|---|---|---|---|
| 種類 | Linux のコンピューター | マイコンボード | マイコンボード | Wi-Fi 付きマイコン |
| CPU | Cortex-A76 4コア 2.4GHz | Cortex-M33 2コア 150MHz | Renesas RA4M1(Cortex-M4)48MHz | Xtensa LX6 2コア(または1コア)240MHz |
| メモリ | 1〜16GB | SRAM 520KB | SRAM 32KB | SRAM 520KB |
| OS | Raspberry Pi OS(Linux) | 無し | 無し | 無し |
| GPIO の電圧 | 3.3V | 3.3V | 5V | 3.3V(電源は 2.3〜3.6V) |
| 項目 | ラズパイ(Pi 5 など) | マイコン(Pico・Arduino・ESP32) |
|---|---|---|
| 電源を入れてから動くまで | OS の起動を待つ | ほぼすぐに動き出す |
| 電源の切り方 | shutdown してから抜く |
そのまま抜く使い方が多い |
| 書く言語 | Python・C・Java・Node.js など何でも | C/C++・MicroPython など |
| ネットワーク・画面・ストレージ | 標準で使える | 必要な分だけ自分で作る |
| 得意なこと | サーバー・画像処理・複数のソフト | 決まった処理をくり返す・省電力 |
どちらを選ぶか
両方を組み合わせ、マイコンで集めた値をラズパイに送ってためる構成もよく使われる
Arduino UNO R4 の GPIO は 5V なので、ラズパイ(3.3V)と信号線を直接つなぐときは、電圧を変換する部品を間に入れます。Pico を C/C++ で書く場合の C 言語の基本は関連記事「C言語とは|入門から環境構築・ポインタ・mallocまで実行例で解説」で、ESP32・M5Stack の種類と始め方は関連記事「M5Stack・ESP32とは|種類・開発環境・始め方とエラーの直し方」で扱っています。
ラズパイを使い始めた後に役立つLinuxコマンド
この節では、ラズパイの状態を確かめるときによく使うコマンドが分かります。
| 知りたいこと | コマンド | 補足 |
|---|---|---|
| OS の版 | cat /etc/os-release |
Debian 13(trixie)など |
| カーネルの版 | uname -r |
6.18 系など |
| 機種 | cat /proc/device-tree/model |
機種名とリビジョンが出る |
| ピン配置 | pinout |
gpiozero のコマンド |
| CPU の温度 | vcgencmd measure_temp |
SoC の温度 |
| CPU の温度(1000 倍の値) | cat /sys/class/thermal/thermal_zone0/temp |
1000 で割ると ℃ |
| 電源不足・温度の記録 | vcgencmd get_throttled |
前の節のスクリプトで読み解く |
| IP アドレス | hostname -I |
SSH の接続先に使う |
| ディスクの空き | df -h |
microSD の残り容量 |
Linux の基本のコマンドは、関連記事「Linuxコマンド一覧|100個をカテゴリ別に実行結果つきで解説」で扱っています。
よくある質問
Q. ラズパイとは何ですか? A. Raspberry Pi(ラズベリーパイ)の略で、Linux が動く手のひらサイズのコンピューターです。40本の GPIO ピンで LED・ボタン・センサーをつなげます。
Q. ラズパイで何ができますか? A. プログラミングと Linux の学習、電子工作、センサーの記録、家の中のサーバー、カメラを使った装置などです。「ラズパイでできること」の節に、用途ごとに必要なものとモデルの目安を表にしています。
Q. 初心者はどのモデルを買えばいいですか? A. 用途が決まっていなければ Raspberry Pi 5 の 4GB か 8GB が基本です。デスクトップとして使うなら Raspberry Pi 500、小さく安くなら Zero 2 W、OS が要らないなら Pico 2 W です。
Q. ラズパイの値段はいくらですか? A. 2026年10月22日時点の公式価格は、Raspberry Pi 5 が1GB 45ドル〜16GB 305ドル、Raspberry Pi 4 が1GB 35ドル〜8GB 165ドル、Zero 2 W が15ドルです。メモリの値上がりで2025年12月から4回上がっています。
Q. Raspberry Pi 4 と 5 の違いは? A. Pi 5 は CPU が Cortex-A76 2.4GHz(Pi 4 は Cortex-A72 1.8GHz)で、PCIe と電源ボタンがあり、電源は 5V/5A を使います。Pi 4 は 5V/3A で、少なくとも2034年1月まで作られる予定です。
Q. ラズパイを始めるのに何が必要ですか? A. 本体のほかに、モデルに合った電源、microSD カード(デスクトップ版は32GB以上)、OS を書き込むパソコンとカードリーダーです。画面で使うならモニター・ケーブル・キーボード・マウスも要ります。
Q. モニターやキーボードが無くても使えますか?
A. 使えます。Raspberry Pi Imager で Wi-Fi と SSH を設定して書き込めば、電源を入れた後にパソコンから ssh ユーザー名@ホスト名.local で操作できます。
Q. 初期ユーザーの pi とパスワード raspberry でログインできません。 A. 2022年4月から、決まったユーザーは無くなりました。Imager か初回起動のウィザードで作ったユーザー名とパスワードを使います。
Q. ラズパイが起動しません。 A. LED が点かないなら電源、点くのに画面が出ないなら microSD の中身かモニターの端子(HDMI0)を疑います。緑の LED が長短で点滅するときは、回数から原因を引けます(「ラズパイが起動しない」の節)。
Q. Python で GPIO を使うには何のライブラリを使えばいいですか?
A. Raspberry Pi の公式ドキュメントは gpiozero を案内していて、Raspberry Pi OS に最初から入っています。from gpiozero import LED から始められます。
Q. ラズパイと Arduino・ESP32 の違いは? A. ラズパイは Linux が動くコンピューター、Arduino と ESP32 は OS の無いマイコンです。ラズパイは何でも動かせる代わりに起動と終了に手順があり、マイコンは電源を入れるとすぐ動き、電力が少なくて済みます。
まとめ
- ラズパイは Linux が動く小型コンピューター。GPIO 40ピンで電子工作もできる。Pico は Linux の無いマイコン。
- 2026年10月22日時点の公式価格は Raspberry Pi 5 が45〜305ドル。メモリの値上がりで2025年12月から4回上がり、大容量ほど上げ幅が大きい。
- 必要なものは本体・モデルに合った電源(Pi 5 は 5V/5A)・microSD(32GB 以上)・カードリーダー。
- OS は Raspberry Pi Imager で書き込み、Customisation でユーザー・Wi-Fi・SSH を入れておくと、画面なしで使える。決まった
piユーザーは無い。 - GPIO は 3.3V。Lチカは GPIO17 → 330Ω → LED → GND。gpiozero のコードは
GPIOZERO_PIN_FACTORY=mockでパソコンでも確かめられる。 - 起動しないときは LED の点滅、不安定なときは
vcgencmd get_throttledで電源不足を確かめる。
参考・出典
確認日はいずれも 2026年10月22日です。
- Raspberry Pi Documentation「Getting started」:https://www.raspberrypi.com/documentation/computers/getting-started.html
- Raspberry Pi Documentation「Raspberry Pi hardware」(GPIO・電源・LED):https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
- Raspberry Pi Documentation「Configuration」(ネットワーク・LED の点滅コード):https://www.raspberrypi.com/documentation/computers/configuration.html
- Raspberry Pi Documentation「Raspberry Pi OS」(Python・GPIO・vcgencmd):https://www.raspberrypi.com/documentation/computers/os.html
- Raspberry Pi Documentation「Remote access」(SSH):https://www.raspberrypi.com/documentation/computers/remote-access.html
- Raspberry Pi Documentation「Raspberry Pi Pico-series」:https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html
- GitHub「raspberrypi/documentation」:https://github.com/raspberrypi/documentation
- Raspberry Pi「Raspberry Pi 5」:https://www.raspberrypi.com/products/raspberry-pi-5/
- Raspberry Pi「Raspberry Pi 4 Model B」:https://www.raspberrypi.com/products/raspberry-pi-4-model-b/
- Raspberry Pi「Raspberry Pi Zero 2 W」:https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
- Raspberry Pi「Raspberry Pi 500」:https://www.raspberrypi.com/products/raspberry-pi-500/
- Raspberry Pi「Raspberry Pi Pico 2」:https://www.raspberrypi.com/products/raspberry-pi-pico-2/
- Raspberry Pi「Operating system images」:https://www.raspberrypi.com/software/operating-systems/
- Raspberry Pi News「1GB Raspberry Pi 5 now available at $45, and memory-driven price rises」(2025年12月1日):https://www.raspberrypi.com/news/1gb-raspberry-pi-5-now-available-at-45-and-memory-driven-price-rises/
- Raspberry Pi News「More memory-driven price rises」(2026年2月):https://www.raspberrypi.com/news/more-memory-driven-price-rises/
- Raspberry Pi News「A new 3GB Raspberry Pi 4 for $83.75, and more memory-driven price increases」(2026年4月):https://www.raspberrypi.com/news/a-new-3gb-raspberry-pi-4-for-83-75-and-more-memory-driven-price-increases/
- Raspberry Pi News「Price increases for 2GB Raspberry Pi 4 and Raspberry Pi 5」(2026年10月1日):https://www.raspberrypi.com/news/price-increases-for-2gb-raspberry-pi-4-and-raspberry-pi-5/
- Raspberry Pi News「Raspberry Pi Pico 2 W on sale now」(2024年11月25日):https://www.raspberrypi.com/news/raspberry-pi-pico-2-w-on-sale-now/
- Raspberry Pi News「An update to Raspberry Pi OS Bullseye」(2022年4月):https://www.raspberrypi.com/news/raspberry-pi-bullseye-update-april-2022/
- GitHub「raspberrypi/rpi-imager」Releases:https://github.com/raspberrypi/rpi-imager/releases
- GitHub「raspberrypi/linux」drivers/hwmon/raspberrypi-hwmon.c:https://github.com/raspberrypi/linux/blob/rpi-6.12.y/drivers/hwmon/raspberrypi-hwmon.c
- スイッチサイエンス「Raspberry Pi」(商品ページ):https://www.switch-science.com/collections/raspberry-pi
- GPIO Zero Documentation:https://gpiozero.readthedocs.io/
- PyPI「gpiozero」:https://pypi.org/project/gpiozero/
- Arduino Docs「UNO R4 WiFi」:https://docs.arduino.cc/hardware/uno-r4-wifi/
- Espressif「ESP32 Series Datasheet」:https://documentation.espressif.com/esp32_datasheet_en.pdf
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「ラズパイ(Raspberry Pi)とは|始め方・モデル比較・Lチカを実例で解説」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。