Wio Terminal
Seeed StudiosのWio Terminalは、WiFi、センサー、アクチュエーターが内蔵されたArduino互換のマイクロコントローラーです。また、Groveハードウェアエコシステムを通じて追加のセンサーやアクチュエーター用のポートも備えています。
セットアップ
Wio Terminalを始めるには、コンピューターにいくつかの無料ソフトウェアをインストールし、WiFi接続を有効にするためにWio Terminalのファームウェアを更新する必要があります。
タスク - セットアップ
必要なソフトウェアをインストールし、ファームウェア を更新します。
-
デバイスコードをC/C++で記述するためのエディターであるVisual Studio Code (VS Code)をインストールします。インストール手順についてはVS Codeのドキュメントを参照してください。
💁 Arduino開発のためのもう一つの人気のあるIDEはArduino IDEです。このツールに既に慣れている場合は、VS CodeとPlatformIOの代わりに使用することができますが、レッスンではVS Codeを使用する手順を提供します。
-
マイクロコントローラーをC/C++でプログラムするためのVS Code PlatformIO拡張機能をインストールします。インストール手順についてはPlatformIO拡張機能のドキュメントを参照してください。この拡張機能にはMicrosoft C/C++拡張機能が必要で、PlatformIOと一緒に自動的にインストールされます。
-
Wio TerminalをコンピューターにUSB-Cポートを使用して接続します。Wio TerminalにはUSB-CからUSB-Aケーブルが付属していますが、コンピューターにUSB-Cポートしかない場合は、USB-CケーブルまたはUSB-AからUSB-Cアダプターが必要です。
-
Wio Terminal Wiki WiFi Overviewドキュメントの指示に従って、Wio Terminalをセットアップし、ファームウェアを更新します。
Hello World
新しいプログラミング言語や技術を始める伝統的な方法は、「Hello World」アプリケーションを作成することです。この小さなアプリケーションは、すべてのツールが正しく構成されていることを確認するために"Hello World"
というテキストを出力します。
Wio TerminalのHello Worldアプリは、Visual Studio CodeがPlatformIOと共に正しくインストールされ、マイクロコントローラー開発のためにセットアップされていることを確認します。
PlatformIOプロジェクトを作成する
最初のステップは、Wio Terminal用に構成されたPlatformIOを使用して新しいプロジェクトを作成することです。
タスク - PlatformIOプロジェクトを作成する
PlatformIOプロジェクトを作成します。
-
Wio Terminalをコンピュータ ーに接続します
-
Visual Studio Codeを起動します
-
サイドメニューバーにあるPlatformIOアイコンを見つけます:
このメニュー項目をクリックし、PIO Home -> Openを選択します
-
ウェルカム画面から、+ New Projectボタンをクリックします
-
Project Wizardでプロジェクトを構成します:
-
プロジェクト名を
nightlight
にします -
Boardドロップダウンで
WIO
と入力してボードをフィルタリングし、Seeeduino Wio Terminalを選択します -
FrameworkはArduinoのままにします
-
Use default locationチェックボックスをチェックしたままにするか、チェックを外してプロジェクトの場所を選択します
-
Finishボタンをクリックします
PlatformIOは、Wio Terminal用のコードをコンパイ ルするために必要なコンポーネントをダウンロードし、プロジェクトを作成します。このプロセスには数分かかることがあります。
-
PlatformIOプロジェクトを探索する
VS Codeエクスプローラーには、PlatformIOウィザードによって作成された複数のファイルとフォルダーが表示されます。
フォルダー
.pio
- このディレクトリには、PlatformIOが必要とする一時データ(ライブラリやコンパイルされたコードなど)が含まれています。削除されても自動的に再作成され、GitHubなどのプラットフォームでプロジェクトを共有する際にソースコード管理に含める必要はありません。.vscode
- このディレクトリには、PlatformIOとVS Codeが使用する構成ファイルが含まれています。削除されても自動的に再作成され、GitHubなどのプラットフォームでプロジェクトを共有する際にソースコード管理に含める必要はありません。include
- このディレクトリは、コードに追加のライブラリを追加する際に必要な外部ヘッダーファイル用です。これらのレッスンではこ のディレクトリを使用しません。lib
- このディレクトリは、コードから呼び出す外部ライブラリ用です。これらのレッスンではこのディレクトリを使用しません。src
- このディレクトリには、アプリケーションのメインソースコードが含まれています。最初はmain.cpp
という1つのファイルが含まれています。test
- このディレクトリには、コードのユニットテストを配置します。
ファイル
-
main.cpp
-src
ディレクトリにあるこのファイルには、アプリケーションのエントリーポイントが含まれています。このファイルを開くと、次のコードが含まれています:#include <Arduino.h>
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}デバイスが起動すると、Arduinoフレームワークは
setup
関数を一度実行し、その後loop
関数をデバイスがオフになるまで繰り返し実行します。 -
.gitignore
- このファイルには、Gitソースコード管理に追加する際に無視するファイルやディレクトリがリストされています。例えば、GitHubにリポジトリをアップロードする場合などです。 -
platformio.ini
- このファイルには、デバイスとアプリの構成が含まれています。このファイルを開くと、次のコードが含まれています:[env:seeed_wio_terminal]
platform = atmelsam
board = seeed_wio_terminal
framework = arduino[env:seeed_wio_terminal]
セクションには、Wio Terminalの構成が含まれています。複数のenv
セクションを持つことができ、複数のボード用にコードをコンパイルすることができます。他の値はプロジェクトウィザードの構成と一致します:
platform = atmelsam
は、Wio Terminalが使用するハードウェア(ATSAMD51ベースのマイクロコントローラー)を定義します。board = seeed_wio_terminal
は、マイクロコントローラーボードの種類(Wio Terminal)を定義します。framework = arduino
は、このプロジェクトがArduinoフレームワークを使用していることを定義します。
Hello Worldアプリを書く
Hello Worldアプリを書く準備が整いました。
タスク - Hello Worldアプリを書く
Hello Worldアプリを書きます。
-
VS Codeで
main.cpp
ファイルを開きます。 -
コードを次のように変更します:
#include <Arduino.h>
void setup()
{
Serial.begin(9600);
while (!Serial)
; // シリアルが準備完了するまで待つ
delay(1000);
}
void loop()
{
Serial.println("Hello World");
delay(5000);
}setup
関数はシリアルポートへの接続を初期化します - この場合、Wio Terminalをコンピューターに接続するために使用されるUSBポートです。パラメーター9600
はボーレート(シンボルレートとも呼ばれます)で、シリアルポートを介してデータが送信される速度(ビット毎秒)です。この設定は、毎秒9,600ビット(0と1)のデータが送信されることを意味します。その後、シリアルポートが準備完了するまで待ちます。loop
関数は、シリアルポートにHello World!
という行を送信します。これにより、Hello World!
の文字と改行文字が送信されます。その後、5,000ミリ秒(5秒)間スリープします。loop
が終了すると、再び実行され、マイクロコントローラーが電源オンの間ずっと繰り返されます。 -
Wio Terminalをアップロードモードにします。新 しいコードをデバイスにアップロードするたびにこれを行う必要があります:
-
電源スイッチを2回素早く下に引きます - 各回でオンの位置に戻ります。
-
USBポートの右側にある青いステータスLEDを確認します。パルスしているはずです。
これを行う方法を示すビデオを見るには、上の画像をクリックしてください。
-
-
コードをビルドしてWio Terminalにアップロードします。
-
VS Codeのコマンドパレットを開きます。
-
アップロードオプションを検索するために
PlatformIO Upload
と入力し、PlatformIO: Uploadを選択します。PlatformIOは必要に応じてコードを自動的にビルドしてからアップロードします。
-
コードがコンパイルされ、Wio Terminalにアップロードされます。
💁 macOSを使用している場合、DISK NOT EJECTED PROPERLYという通知が表示されます。これは、Wio Terminalがフラッシュプロセスの一部としてドライブとしてマウントされ、コンパイルされたコードがデバイスに書き込まれると切断されるためです。この通知は無視して構いません。
⚠️ アップロードポートが利用でき ないというエラーが表示された場合、まずWio Terminalがコンピューターに接続されていること、画面の左側にあるスイッチでオンにされ、アップロードモードに設定されていることを確認してください。下の緑色のライトが点灯し、青色のライトがパルスしているはずです。それでもエラーが発生する場合は、オン/オフスイッチを再び素早く2回下に引いてWio Terminalを強制的にアップロードモードにし、再度アップロードを試みてください。
-
PlatformIOには、Wio TerminalからUSBケーブルを介して送信されるデータを監視できるシリアルモニターがあります。これにより、Serial.println("Hello World");
コマンドによって送信されるデータを監視できます。
-
VS Codeのコマンドパレットを開きます。
-
シリアルモニターオプションを検索するために
PlatformIO Serial
と入力し、PlatformIO: Serial Monitorを選択します。新しいターミナルが開き、シリアルポートを介して送信されたデータがこのターミナルにストリーミングされます:
> Executing task: platformio device monitor <
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
Hello World
Hello WorldHello World
が5秒ごとにシリアルモニターに表示されます。
💁 このコードはcode/wio-terminalフォルダーにあります。
😀 'Hello World'プログラムが成功しました !