Azure

Azure Sphere MT3620 始めました。サンプルアプリがとりあえず動くまで編。

はじめに

Microsoftがセキュリティ確保を目的に発表したIoTソリューションのひとつである、Azure Sphere!
・セキュリティ保護されたMCU
・セキュリティ保護されたOS
・クラウドのセキュリティ

Linux搭載ですが、CUIでコマンド叩いてごりごりみたいな仕様ではないです。
その他、詳しい解説は本家のサイトに任せて。
https://azure.microsoft.com/ja-jp/services/azure-sphere/
実際に動作させるまで(とりあえず動くまで)をAzure Sphereのドキュメントを元に解説していきたいと思います。

開封の儀

今回、日本で実際に購入可能なAzure SphereのボードはseeedのAzure Sphere MT3620 Development Kit_JP Version になります。下記にスペックが書いてあります。
https://www.seeedstudio.com/Azure-Sphere-MT3620-Development-KitJP-Version-p-3135.html
秋葉原では秋月電子で購入可能でした。店頭に行く場合は在庫を確認してから向かいましょう。
ちなみに店頭には並べられてないので店員に聞きましょう(買う人いないのかなw
http://akizukidenshi.com/catalog/g/gM-13677/




見た目はちょっとカッコイイですね(なにが

ようこそAzure Sphere

ボードを動かすためにAzure Sphereのドキュメントにならって進めていきたいと思います。
最初にやることリスト。
https://docs.microsoft.com/en-us/azure-sphere/install/overview
・Azure SphereのSDKをインストールします。
・Azure Sphereを使うためにアカウントのセットアップをします。
・デバイスのクレーム設定します
・Wi-Fiの設定をします

Azure Sphere SDKをインストール

最初にボードをPCに接続して問題なく認識するか確認します。
注意:ボード(COMポート)を認識してからSDKをインストールする順番を守りましょう。再インストールすることになります。
ボードを接続後、デバイスマネージャーを開き確認しますが、ドライバがないためOther deviceと認識されます。

そこで、ドライバのアップデートをします。

自動アップデートで認識すると思います。

COMポートが振り当てられれたことを確認します。

Azure SphereのSDKをインストールします。
https://docs.microsoft.com/en-us/azure-sphere/install/install

OpenVPN TAP Driverを使用するようです。

おっとVSのバージョンが古いと下のようなエラーがでます。その場合はVSをアップデートしましょう。

Azure Sphereを使うためにアカウントのセットアップ

https://docs.microsoft.com/en-us/azure-sphere/install/azure-directory-account

Azure Sphereを利用するにはAzureADを利用する必要があります。しかも「仕事/学校のアカウント」が必要となります。
MSアカウントでは利用できません。
確認する方法は開発コマンドプロンプトを利用します。
azsphereと入力し利用したいアカウントにログインします。

アカウントが利用できない場合は下記のようなエラーがでます。

利用できるアカウントを持っていない場合は新しアカウントを作成します。
https://account.azure.com/organization
必要事項を入力します。

デバイスのクレーム設定

https://docs.microsoft.com/en-us/azure-sphere/install/claim-device要は、デバイスをAzureに登録します。

デバイスがPCに接続されていることを確認します。
確認する方法は開発コマンドプロンプトを利用します。
azsphere loginと入力し利用したいアカウントにログインします。

ログインが完了後、Azure Sphereテナントが見つからないと表示されます。

テナントを作成します。

再ログインを求められます。

作成が完了すると以下の様に表示されます。

ここで、作成が失敗する場合があります。
デバイスがAzure Sphere SDKに認識されていない場合です。
デバイスをWindowsで認識させる前にSDKをインストールした場合に起こる可能性があります。
その場合は、SDKを再インストールが必要です。

azsphere device claim Claimします。

次にWi-Fiの設定を行います。

Wi-Fiの設定

https://docs.microsoft.com/en-us/azure-sphere/install/configure-wifi
ここではAzure IoT Hubなどのサービスと通信ができる様にデバイスの設定を行います。
OSのアップデートやOTAアップデートを行います。

デバイスが接続されていることを確認します。

azsphere device wifi show-statusでMACアドレスを確認します。

azsphere device wifi addでWi-Fiの設定を行います。

Wi-Fiの状態を確認します。

IPが振られていることを確認します。

Azure SphereのOS、OTAのアップデートを行います。
azsphere device show-ota-status

以上でAzure Sphereを利用するまでのセットアップは完了ですが、以降では実際にアプリケーションをデプロイしていきたいと思います。

Blinkサンプルアプリケーションをビルド

デバイスのprep debugを有効化します。
有効化することでPCからアプリケーションを受け入れるように設定します。
https://docs.microsoft.com/en-us/azure-sphere/quickstarts/qs-blink-application

azsphere device prep-debug

サンプルアプリケーションをビルドします。
VS2017を開きます。そして新規にプロジェクトを作成します。
メニュー「ファイル」→「新規作成」→「プロジェクト」
「Blink Sample for MT3620 RDB(Azure Sphere)」を選択しOKをクリックします。

「maiin.c」に 「 if (newButtonState == GPIO_Value_Low)」行があります。F9を押下しブレイクポイントに設定します。

リモートデバッカを起動します。

起動すると、1番が点滅します。

VS側では変数値が表示されます。

デバック情報や逆アセンブルなどの情報を表示できます。

ボタンAを押すと3段階で点灯速度が変化します。試してみましょう。
終了する場合はデバックの停止(もしくはShift+F5)で停止します。

簡単な動作確認はこれ終了です。
これ以外にもクイックスタートではWifi経由でアプリケーションを展開する方法も書かれています。
https://docs.microsoft.com/en-us/azure-sphere/quickstarts/qs-first-deployment

まとめ

とりあえず動くまでということでチュートリアルにそった形で試しました。
Azure SphereということだけあってAzureに登録しないと動作しない(?)というのが肝かもしれません。
管理ができるという点ではセキュアなのかな?
ボードのみなので大したことはできない状態ですが、近々販売開始されるGrove Starter Kitを手に入れてAzure IoT Hubと連携して遊びたい思います。
https://www.seeedstudio.com/Grove-Starter-Kit-for-Azure-Sphere-MT3620-Development-Kit-p-3150.html

Related post

  1. Azure

    FortiGate NGFW VMをマーケットプレイスから立ち上げてみた。

    はじめにくどうですオンプレを扱っていた時に慣れ浸しんだ、F…

  2. Azure

    AzureでFreeBSD!Marketplaceから簡単に利用できるようになった。

    はじめにくどうですあなたはFreeBSDユーザーですか?…

  3. Azure

    Azure Backup V2 !これで仮想マシンのバックアップは大丈夫。

    はじめにくどうですやっと、リソースマネージャーでも仮想マシ…

  4. Azure

    Azure PowerShell のインストールで注意すること。あれ? Azure Resource…

    はじめにくどうです。最近、PCを入れ替えてAzure PowerS…

  5. AWS

    Azureの機能を一覧にしてみました。

    最近、Azureの進化が止まらないので自分でも整理するために出力してみ…

  6. Azure

    Azure Functions でDatadog のWebhook インテグレーションを利用しSen…

    はじめにくどうです。今回取り上げるのは、Azure Fun…

  1. AlibabaCloud

    Azure、AWS、GCP、Alibaba CloudのCPU脆弱性対応のまとめ…
  2. Azure

    ユーザーにパスワードリセットさせたいときはAzure Active Direct…
  3. Azure

    Azure Load Balancerと Azure Application G…
  4. Azure

    「バルス!」 Vuls祭り#1に行ってきた。
  5. Azure

    Azure Monitor とBacklogを連携してアラートを課題登録する。
PAGE TOP