こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
この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、インボードプログラマーおよびデバッガーなど多数の機能がバンドルしています。
ハードウェア
SAM-IoT WG の主なハードウェア機能は以下のとおりです。
- ATSAMD21G18A マイクロコントローラー
- ATWINC1510 モジュール
- ATECC608A セキュアエレメント
- MCP9808 温度センサー
- 組込みデバッガー (nEDBG)
- MCP73871 LiPoチャージャー
- TEMT6000 光センサー
- 拡張用 mikroBUS コネクタ―(Click Board 経由)
- 状態表示 LED
特に優れた機能の1つは、シリアルポートインターフェイスへのアクセスを提供するNano Embedded Debugger(nEDBG)で、ドラッグ・アンド・ドロップだけでUSBメモリやシリアルポートにアクセスできたり、提供されたIDEからSWDに直接プログラミングを書き込んだり、SAMD21でデバッグすることが可能です。
触ってみた
ボードを PCにUSB接続すると、記憶ドライブが認識され、この中に CLICK-ME.HTM という名前のファイルがあります。
ファイルをクリックすると、ブラウザが起動し、 Microchip 社のウェブサイトが表示されます。そこで、最新のファームウェアに更新するよう求められます。HEX ファイルのダウンロードが完了すると、ボードを更新するために、このファイルを USB 記憶ドライブへドラッグ・アンド・ドロップできるようになります。
このウェブページには、 WiFi ネットワーク情報を入力できるフォームもあります。
WIFI.CFG という名前のファイルがダウンロードされ、再び、 USB 記憶ドライブ内にに保存する必要があります。
この段階で SAM-IoT ボード WiFi は設定されているので、ローカルネットワークに接続できるはずです。残念なことに、我々が試した時は、エラーを示す LED が点灯したままの状態でした。念のため、上記の手順を数回くり返してみましたが、問題は解消されませんでした。
しかし、次に行う手順は、Linux で/dev/ttyACM0といったように、ボードとして表示されるUSB シリアルポートに接続するだけなので、問題はありません。
上のスクリーンショットではSSID およびパスワードが消されていますが、実際に入力されたコマンドは次の通りです。
wifi SSID, PASSWORD, 2
最後のオプションである “2”は、 WPA/WPA2 セキュリティーを使用するということを意味します。オープンネットワークに対しては”1“を、WEP に対しては“3”を使用します。すべてのコマンドラインインターフェースの詳細は、次を参照してください。SAM-IoT WG Development Board User Guide.
この時点でボードは WiFi ネットワークに接続され、再度ウェブページを確認すると、今度は光センサーおよび温度センサーのプロットが表示されます。
最初の部分で多少問題は起こりましたが、あっという間に正常に設定を済まし、センサーデータを WiFi 経由でボードからストリーミングし、ブラウザに表示させることができました。
では次に、ファームウェア開発ツールのセットアップを見ていきましょう。
MPLAB X IDE
先ほど読み込んだページにはもっと下のほうに「What’s Next (次にすること)」という見出しのセクションがあり、そこには「Build Your Sensor Code (センサーコードの自作)」というサブセクションがあります。また、ここでは、次のものをインストールするよう指示があります。
- MPLAB X IDE 5.40以降 (ダウンロード)
- MPLAB XC32 Compiler v2.41 以降 (ダウンロード)
- 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
コマンドを入力した際に、既定のオプションが選択されました。
開始ページのメモにもあるように、詳細についてはインストールガイドをご覧ください。
MPLAB X IDE 開始時に USB でボードを接続していた場合、 Kit Window にwelcomeメッセージが表示され、SAM-IoT WG が検出されたことがわかります。また、2つのアップデートが利用可能だという吹き出しが表示されたので、インストールを選択しました。
MPLAB Harmony コンフィギュレーターをインストールするには、Tools (ツール) > Plugins (プラグイン) と進んで、次に”MPLAB Harmony Configurator”を Available Plugins (利用可能プラグイン) の一覧から選択し、 Install (インストール) を選択しました。開発ツールのセットアップはこれで完了です。
先ほど、最新のファームウェアをダウンロードするよう指示があった時にダウンロードしたこの ZIP ファイルには、コンパイルされたバイナリー HEX ファイルだけではなく、ソースコードも入っていました。File (ファイル) > Open Project (プロジェクトを開く) と選択し、sam_d21_iot_wg.X を選択することでプロジェクトを IDE に読み込むことが可能です。
ここでは、ソースコードを調べ、ライブラリーなどを確認できます。内容を変更したり、プロジェクトを作成したり、ボードをプログラムしたりすることも可能です。名前からわかる通り、このプログラムは、センサーからデータをストリームするために、Google Cloud IoT Coreプラットフォームを活用するというものです。
この例をベースとし、変更を加えることで、取り付けられた別のセンサーを使用するものや、異なる IoT サービスを用いるものを作ることが可能です。
GCPとFirebase
開けてすぐに実行したデモから、これほど素早く、正常にセンサーデータをストリーミングできるのも、アプリケーションファームウェアが、安全なデバイス接続サービス、管理サービスを備えた Google Cloud IoT Coreや、ユーザーインターフェースホスティングプラットフォームと組み合わせた、リアルタイムデータベースを提供するFirebaseに統合されているおかげです。
サンプルでは、サンドボックス環境を、開封直後のデモに対して使用しており、ユーザーインターフェースのカスタマイズや、データ表示方法の変更、新たなデバイスやセンサーなどの追加をする場合には、GCP でアカウントを作成する必要があります。サンプルプロジェクトはGitHub上にあり、ここでは、セットアップ、デバイスキーの登録およびファームウェアの更新などの手順も記載されています。
まとめ
SAM-IoT WG は、優れたボードで、ハードウェアからソフトウェア、さらにはクラウドサービスまで、必要なものすべてを提供してくれるので、簡単に動作させることが可能です。非常に高い能力を持っていても、低消費電力の ARM Cortex M0+ MCU で駆動するような、IoT アプリケーションのプロトタイピングに最適です。
コメント