目次
はじめに
Azure Sphere (Microsoft Linux) の開発ボードが発売されたみたいなので、購入して Lチカ してみました。
全体の流れは公式を読んでいただいた方が詳しいので省略し、私のメモ程度の記録となりますのでご了承ください。
Azure Sphere で Lチカ が出来ました!Azureの設定周りとコマンドラインでDeviceの紐づけなどを行う必要があり結構大変だった印象?#Azure #AzureSphere pic.twitter.com/2XLOPPJ4eJ
— たっつー(ささきたかし) (@kingyo222) 2018年9月28日
手順
基本的には、公式 の説明通りの内容となります。
私は Azureアカウント・VisualStudioインストールはすで済んでいたのでその手順は飛ばしておりますのでご了承ください。
必須かどうかわかりませんが、Lチカするまでに Azure への登録、デバイスの紐づけがあるので手順が意外と多いです。
AzureSphereのアカウント設定
- Azure 登録
(私はすでにあるので省略)
- AzureSphereのユーザを作成
赤枠の項目を埋めて、ユーザを作成してください。
ユーザ名に使えるドメインは「Azure Active Directory」のメニューにある「カスタム ドメイン」を使わないとダメみたいなので気を付けてください。
開発ボードとPCを接続
- 開発ボードとPCを付属のUSBで接続
デバイスマネージャーで確認するとシリアルポートが4つ増えましたので大丈夫でそうです。(公式では3つとなっていましたが気にしない事にしましょう)
AzureSphereSDKのインストール
- ダウンロード
AzureSphereSDK をダウンロードしてインストールします。
- インストール
特に気にせずにそのままインストール
開発ボードとAzureユーザの紐づけ
- コマンドラインを起動
コマンドラインを起動し、AzureSphereSDKをインストールしたToolsフォルダに移動しましょう。私のパスはC:\Program Files (x86)\Microsoft Azure Sphere SDK\Tools
でした。
- ログイン
azsphere login
ログインが完了すると警告メッセージがでましたが次の手順で “テナント” を作成するので問題ありません。
- テナント作成
azsphere tenant create --name <my-tenant>
またログインも求められるのでログインしましょう。
- テナントとデバイスと紐づけ
このコマンドを実行すると、テナントとデバイスが紐づけられます。この紐づけは解除できないそうなので慎重に実行してください。
azsphere device claim
Wifiの設定
- Wifi接続
Wifiの設定を行います、SSIDは大文字・小文字を区別するので気を付けてください。
azsphere device wifi add --ssid <yourSSID> --key <yourNetworkKey>
- Wifiの接続確認
Wifiの接続を確認します。
azsphere device wifi show-status
私は、Wifiの設定でSSIDの大文字・小文字を間違えて指定しておりここの確認がなかなかできなかったのでご注意ください。また「azsphere deice wifi」のコマンドに設定済みを削除するコマンドがあるので間違えたら消して再度登録してください。
アップデート
- OSアップデート
azsphere device show-ota-status
特にアップデートは発生しなかったようです。
Lチカの実行
- デバイスをデバッグモードに移行
デバイスをデバッグモードにする必要があるみたいです。
azsphere device prep-debug
- VisualStudioで新規プロジェクト作成
なぜだか分からないですが、「テスト」のツリーに Azure Sphere のテンプレートが入っていました。
- 実行
F5キーもしてくは、VisualStudioの「Remote GDB Debugger」で確認が行えます。初期状態でCPUアーキテクチャが「ARM」が選択されていますね、すばらしい。
まとめ
Microsoft Linux と言ったパワーワードにひかれて購入してみましたが、Lチカするまでの手順は Raspberry・Ardiunoと比べても複雑な手順となっているなとの印象です。
IoTデバイスに対するソリューションを提供する場合はこのような手順が必要になるんだなと改めて感じました。セキュリティや、クラウドの利用など案件に適用すると必ず問題となる部分を Microsoft の答えがこれなのだと感じました。
また、今回はやっていないですが、Azure IoTサービスと連携して動作可能となります Azure IoT はデバイスと双方向でやり取りできるのでクラウド側からデバイスを管理できる仕組みを構築可能です。