メインコンテンツまでスキップ

Raspberry Pi

Raspberry Pi は多用途のシングルボードコンピュータです。さまざまなデバイスやエコシステムを使用してセンサーやアクチュエータを統合することができます。これらのレッスンでは、Grove というハードウェアエコシステムを使用します。Raspberry Pi をプログラムし、Python を使用して Grove センサーと対話します。

A Raspberry Pi 4

セットアップ

IoT ハードウェアとして Raspberry Pi を使用する場合、2 つのオプションがあります。これらのレッスンをすべて進めて Pi 上で直接コードを書くか、'ヘッドレス' Pi にリモート接続してコンピュータからコードを書くことができます。

始める前に、Grove Base Hat を Raspberry Pi に接続してください。

タスク - セットアップ

Grove base hat を Raspberry Pi に取り付け、Pi を構成します。

  1. Grove base hat を Raspberry Pi に接続します。hat のソケットは Pi のすべての GPIO ピンにフィットし、ピンの下までスライドしてしっかりとベースに座ります。それは Pi を覆うように座ります。

    Fitting the grove hat

  2. Raspberry Pi をどのようにプログラムするかを決定し、以下の関連セクションに進みます:

Raspberry Pi で直接作業する

Raspberry Pi で直接作業することを好む場合は、Raspberry Pi OS のデスクトップバージョンを使用し、必要なツールをすべてインストールできます。

タスク - Raspberry Pi で直接作業する

開発のために Raspberry Pi をセットアップします。

  1. Raspberry Pi セットアップガイド の指示に従って Raspberry Pi をセットアップし、キーボード/マウス/モニターに接続し、WiFi またはイーサネットネットワークに接続し、ソフトウェアを更新します。

Grove センサーとアクチュエータを使用して Raspberry Pi をプログラムするには、デバイスコードを書くためのエディタと、Grove ハードウェアと対話するためのさまざまなライブラリとツールをインストールする必要があります。

  1. Raspberry Pi が再起動したら、トップメニューバーの Terminal アイコンをクリックするか、Menu -> Accessories -> Terminal を選択してターミナルを起動します。

  2. 次のコマンドを実行して、OS とインストールされたソフトウェアが最新であることを確認します:

    sudo apt update && sudo apt full-upgrade --yes
  3. 次のコマンドを実行して、Grove ハードウェアに必要なすべてのライブラリをインストールします:

    sudo apt install git python3-dev python3-pip --yes

    git clone https://github.com/Seeed-Studio/grove.py
    cd grove.py
    sudo pip3 install .

    sudo raspi-config nonint do_i2c 0

    これは、Git と Python パッケージをインストールするための Pip をインストールすることから始まります。

    Python の強力な機能の 1 つは、Pip パッケージ をインストールできることです。これらは他の開発者によって書かれ、インターネットに公開されたコードのパッケージです。1 つのコマンドで Pip パッケージをコンピュータにインストールし、そのパッケージをコードで使用できます。

    Seeed Grove Python パッケージはソースからインストールする必要があります。これらのコマンドは、このパッケージのソースコードを含むリポジトリをクローンし、それをローカルにインストールします。

    💁 デフォルトでは、パッケージをインストールするとコンピュータのどこでも利用可能になりますが、これによりパッケージのバージョンに問題が生じる可能性があります。たとえば、あるアプリケーションが特定のバージョンのパッケージに依存している場合、別のアプリケーションのために新しいバージョンをインストールすると壊れることがあります。この問題を回避するために、Python 仮想環境 を使用できます。これは専用フォルダ内の Python のコピーであり、Pip パッケージをインストールするとそのフォルダにのみインストールされます。Raspberry Pi を使用する際には仮想環境を使用しません。Grove インストールスクリプトは Grove Python パッケージをグローバルにインストールするため、仮想環境を使用するには仮想環境をセットアップし、その環境内に Grove パッケージを手動で再インストールする必要があります。特に多くの Raspberry Pi 開発者が各プロジェクトのためにクリーンな SD カードを再フラッシュするため、グローバルパッケージを使用する方が簡単です。

    最後に、I2C インターフェースを有効にします。

  4. メニューを使用するか、ターミナルで次のコマンドを実行して Raspberry Pi を再起動します:

    sudo reboot
  5. Raspberry Pi が再起動したら、ターミナルを再起動し、次のコマンドを実行して Visual Studio Code (VS Code) をインストールします。これは、Python でデバイスコードを書くために使用するエディタです。

    sudo apt install code

    これがインストールされると、VS Code はトップメニューから利用可能になります。

    💁 これらのレッスンでは VS Code を使用する指示が与えられますが、好みの Python IDE やエディタを自由に使用できます。

  6. Pylance をインストールします。これは、Python 言語サポートを提供する VS Code の拡張機能です。VS Code でこの拡張機能をインストールする手順については、Pylance 拡張機能のドキュメント を参照してください。

リモートアクセスで Raspberry Pi をコーディングする

Raspberry Pi で直接コーディングするのではなく、キーボード/マウス/モニターに接続せずに 'ヘッドレス' で実行し、コンピュータから Visual Studio Code を使用して構成およびコーディングできます。

Raspberry Pi OS のセットアップ

リモートでコーディングするには、Raspberry Pi OS を SD カードにインストールする必要があります。

タスク - Raspberry Pi OS のセットアップ

ヘッドレス Raspberry Pi OS をセットアップします。

  1. Raspberry Pi OS ソフトウェアページ から Raspberry Pi Imager をダウンロードしてインストールします。

  2. 必要に応じてアダプタを使用して、SD カードをコンピュータに挿入します。

  3. Raspberry Pi Imager を起動します。

  4. Raspberry Pi Imager から CHOOSE OS ボタンを選択し、Raspberry Pi OS (Other) を選択し、次に Raspberry Pi OS Lite (32-bit) を選択します。

    The Raspberry Pi Imager with Raspberry Pi OS Lite selected

    💁 Raspberry Pi OS Lite は、デスクトップ UI や UI ベースのツールがないバージョンの Raspberry Pi OS です。これらはヘッドレス Raspberry Pi には必要なく、インストールが小さくなり、起動時間が短縮されます。

  5. CHOOSE STORAGE ボタンを選択し、SD カードを選択します。

  6. Advanced Options を起動するには Ctrl+Shift+X を押します。これらのオプションにより、Raspberry Pi OS を SD カードにイメージする前にいくつかの事前構成が可能になります。

    1. Enable SSH チェックボックスをオンにし、pi ユーザーのパスワードを設定します。これは後で Raspberry Pi にログインするために使用するパスワードです。

    2. WiFi 経由で Raspberry Pi に接続する予定がある場合は、Configure WiFi チェックボックスをオンにし、WiFi SSID とパスワードを入力し、WiFi 国を選択します。イーサネットケーブルを使用する場合はこれを行う必要はありません。接続するネットワークがコンピュータと同じであることを確認してください。

    3. Set locale settings チェックボックスをオンにし、国とタイムゾーンを設定します。

    4. SAVE ボタンを選択します。

  7. WRITE ボタンを選択して OS を SD カードに書き込みます。macOS を使用している場合、ディスクイメージを書き込むための基盤となるツールが特権アクセスを必要とするため、パスワードの入力を求められます。

OS が SD カードに書き込まれ、完了すると OS によってカードが取り出され、通知されます。SD カードをコンピュータから取り出し、Raspberry Pi に挿入し、Raspberry Pi の電源を入れ、適切に起動するのを約 2 分待ちます。

Raspberry Pi に接続する

次のステップは、Raspberry Pi にリモートアクセスすることです。これは、macOS、Linux、および最近のバージョンの Windows で利用可能な ssh を使用して行うことができます。

タスク - Raspberry Pi に接続する

Raspberry Pi にリモートアクセスします。

  1. ターミナルまたはコマンドプロンプトを起動し、次のコマンドを入力して Raspberry Pi に接続します:

    古いバージョンの Windows を使用していて ssh がインストールされていない場合は、OpenSSH を使用できます。インストール手順は OpenSSH インストールドキュメント に記載されています。

  2. これにより、Raspberry Pi に接続され、パスワードの入力を求められます。

    ネットワーク上のコンピュータを <hostname>.local を使用して見つけることができるのは、Linux および Windows への比較的新しい追加機能です。Linux または Windows を使用していて、ホスト名が見つからないというエラーが発生した場合は、ZeroConf ネットワーキング(Apple によって Bonjour とも呼ばれる)を有効にするために追加のソフトウェアをインストールする必要があります:

    1. Linux を使用している場合は、次のコマンドを使用して Avahi をインストールします:

      sudo apt-get install avahi-daemon
    2. Windows を使用している場合、ZeroConf を有効にする最も簡単な方法は、Bonjour Print Services for Windows をインストールすることです。より新しいバージョンのユーティリティを取得するために iTunes for Windows をインストールすることもできます(スタンドアロンでは利用できません)。

    💁 raspberrypi.local を使用して接続できない場合は、Raspberry Pi の IP アドレスを使用できます。IP アドレスを取得する方法については、Raspberry Pi IP アドレスドキュメント を参照してください。

  3. Raspberry Pi Imager の Advanced Options で設定したパスワードを入力します。

Raspberry Pi のソフトウェアを構成する

Raspberry Pi に接続したら、OS が最新であることを確認し、Grove ハードウェアと対話するためのさまざまなライブラリとツールをインストールする必要があります。

タスク - Raspberry Pi のソフトウェアを構成する

インストールされた Raspberry Pi ソフトウェアを構成し、Grove ライブラリをインストールします。

  1. ssh セッションから次のコマンドを実行して Raspberry Pi を更新し、再起動します:

    sudo apt update && sudo apt full-upgrade --yes && sudo reboot

    Raspberry Pi が更新され、再起動されます。Raspberry Pi が再起動されると ssh セッションは終了するため、約 30 秒待ってから再接続します。

  2. 再接続された ssh セッションから次のコマンドを実行して、Grove ハードウェアに必要なすべてのライブラリをインストールします:

    sudo apt install git python3-dev python3-pip --yes

    git clone https://github.com/Seeed-Studio/grove.py
    cd grove.py
    sudo pip3 install .

    sudo raspi-config nonint do_i2c 0

    これは、Git と Python パッケージをインストールするための Pip をインストールすることから始まります。

    Python の強力な機能の 1 つは、Pip パッケージ をインストールできることです。これらは他の開発者によって書かれ、インターネットに公開されたコードのパッケージです。1 つのコマンドで Pip パッケージをコンピュータにインストールし、そのパッケージをコードで使用できます。

    Seeed Grove Python パッケージはソースからインストールする必要があります。これらのコマンドは、このパッケージのソースコードを含むリポジトリをクローンし、それをローカルにインストールします。

    💁 デフォルトでは、パッケージをインストールするとコンピュータのどこでも利用可能になりますが、これによりパッケージのバージョンに問題が生じる可能性があります。たとえば、あるアプリケーションが特定のバージョンのパッケージに依存している場合、別のアプリケーションのために新しいバージョンをインストールすると壊れることがあります。この問題を回避するために、Python 仮想環境 を使用できます。これは専用フォルダ内の Python のコピーであり、Pip パッケージをインストールするとそのフォルダにのみインストールされます。Raspberry Pi を使用する際には仮想環境を使用しません。Grove インストールスクリプトは Grove Python パッケージをグローバルにインストールするため、仮想環境を使用するには仮想環境をセットアップし、その環境内に Grove パッケージを手動で再インストールする必要があります。特に多くの Raspberry Pi 開発者が各プロジェクトのためにクリーンな SD カードを再フラッシュするため、グローバルパッケージを使用する方が簡単です。

    最後に、I2C インターフェースを有効にします。

  3. 次のコマンドを実行して Raspberry Pi を再起動します:

    sudo reboot

    Raspberry Pi が再起動されると ssh セッションは終了します。再接続する必要はありません。

リモートアクセス用に VS Code を構成する

Raspberry Pi が構成されたら、コンピュータから Visual Studio Code (VS Code) を使用して接続できます。これは、Python でデバイスコードを書くために使用する無料の開発者テキストエディタです。

タスク - リモートアクセス用に VS Code を構成する

必要なソフトウェアをインストールし、Raspberry Pi にリモート接続します。

  1. VS Code ドキュメント に従って、コンピュータに VS Code をインストールします。

  2. VS Code リモート開発 SSH ドキュメント の指示に従って、必要なコンポーネントをインストールします。

  3. 同じ指示に従って、VS Code を Raspberry Pi に接続します。

  4. 接続が完了したら、拡張機能の管理 の指示に従って、Pylance 拡張機能 をリモートで Raspberry Pi にインストールします。

Hello World

新しいプログラミング言語や技術を始めるときには、すべてのツールが正しく構成されていることを示すために、"Hello World" アプリケーションを作成するのが伝統です。これは、"Hello World" というテキストを出力する小さなアプリケーションです。

Raspberry Pi の Hello World アプリは、Python と Visual Studio Code が正しくインストールされていることを確認します。

このアプリは nightlight というフォルダにあり、この課題の後の部分でナイトライトアプリケーションを構築するために異なるコードで再利用されます。

タスク - Hello World

Hello World アプリを作成します。

  1. Raspberry Pi で直接、または Remote SSH 拡張機能を使用してコンピュータから Raspberry Pi に接続して、VS Code を起動します。

  2. Terminal -> New Terminal を選択するか、CTRL+` を押して VS Code ターミナルを起動します。pi ユーザーのホームディレクトリに開きます。

  3. 次のコマンドを実行してコード用のディレクトリを作成し、そのディレクトリ内に app.py という名前の Python ファイルを作成します:

    mkdir nightlight
    cd nightlight
    touch app.py
  4. File -> Open... を選択して nightlight フォルダを選択し、OK を選択してこのフォルダを VS Code で開きます。

    The VS Code open dialog showing the nightlight folder

  5. VS Code エクスプローラーから app.py ファイルを開き、次のコードを追加します:

    print('Hello World!')

    print 関数は、渡されたものをコンソールに出力します。

  6. VS Code ターミナルから次のコマンドを実行して Python アプリを実行します:

    python app.py

    💁 Python 2 がインストールされている場合は、明示的に python3 を呼び出してこのコードを実行する必要があるかもしれません。Python 2 がインストールされている場合、python を呼び出すと Python 2 が使用されます。デフォルトでは、最新の Raspberry Pi OS バージョンには Python 3 のみがインストールされています。

    ターミナルに次の出力が表示されます:

    pi@raspberrypi:~/nightlight $ python3 app.py
    Hello World!

💁 このコードは code/pi フォルダにあります。

😀 'Hello World' プログラムは成功しました!