仮想シングルボードコンピュータ
センサーやアクチュエーターを備えたIoTデバイスを購入する代わりに、コンピュータを使用してIoTハードウェアをシミュレートすることができます。CounterFitプロジェクトを使用すると、センサーやアクチュエーターのようなIoTハードウェアをエミュレートするローカルアプリを実行できます。これらのセンサーやアクチュエーターには、物理的なハードウェアを備えたRaspberry Piで使用するコードと同様に記述されたローカルPythonコードからアクセスできます。
セットアップ
CounterFitを始めるには、コンピュータにいくつかの無料ソフトウェアをインストールする必要があります。
タスク
必要なソフトウェアをインストールします。
-
Pythonをインストールします。最新バージョンのPythonをインストールする手順については、Pythonダウンロードページを参照してください。
-
Visual Studio Code (VS Code) をインストールします。これは、Pythonで仮想デバイスコードを記述するために使用するエディタです。インストール手順については、VS Codeドキュメントを参照してください。
💁 これらのレッスンではVS Codeを使用する手順に基づいていますが、好みのPython IDEやエディタを使用することもできます。
-
VS Code Pylance拡張機能をインストールします。この拡張機能は、VS CodeでPython言語サポートを提供します。インストール手順については、Pylance拡張機能ドキュメントを参照してください。
CounterFitアプリのインストールと設定の手順は、プロジェクトごとにインストールされるため、適切なタイミングで課題の指示に従って提供されます。
Hello World
新しいプログラミング言語や技術を始めるときには、「Hello World」アプリケーションを作成するのが慣例です。この小さなアプリケーションは、すべてのツールが正しく構成されていることを確認するために「Hello World」のようなテキストを出力します。
仮想IoTハードウェアのHello Worldアプリは、PythonとVisual Studio Codeが正しくインストールされていることを確認します。また、CounterFitに接続して仮想IoTセンサーやアクチュエーターを使用します。ハードウェアは使用せず、すべてが正常に動作していることを確認するために接続するだけです。
このアプリは「nightlight」というフォルダにあり、この課題の後の部分でナイトライトアプリケーションを構築するために異なるコードで再利用されます。
Python仮想環境の設定
Pythonの強力な機能の1つは、他の人が書いてオンラインで公開したコードのパッケージであるPipパッケージをインストールできることです。1つのコマンドでPipパッケージをコンピュータにインストールし、コードで使用できます。CounterFitと通信するためのパッケージをインストールするためにPipを使用します。
デフォルトでは、パッケージをインストールすると、コンピュータ全体で利用可能になりますが、これによりバージョンの競合が発生する可能性があります。あるアプリケーションはあるバージョンのパッケージに依存しているが、別のアプリケーションのために新しいバージョンをインストールすると壊れることがあります。これを避けるために、Python仮想環境を使用できます。これは、専用フォルダ内のPythonのコピーです。Pipパッケージをインストールすると、それらはそのフォルダ内にのみインストールされます。
💁 Raspberry Piを使用している場合、そのデバイスでPipパッケージを管理するために仮想環境を設定しません。代わりに、グローバルパッケージを使用しています。Groveパッケージはインストーラースクリプトによってグローバルにインストールされます。
タスク - Python仮想環境の設定
Python仮想環境を設定し、CounterFitのPipパッケージをインストールします。
-
ターミナルまたはコマンドラインから、次のコマンドを任意の場所で実行して新しいディレクトリを作成し、移動します:
mkdir nightlight
cd nightlight -
次のコマンドを実行して、
.venv
フォルダに仮想環境を作成します:python3 -m venv .venv
💁 Python 2がインストールされている場合に備えて、仮想環境を作成するために
python3
を明示的に呼び出す必要があります。Python 2がインストールされている場合、python
を呼び出すとPython 2が使用されます。 -
仮想環境をアクティブにします:
-
Windowsの場合:
-
コマンドプロンプトまたはWindowsターミナル経由のコマンドプロンプトを使用している場合、次のコマンドを実行します:
.venv\Scripts\activate.bat
-
PowerShellを使用している場合、次のコマンドを実行します:
.\.venv\Scripts\Activate.ps1
スクリプトの実行がこのシステムで無効になっているというエラーが表示された場合、適切な実行ポリシーを設定してスクリプトの実行を有効にする必要があります。これを行うには、管理者としてPowerShellを起動し、次のコマンドを実行します:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
確認を求められたら
Y
を入力します。その後、PowerShellを再起動して再試行します。必要に応じて、後でこの実行ポリシーをリセットできます。詳細については、Microsoft Docsの実行ポリシーページを参照してください。
-
-
macOSまたはLinuxの場合、次のコマンドを実行します:
source ./.venv/bin/activate
💁 これらのコマンドは、仮想環境を作成するためにコマンドを実行したのと同じ場所から実行する必要があります。
.venv
フォルダに移動する必要はありません。仮想環境をアクティブにするコマンドやパッケージをインストールするコマンド、コードを実行するコマンドは、仮想環境を作成したフォルダから実行します。 -
-
仮想環境が アクティブになると、デフォルトの
python
コマンドは仮想環境を作成するために使用されたPythonのバージョンを実行します。次のコマンドを実行してバージョンを確認します:python --version
出力は次のようになります:
(.venv) ➜ nightlight python --version
Python 3.9.1💁 Pythonのバージョンは異なる場合があります。バージョン3.6以上であれば問題ありません。そうでない場合は、このフォルダを削除し、新しいバージョンのPythonをインストールして再試行してください。
-
次のコマンドを実行して、CounterFitのPipパッケージをインストールします。これらのパッケージには、メインのCounterFitアプリとGroveハードウェア用のシムが含まれています。これらのシムを使用すると、物理的なセンサーやアクチュエーターを使用しているかのようにコードを記述できますが、仮想IoTデバイスに接続されます。
pip install CounterFit
pip install counterfit-connection
pip install counterfit-shims-grove