やさしいRaspberry Pi(ほんとにやさしい)
電子工作をする機会があり、知識ゼロの状態からある程度ラズパイをいじれるようになりました。整理すると簡単なのですが、初めてではとっても大変だったので備忘録も兼ねて書き記します。
Raspberry Pi とは?
Raspberry Pi、通称ラズパイとは簡単にいうと小さいコンピュータです。また、I/Oピンが搭載されていて配線することでセンサなどを制御することができます。数千円から購入することができ、これらの特徴から電子工作をはじめ、IoT機器などに多く搭載されています。
小さいコンピュータとはいっても敷居が高いように感じる人もいると思います。知識ゼロからラズパイを最低限使えるところまで理解したので、この記事を読めば簡単な電子工作ができるようになるまで図・写真を使いながら徹底的に解説していきます。
用意するもの
ラズパイを使うためのコードなどは複数選択肢があるのですが、最小限の構成で説明します。必要なのは以下の4つだけ。
Raspberry Pi 本体
micro SDカード
電源供給ケーブル(micro USB)
制御PC
これだけあれば始められます。ラズパイはいくつか種類があるのですが、ここではRasaperry Pi Zero 2Wを使用しています。そのため電源供給ケーブルはmicro USBですが、ラズパイ5などの場合はUSB-Type Cです。
OSをインストールしよう
まずはラズパイにOSをインストールする必要があります。ラズパイ公式からダウンロードすることができます。
https://www.raspberrypi.com/software/
インストーラーを上記のリンクから入手できます。立ち上げるとこのような画面が開きます。
ここからいくつか設定していきます。
Raspberry Piデバイスは、使用するラズパイの種類を選択します。
次にインストールするOSの種類を選択します。私はLegacy, 32-bitを選択しました。最新のOSだとラズパイのカメラの仕様を試みたときに不都合が生じ、Legacy, 32-bitにしています。最新でもいいと思いますが、ここではこのOSで説明を進めていきます。どのOSでも大きくは変わらないと思います。
次はmicro SDカードを選択します。PCにmicro SDカードを挿入しておきましょう。そのカードを選択するだけです。
ここから詳細設定に入っていきます。次へを選択すると以下のような画面が出ます。「設定を編集する」を選択しましょう。
ホスト名、ユーザー名、パスワードを自分で設定します。(ユーザー名をrootにしたらのちに支障が出ました。避けましょう。)
Wi-FiはSSID、そのパスワードを入力します。ここで1つ注意。ラズパイの内蔵無線では5GHzが使用できません。2.4GHzなどを使用しましょう。
ロケールについては以下のように設定しました。
次に上タブの真ん中、サービスではSSHに関する設定です。SSHは同じWi-Fi環境に入ることで制御する方法であり、ここではSSH接続によってラズパイをいじっていきます。
オプションについては以下のようにしました。いじってないと思います。
これで設定入力は完了。保存を押します。
するとこの画面に戻ってくるため、「はい」を押しましょう、インストールが始まります。これでOSのインストール完了です。そうしたらPCからmicro SDカードを抜きます。
ラズパイに電源を入れて接続してみよう
ラズパイを使う準備は整いました。ここから実際にいじっていきます。OSを入れたSD、電源供給ケーブルを挿入します。ここでPCはOS設定時に入力したWi-Fiに繋いでおきましょう。
PCでコマンドプロンプトを起動させましょう。VS codeの拡張機能からSSH接続する方法もありますが、使用感が悪かったり重かったりしたので、ここではシンプルな方法を解説します。
起動したら以下のように入力します。
ssh <ユーザー名>@<ホスト名>
ここの<ユーザー名>、<ホスト名>は自分で設定したものです。私の場合は以下のように入力しました。
ssh raspi@arliss
すると初回接続時は以下のように出力されます。
yesと入力してEnterを押します。するとパスワードが求められるため設定したものを入力しましょう。パスワードは入力しても画面にはでてきませんが入力できています。ただしくログインできると以下のようになります。
この画面になったらログインに成功しています。これでラズパイをいじれるようになりました!
電子工作へ向けて設定しよう
ラズパイのOSにはPythonの環境がはいっているのでもうすでにプログラムを実行することはできます。しかしいくつか設定が必要なので紹介します。
以下のコマンドを打ちます。
sudo raspi-config
すると以下のような画面になります。
「3 Interface Options」を選択しましょう。マウスは使えないため、十字キーとEnterで選択します。
ここで必要なものを有効にします。私が使ったものを紹介します。
Legacy Camera
この項目を有効にすることで、カメラを接続することで使用できます。VNC
これはGUIでラズパイを制御したいときに必要です。コマンド操作で十分ですが、カメラからの出力をラズパイ上で確認したいときなどに必要でした。用途によっては必要ないと思います。ここでは説明を省きますが、「RealVNC Viewer」というソフトが良かったです。Download VNC Viewer by RealVNC®I2C
センサなどはこの通信方式が多いのではないでしょうか。I2C通信を使いたいときに有効にします。Serial Port
UARTにて通信したいときに有効にします。ここで選択肢は「No」→「Yes」の順に選びます。
以上のような設定が終わり、Finishを選択すると再起動するかどうかをきかれます。
再起度することで以上の設定が変更されるためしましょう。するとSSHが切断されるため再度ログインします。また、ログインできるまで数分かかることがあります。
センサ類はGPIOと呼ばれるラズパイのピンと接続することで使用できます。それら全体を有効にする必要がありますので、1度だけ以下のコマンドを入力しましょう。
sudo systemctl enable pigpiod
詳細までは理解していないのですが、これを打っておけば今後は何もしなくていいです。
以上でラズパイのほとんどの設定は終了しました。
センサとラズパイを繋いでみよう
先ほど少しでてきたGPIOについて説明していきます。
GPIOは配置が決まっています。これはRaspberry Pi Zero 2Wの例です。つまり1番からは3.3Vが出力されていて、6番は接地されているということです。I2C通信は3,5番、UARTは8,10番を通信に使うことが分かります。また何も記載がないGPIOはシンプルに電圧のHigh(3.3V)とLow(0V)をプログラムで制御できます。
ここからは例として気圧センサ(BME280)の使用例をあげてみたいと思います。ここではI2C通信を用します。マニュアルを参照すると以下のような記載があります。
ピン配置とこれを参考にすると、センサの1番(VDD)をラズパイの1番、センサの2番(GND)をラズパイの6番、センサの4番(SDA)をラズパイの3番、センサの6番(SCL)をラズパイの5番に接続するように回路を組むことでセンサを使用することができます。
プログラムは公式が出していたりネットに転がっているものから好みの形に変えていきましょう。0から自分でコーディングするのはだいぶ無理があると思います。正規代理店がだしてるgithubのリンクだけ貼っときますね。
これでラズパイでセンサを使えるようになりました。実際に使うにはもう少しLinuxやgithubの使い方を知る必要があるのですがここでは割愛します。でもこれでラズパイの環境構築は完璧!!とはいかずにやはり何かとまだまだ壁に当たることはあったのですが、最低限はここに書き記したと思います。私も始めたばかりですので、一緒にどうですか。