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

Wio Terminal

Seeed StudiosのWio Terminalは、WiFi、センサー、アクチュエーターが内蔵されたArduino互換のマイクロコントローラーです。また、Groveハードウェアエコシステムを通じて追加のセンサーやアクチュエーター用のポートも備えています。

Seeed studiosのWio Terminal

セットアップ

Wio Terminalを始めるには、コンピューターにいくつかの無料ソフトウェアをインストールし、WiFi接続を有効にするためにWio Terminalのファームウェアを更新する必要があります。

タスク - セットアップ

必要なソフトウェアをインストールし、ファームウェアを更新します。

  1. デバイスコードをC/C++で記述するためのエディターであるVisual Studio Code (VS Code)をインストールします。インストール手順についてはVS Codeのドキュメントを参照してください。

    💁 Arduino開発のためのもう一つの人気のあるIDEはArduino IDEです。このツールに既に慣れている場合は、VS CodeとPlatformIOの代わりに使用することができますが、レッスンではVS Codeを使用する手順を提供します。

  2. マイクロコントローラーをC/C++でプログラムするためのVS Code PlatformIO拡張機能をインストールします。インストール手順についてはPlatformIO拡張機能のドキュメントを参照してください。この拡張機能にはMicrosoft C/C++拡張機能が必要で、PlatformIOと一緒に自動的にインストールされます。

  3. Wio TerminalをコンピューターにUSB-Cポートを使用して接続します。Wio TerminalにはUSB-CからUSB-Aケーブルが付属していますが、コンピューターにUSB-Cポートしかない場合は、USB-CケーブルまたはUSB-AからUSB-Cアダプターが必要です。

  4. 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プロジェクトを作成します。

  1. Wio Terminalをコンピューターに接続します

  2. Visual Studio Codeを起動します

  3. サイドメニューバーにあるPlatformIOアイコンを見つけます:

    Platform IOメニューオプション

    このメニュー項目をクリックし、PIO Home -> Openを選択します

    Platform IOオープンオプション

  4. ウェルカム画面から、+ New Projectボタンをクリックします

    新しいプロジェクトボタン

  5. Project Wizardでプロジェクトを構成します:

    1. プロジェクト名をnightlightにします

    2. BoardドロップダウンでWIOと入力してボードをフィルタリングし、Seeeduino Wio Terminalを選択します

    3. FrameworkArduinoのままにします

    4. Use default locationチェックボックスをチェックしたままにするか、チェックを外してプロジェクトの場所を選択します

    5. 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アプリを書きます。

  1. VS Codeでmain.cppファイルを開きます。

  2. コードを次のように変更します:

    #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が終了すると、再び実行され、マイクロコントローラーが電源オンの間ずっと繰り返されます。

  3. Wio Terminalをアップロードモードにします。新しいコードをデバイスにアップロードするたびにこれを行う必要があります:

    1. 電源スイッチを2回素早く下に引きます - 各回でオンの位置に戻ります。

    2. USBポートの右側にある青いステータスLEDを確認します。パルスしているはずです。

    Wio Terminalをアップロードモードにする方法を示すビデオ

    これを行う方法を示すビデオを見るには、上の画像をクリックしてください。

  4. コードをビルドしてWio Terminalにアップロードします。

    1. VS Codeのコマンドパレットを開きます。

    2. アップロードオプションを検索するためにPlatformIO Uploadと入力し、PlatformIO: Uploadを選択します。

      コマンドパレットのPlatformIOアップロードオプション

      PlatformIOは必要に応じてコードを自動的にビルドしてからアップロードします。

    3. コードがコンパイルされ、Wio Terminalにアップロードされます。

      💁 macOSを使用している場合、DISK NOT EJECTED PROPERLYという通知が表示されます。これは、Wio Terminalがフラッシュプロセスの一部としてドライブとしてマウントされ、コンパイルされたコードがデバイスに書き込まれると切断されるためです。この通知は無視して構いません。

    ⚠️ アップロードポートが利用できないというエラーが表示された場合、まずWio Terminalがコンピューターに接続されていること、画面の左側にあるスイッチでオンにされ、アップロードモードに設定されていることを確認してください。下の緑色のライトが点灯し、青色のライトがパルスしているはずです。それでもエラーが発生する場合は、オン/オフスイッチを再び素早く2回下に引いてWio Terminalを強制的にアップロードモードにし、再度アップロードを試みてください。

PlatformIOには、Wio TerminalからUSBケーブルを介して送信されるデータを監視できるシリアルモニターがあります。これにより、Serial.println("Hello World");コマンドによって送信されるデータを監視できます。

  1. VS Codeのコマンドパレットを開きます。

  2. シリアルモニターオプションを検索するためにPlatformIO Serialと入力し、PlatformIO: Serial Monitorを選択します。

    コマンドパレットのPlatformIOシリアルモニターオプション

    新しいターミナルが開き、シリアルポートを介して送信されたデータがこのターミナルにストリーミングされます:

    > 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 World

    Hello Worldが5秒ごとにシリアルモニターに表示されます。

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

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