Raspberry Pi(ラズパイ)に関する技術情報のまとめページです。Raspberry Piのインストール、設定方法などの基礎知識や、Indoor Corgi製の拡張基板を使った応用例などを公開しています。
インストールと初期設定
Raspberry Pi OSのインストール - 公式Imager対応
Raspberry Pi(ラズパイ)を動かすには、ストレージとなるmicroSDカードへOSをインストールする必要があります。Raspberry Pi公式のSDカード作成ツールのImagerを用いて、Raspberry Pi OSをインストールする手順をWindows/Mac/Ubuntuそれぞれについて解説しています。
Raspberry PiのセットアップとOSの初期設定
Raspberry Pi(ラズパイ)をはじめて起動する方向けに、ハードウェアのセットアップとOSの初期設定方法を、画像つきで解説しています。マウス、キーボード、ディスプレイ、電源などの接続例やトラブル事例別の対処法も記載しました。
Raspberry Piで画面サイズ(解像度)を変更する
Raspberry Piではデスクトップ環境が用意されていますが、4Kモニターなどではインストール直後に画面サイズが大きすぎるために、メニューやウィンドウが小さすぎて使いにくい場合があります。そこで、本記事では画面サイズを見やすく変更する手順を解説します。
ターミナルの使い方と設定ファイル変更方法(Raspberry Pi)
Raspberry Piではデスクトップ環境が用意されていますが、一部のソフトウェアはターミナルからの利用を前提としていたり、リモートから接続する場合はターミナルを使った方が便利です。また、設定ファイルはテキストファイルとなっており、ターミナルから変更することができます。本記事ではターミナルの基本操作について解説します。
Raspberry Piで日本語入力する方法(Fcitx/iBus/Mozc)
本記事ではFcitx/iBusとMozcをインストールしてRaspberry Pi(ラズパイ)で日本語入力する方法を解説しています。
TIPS
VNCでRaspberry Piにリモートデスクトップ接続 (Windows/Mac/Linux対応)
VNCを使って、PC (パソコン) からRaspberry Pi(ラズパイ)にリモート接続する手順、およびディスプレイなしでRaspberry Piを起動できるようにする方法について解説しています。PCからリモートでRaspberry Piを操作することができれば、運用の幅が広がって便利になります。
ラズパイを外出先からリモート(遠隔)操作 - Raspberry Pi Connect使い方ガイド
Raspberry Pi ConnectはRaspberry Pi公式が提供しているサービスで、簡単な設定でインターネット経由で自宅のRaspberry Piをリモート操作することができます。本記事ではその使い方をわかりやすく解説しています。
SSHでRaspberry Piとファイル共有&リモート操作 (Windows/Mac/Ubuntu対応)
Windows/Mac/UbuntuなどのPCからSSHでRaspberry Pi(ラズパイ)に接続し、ファイル共有やコマンドによるリモート操作する方法を解説しています。離れた場所にあるRaspberry Piとファイルを簡単にやり取りできるので、活用の幅が広がります。Raspberry Piのログファイルをダウンロードしたり、PCの音楽や動画をRaspberry Piへアップロードすることもできます。
Raspberry PiでI2C/SPIの有効化方法と仕組み
I2C/SPIの仕組み、Raspberry Pi(ラズパイ)で有効化する方法を解説しています。I2C/SPI対応のセンサーやディスプレイ、ADコンバーターなどを利用することで、Raspberry Piの可能性がさらに広がります。Raspberry Pi OSインストール後は無効になっているので、こちらを参考に有効化して下さい。
Raspberry Piでデスクトップ環境をオフにしてメモリーを節約する方法
Raspberry Pi OSではデスクトップ環境が用意されていて、インストール後自動的に立ち上がります。ウィンドウやメニュー、ボタンなどを直感的に操作できるので、初期設定やPCの代わりとして使うのに大変便利です。一方で、サーバーやIoTデバイスとして運用する場合はデスクトップ環境をオフにすることでメモリーを節約することが可能です。
Raspberry PiでウィンドウマネージャーをX11 / Waylandに切り替える
Raspberry Pi OSのデスクトップ環境にはX11とWaylandの2種類のウィンドウマネージャーが採用されています。最新OSとRaspberry Pi 5 / 4ではWaylandに初期設定されていますが、一部ソフトウェアが動かないなどの問題が起きる場合があります。本記事ではウィンドウマネージャーを従来のX11に切り替える手順を解説しています。
Raspberry Piをスイッチでシャットダウン (LEDで完了確認)
スイッチを押すだけでRaspberry Pi(ラズパイ)をシャットダウンする方法を解説しています。また、LEDでシャットダウン完了を分かりやすく確認できるようにします。シャットダウン操作をする手間や、完了して電源を落としていいか分かりにくい問題を解決します。
プログラミング
Raspberry PiでPythonプログラミング入門
Python(パイソン)とは世界的に人気のあるプログラミング言語の一つです。Pythonを使えばほぼどんなプログラムも実現できると言っても過言ではなく、GPIOピンを使って、センサーや拡張基板と通信することもできます。本記事では、プログラミング初心者の方向けに、Pythonのコードの記述と実行方法、文法の基礎を解説しています。
PythonでRaspberry PiのGPIO、LED、スイッチ制御
Raspberry Pi(ラズパイ)では、GPIOを通じて電気信号を送受信することで、様々なデバイスを制御することができます。本記事では、基本的なLEDとスイッチについて、Pythonプログラムで制御する方法を解説します。LEDにステータスを表示させたり、スイッチが押されたら何らかの動作をさせるなど、自分が好きなように動作をプログラミングすることが可能になります。
センサー
BME280センサーとラズパイで気温、湿度、気圧を測定する
Indoor Corgiのセンサー制御ソフトウェア「cgsensor」を利用して、BME280センサーで気温、湿度、気圧を測定する方法を解説します。コマンドラインツールを使って1行もコードを書かずに測定や記録ができるほか、Pythonパッケージを使えばご自身のプログラムから簡単にセンサーを制御できます。
TSL2572センサーとラズパイで明るさ(照度)を測定する
Indoor Corgiのセンサー制御ソフトウェア「cgsensor」を利用して、TSL2572センサーで明るさを測定する方法を解説します。コマンドラインツールを使って1行もコードを書かずに測定ができるほか、Pythonパッケージを使えばご自身のプログラムから簡単にセンサーを制御できます。
SCD41 CO2センサーとラズパイで二酸化炭素濃度を測定する
Indoor Corgiのセンサー制御ソフトウェア「cgsensor」を利用して、SCD41 CO2センサーで二酸化炭素濃度を測定したり、センサーの校正や設定を変更する方法を解説します。コマンドラインツールを使って1行もコードを書かずに測定や記録ができるほか、Pythonパッケージを使えばご自身のプログラムから簡単にセンサーを制御できます。
CO2濃度に応じてLEDの色を変化させ、リレーで外部機器をON/OFFする
Raspberry PiとRPZ-CO2-Sensorを使ってCO2(二酸化炭素)濃度を測定し、LEDの色を変化させる応用例です。LEDを見ることで、換気の必要性がひと目でわかります。濃度が一定以上になったらリレーで換気ファンなどの外部機器をONすることも可能です。
人感センサーとラズパイで人や動物が通ったら撮影する (RPZ-PIRS)
人感センサー(PIR/焦電赤外線センサー)は、人や動物の動きを検知できます。そこで、Raspberry Pi(ラズパイ)、カメラと組み合わせて、人や動物が通ったら写真や動画を撮影する方法を解説します。実際に動作するプログラムも用意しています。人感センサー搭載のRPZ-PIRS拡張基板を利用します。
カメラ
ラズパイカメラモジュールの使い方(各モデルの違い、組み立て、撮影方法)
Raspberry Pi(ラズパイ)に純正カメラモジュールを接続して、写真や動画を撮影することができます。各カメラモジュールの違い、組み立て手順と撮影する手順を解説しています。HQカメラについては、レンズ取り付けとフォーカスの調整についても解説しています。
定期撮影ラズパイカメラをモバイルバッテリーで長期運用 (RPZ-PowerMGR)
Raspberry Pi(ラズパイ)と純正カメラを使用して、定期的に撮影するタイムラプス機能を実装する方法を解説します。RPZ-PowerMGR拡張基板を使うことで、指定時刻に起動し、撮影後は自動的にシャットダウン&電源OFFします。待機時の消費電力をカットすることで、モバイルバッテリーで長期運用が可能になります。
人感センサーとラズパイで人や動物が通ったら撮影する (RPZ-PIRS)
人感センサー(PIR/焦電赤外線センサー)は、人や動物の動きを検知できます。そこで、Raspberry Pi(ラズパイ)、カメラと組み合わせて、人や動物が通ったら写真や動画を撮影する方法を解説します。実際に動作するプログラムも用意しています。人感センサー搭載のRPZ-PIRS拡張基板を利用します。
赤外線送受信
ラズパイで赤外線制御 (家電、エアコン、照明、テレビなどを制御するホームIoT)
Pythonとpigpioを使ってRaspberry Piで赤外線の送受信を行う方法について解説しています。サンプルプログラムを用意しているので、簡単に受信、登録、送信動作をさせることができるほか、データ解析も可能です。赤外線を使ってエアコン、照明、テレビなどの家電を制御することが可能になります。
ラズパイと赤外線でエアコンの自動ON、消し忘れ機能を実現
普段、エアコンを消し忘れてしまい夜間つけっぱなしにしてしまったり、冬場に朝エアコンを入れても暖かくなるのに時間がかかったことは無いでしょうか?本記事では、Raspberry Piと拡張基板を利用して、毎晩のエアコン消し忘れ機能、および朝に温度が低い場合に自動で暖房を入れる機能を実現します。
電源管理、モバイルバッテリー
スイッチでラズパイ/Jetsonの電源をON/OFF (RPZ-PowerMGR)
RPZ-PowerMGRを使って、スイッチでRaspberry Pi(ラズパイ)/Jetson Nanoの電源ON/OFFする方法の解説です。ケーブルの抜き挿しやログインして操作しなくても電源ON/OFFできるほか、リモートやプログラムからシャットダウンした際に自動で電源OFFすることもできます。不要な時は電源を切ることで省電力化が可能です。
指定時刻にラズパイ/Jetsonの電源をON/OFF (RPZ-PowerMGR)
RPZ-PowerMGRを使って、指定時刻にRaspberry Pi(ラズパイ)やJetson Nanoの電源ON/OFFする方法の解説です。決まった時間だけ起動して消費電力を抑えることが可能で、モバイルバッテリーやソーラーシステムでの運用に最適です。
ラズパイ/Jetsonの消費電力測定&モバイルバッテリー稼働時間の計算 (RPZ-PowerMGR)
RPZ-PowerMGRを使って、Raspberry Pi(ラズパイ)/Jetson Nanoの消費電力を測定する方法の解説です。モバイルバッテリーでの運用可能な時間を計算し、実際の運用時間と比較しました。
定期撮影ラズパイカメラをモバイルバッテリーで長期運用 (RPZ-PowerMGR)
Raspberry Pi(ラズパイ)と純正カメラを使用して、定期的に撮影するタイムラプス機能を実装する方法を解説します。RPZ-PowerMGR拡張基板を使うことで、指定時刻に起動し、撮影後は自動的にシャットダウン&電源OFFします。待機時の消費電力をカットすることで、モバイルバッテリーで長期運用が可能になります。
電源自動リカバリーで停電やバッテリー切れから復帰 (RPZ-PowerMGR)
RPZ-PowerMGRには、自動的にRaspberry Pi/Jetsonの電源を復帰する「電源自動リカバリー」機能を搭載しています。これにより、意図しない電源切断やバッテリー切れとなっても、スイッチ操作なしで再度Raspberry Pi/Jetsonを起動し、運用を再開することが可能となります。本記事ではその仕組みと、設定方法を解説します。
時刻管理 (RTC)
Raspberry PiでRTCを使って時刻管理 (RPZ-PowerMGR)
RTC(時計)を使って、Raspberry Pi(ラズパイ)の時刻を管理する方法の解説です。RTCを使うと、インターネットに繋がっていなくても正確な時刻で運用できます。電源OFFから起動した際に自動的に時刻を設定する方法も説明します。
ステッピングモーター
ステッピングモーターを指定位置まで回転させる (Raspberry Pi + RPZ-Stepper)
RPZ-StepperとRaspberry Pi(ラズパイ)を使ってステッピングモーターを指定位置まで回転させる手順を解説しています。制御ソフトウェアcgstepを使うことでコマンドやPythonから簡単かつ直感的にステッピングモーターを動かすことが可能です。
複数のステッピングモーターを制御する (Raspberry Pi + RPZ-Stepper)
複数台のステッピングモーターモーターを使うと、X/Y/Z軸移動など複雑な動きを実現できます。一般的なドライバーで複数のモーターを制御するとプログラムが複雑になりがちです。RPZ-Stepperと制御ソフトウェアを利用すると、各モーターの位置や速度を指定するだけで複数モーターを制御できます。RPZ-Stepper基板1枚に2台のステッピングモーターを接続でき、最大で基板2枚、モーター4台を制御できます。
ステッピングモーターを指定速度/回転数で回転させる (Raspberry Pi + RPZ-Stepper)
一般的なステッピングモータードライバーでは、所望の速度に合わせたパルスをリアルタイムで出力し続けるひつようがあります。RPZ-Stepperは、速度指定モードに設定することで、自動的にステッピングモーターを回転させ続けることができ、Raspberry Piでは別の処理を行うことも容易です。途中で速度を変更も可能で、指定したパラメーターに応じて自動で加減速します。速度を細かく制御しながら回転し続けるようなアプリケーションを実現できます。
加速、減速を細かく指定してステッピングモーターを回転させる (Raspberry Pi + RPZ-Stepper)
一般的なモータードライバーの場合、加減速中はリアルタイムにパルス間隔を変動させる必要があり、複雑な処理が必要になります。RPZ-Stepperでは、あらかじめパラメーターをセットしておくことで、自動的に加減速を行うことができます。例えば、負荷が重いので動き出しをゆっくり加速したい場合が考えられます。また、ステッピングモーターは回転数が上がるほどトルクが下がる特徴があります。そのため、早い速度域では加速を遅くして脱調を回避できます。
静音モードでステッピングモーターの動作音を抑える (Raspberry Pi + RPZ-Stepper)
ステップ角単位で回転するという仕組み上、ステッピングモーターは振動や音が大きくなりやすい特徴があります。RPZ-Stepperは静音モードを搭載しており、振動と音を低減できます。モーターや回転数にもよりますが、動いているのかほとんどわからないレベルまで振動や音を減らすことも可能です。静かな環境で動作させるアプリケーションを実現できます。
ステッピングモーターの電流を最適化して省電力化&発熱対策 (Raspberry Pi + RPZ-Stepper)
ステッピングモーターは軽負荷や停止時であっても電流を消費するという特徴があります。一般的なモータードライバーだと、停止時にも電力を消費し続けたり発熱してしまいます。RPZ-Stepperは回転時、停止時それぞれについて、電流値を変更できるため、最適な値にすることで省電力化が可能です。また、ドライバーICの温度や、消費電流の測定も可能で、発熱やバッテリーでの動作時間の見積もりが可能です。
サーボモーター、ブラシレスモーター
サーボモーターを指定した角度に動かす (Raspberry Pi + RPZ-RC-Servo)
サーボモーターは、モーターシャフトの角度(位置)を電気的に指示することが可能なモーターで、ものやアームを動かしたり、カメラを回転させたりすることが可能です。本記事ではRPZ-RC-ServoとRaspberry Pi(ラズパイ)を使ってサーボモーターを指定した角度へ回転させる方法を解説しています。Pythonで動作する制御ソフトウェアcgservoを使うことで簡単かつ直感的にモーターを制御することができます。
Raspberry Piでブラシレスモーターを制御する (RPZ-RC-Motor)
ラズパイでESCを通してブラシレスモーター回転させたり、回転数を制御する方法を解説しています。本来制御が複雑なブラシレスモーターですが、拡張基板「RPZ-RC-Motor」とPythonで動作する制御ソフトウェアcgservoを使うことで簡単かつ直感的にモーターを制御することができます。
ハードウェア
拡張基板/HAT対応 Raspberry Pi4用おすすめケース (DIYメタルケース)
本記事では、Rasbperry Pi 4のおすすめケースとして、Raspberry Pi4用 DIYメタルケース (Physical Computing Lab)を紹介します。冷却性能、コンパクトさなどバランス良く仕上がっており、かつGPIO端子に拡張基板/HATをそのまま装着できる数少ないケースです。実際に温度を測定した結果も掲載しています。