United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

Microchip製のIoT開発ボード「SAM-IoT WG」 を使ってみた。

main debugging device

このIoT 開発ボードは、低消費電力の 32 ビット ARM Cortex M0+ にクラウドや、様々なセンサーを組み合わせて、OOBE (箱から出してすぐ使える状態) を実現した開発ボードになっています。

メインチップのMicrochip SAMD21 (209-7648) は、優れた機能を低消費電力で実行できるポピュラーな32 bitマイコンです。IoT アプリケーションに適しており、Arduino Zero をはじめとした、多数のメーカーのプラットフォームにも搭載されてきました。

SAM-IoT WG ボードでは、これに低消費電力 802.11 b/g/n 無線モジュール「ATWINC1510 」を加え、さらにフル機能の IDE、インボードプログラマーおよびデバッガーなど多数の機能がバンドルしています。

ハードウェア

Atmel Chip

SAM-IoT WG の主なハードウェア機能は以下のとおりです。

  • ATSAMD21G18A マイクロコントローラー
  • ATWINC1510 モジュール
  • ATECC608A セキュアエレメント
  • MCP9808 温度センサー
  • 組込みデバッガー (nEDBG)
  • MCP73871 LiPoチャージャー
  • TEMT6000 光センサー
  • 拡張用 mikroBUS コネクタ―(Click Board 経由)
  • 状態表示 LED

特に優れた機能の1つは、シリアルポートインターフェイスへのアクセスを提供するNano Embedded Debugger(nEDBG)で、ドラッグ・アンド・ドロップだけでUSBメモリやシリアルポートにアクセスできたり、提供されたIDEからSWDに直接プログラミングを書き込んだり、SAMD21でデバッグすることが可能です。

触ってみた

curiosity software

ボードを PCにUSB接続すると、記憶ドライブが認識され、この中に CLICK-ME.HTM という名前のファイルがあります。

microchip website

ファイルをクリックすると、ブラウザが起動し、 Microchip 社のウェブサイトが表示されます。そこで、最新のファームウェアに更新するよう求められます。HEX ファイルのダウンロードが完了すると、ボードを更新するために、このファイルを USB 記憶ドライブへドラッグ・アンド・ドロップできるようになります。

このウェブページには、 WiFi ネットワーク情報を入力できるフォームもあります。

wifi config

WIFI.CFG という名前のファイルがダウンロードされ、再び、 USB 記憶ドライブ内にに保存する必要があります。

この段階で SAM-IoT ボード WiFi は設定されているので、ローカルネットワークに接続できるはずです。残念なことに、我々が試した時は、エラーを示す LED が点灯したままの状態でした。念のため、上記の手順を数回くり返してみましたが、問題は解消されませんでした。

Terminal Serial setup

しかし、次に行う手順は、Linux で/dev/ttyACM0といったように、ボードとして表示されるUSB シリアルポートに接続するだけなので、問題はありません。

wifi logon

上のスクリーンショットではSSID およびパスワードが消されていますが、実際に入力されたコマンドは次の通りです。

wifi SSID, PASSWORD, 2

最後のオプションである “2”は、 WPA/WPA2 セキュリティーを使用するということを意味します。オープンネットワークに対しては”1“を、WEP に対しては“3”を使用します。すべてのコマンドラインインターフェースの詳細は、次を参照してください。SAM-IoT WG Development Board User Guide.trace plots

この時点でボードは WiFi ネットワークに接続され、再度ウェブページを確認すると、今度は光センサーおよび温度センサーのプロットが表示されます。

最初の部分で多少問題は起こりましたが、あっという間に正常に設定を済まし、センサーデータを WiFi 経由でボードからストリーミングし、ブラウザに表示させることができました。

では次に、ファームウェア開発ツールのセットアップを見ていきましょう。

MPLAB X IDE

setting up the IDE

先ほど読み込んだページにはもっと下のほうに「What’s Next (次にすること)」という見出しのセクションがあり、そこには「Build Your Sensor Code (センサーコードの自作)」というサブセクションがあります。また、ここでは、次のものをインストールするよう指示があります。

  1. MPLAB X IDE 5.40以降 (ダウンロード)
  2. MPLAB XC32 Compiler v2.41 以降 (ダウンロード)
  3. MPLAB Harmony v3 Configurator v3.41 以降 (IDE からインストール済み)

IDE および C コンパイラーのダウンロード完了後、次のコマンドでインストールを行いました。

$ tar xvf MPLABX-v5.40-linux-installer.tar

$ sudo ./MPLABX-v5.40-linux-installer.sh

$ chmod +x xc32-v2.50-full-install-linux-installer.run

$ sudo ./xc32-v2.50-full-install-linux-installer.run

コマンドを入力した際に、既定のオプションが選択されました。

開始ページのメモにもあるように、詳細についてはインストールガイドをご覧ください。

kit window view

MPLAB X IDE 開始時に USB でボードを接続していた場合、 Kit Window にwelcomeメッセージが表示され、SAM-IoT WG が検出されたことがわかります。また、2つのアップデートが利用可能だという吹き出しが表示されたので、インストールを選択しました。

select harmony

MPLAB Harmony コンフィギュレーターをインストールするには、Tools (ツール) > Plugins (プラグイン) と進んで、次に”MPLAB Harmony Configurator”を Available Plugins (利用可能プラグイン) の一覧から選択し、 Install (インストール) を選択しました。開発ツールのセットアップはこれで完了です。

load and open project

先ほど、最新のファームウェアをダウンロードするよう指示があった時にダウンロードしたこの ZIP ファイルには、コンパイルされたバイナリー HEX ファイルだけではなく、ソースコードも入っていました。File (ファイル) > Open Project (プロジェクトを開く) と選択し、sam_d21_iot_wg.X を選択することでプロジェクトを IDE に読み込むことが可能です。

example project

ここでは、ソースコードを調べ、ライブラリーなどを確認できます。内容を変更したり、プロジェクトを作成したり、ボードをプログラムしたりすることも可能です。名前からわかる通り、このプログラムは、センサーからデータをストリームするために、Google Cloud IoT Coreプラットフォームを活用するというものです。

この例をベースとし、変更を加えることで、取り付けられた別のセンサーを使用するものや、異なる IoT サービスを用いるものを作ることが可能です。

GCPとFirebase

Google cloud platform configuration

開けてすぐに実行したデモから、これほど素早く、正常にセンサーデータをストリーミングできるのも、アプリケーションファームウェアが、安全なデバイス接続サービス、管理サービスを備えた Google Cloud IoT Coreや、ユーザーインターフェースホスティングプラットフォームと組み合わせた、リアルタイムデータベースを提供するFirebaseに統合されているおかげです。

サンプルでは、サンドボックス環境を、開封直後のデモに対して使用しており、ユーザーインターフェースのカスタマイズや、データ表示方法の変更、新たなデバイスやセンサーなどの追加をする場合には、GCP でアカウントを作成する必要があります。サンプルプロジェクトはGitHub上にあり、ここでは、セットアップ、デバイスキーの登録およびファームウェアの更新などの手順も記載されています。

まとめ

SAM-IoT WG は、優れたボードで、ハードウェアからソフトウェア、さらにはクラウドサービスまで、必要なものすべてを提供してくれるので、簡単に動作させることが可能です。非常に高い能力を持っていても、低消費電力の ARM Cortex M0+ MCU で駆動するような、IoT アプリケーションのプロトタイピングに最適です。

アンドリュー・バック

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.