>100 Views
July 02, 20
スライド概要
2020/7/2 Azure Sphere Online Training 2020 July
SeeedKKの中の人。Microsoft MVP for Internet of Things。
Azure Sphere 開発する前に知っておくこと 2020/7/2 Takashi Matsuoka
Takashi Matsuoka (@matsujirushi12) 「e」3つ 2017~ MVP for Windows Development Wio LTE MT3620 DevBoard de:code 2020
アドバンテージ
実現できる機能 I/O Wi-Fi + Internet App IoT Hub Azure Sphere Chip MT3620
気づきにくい機能 AS3 … Azure Sphere セキュリティサービス OS Update App Update AS3 Pluton Key Management Azure Sphere Chip MT3620 I/O Development Environment Wi-Fi + Internet App IoT Hub Real-time Core (RTCore)
開発環境 • 開発概要 • 開発用PC / 開発ツール • 開発言語 / ライブラリ
開発概要 ~一般的なMCU~ .c .cpp コンパイラ / リンカ .elf .bin Flashツール MCU
開発概要 AS3 … Azure Sphere セキュリティサービス MT3620 RDB … MT3620 開発ボード (Reference Development Board) アプリケーション開発 .c クラウドローディング app_ mani fest azsphere AS3 gcc app サイドローディング Wi-Fi MT3620 RDB USB azsphere image package azsphere
開発用PC / 開発ツール Ubuntu 18.04LTS or 20.04 LTS Windows 10 16071. Azure Sphere SDK for Windows 1. net-tools, curl 2A. Visual Studio 2019 +Azure Sphere for Visual Studio 2. Azure Sphere SDK for Linux 3. CMake, Ninja 2B. Visual Studio Code +Azure Sphere for VS Code 4. Visual Studio Code +Azure Sphere for VS Code https://docs.microsoft.com/en-us/azure-sphere/install/overview
開発言語 / ライブラリ C言語 (-std=c11) GCC (8.2.0)
開発言語 / ライブラリ Azure Sphere SDK Application Libraries デバイス固有のAPIs デバッグメッセージ / Wi-Fi 設定, ... GPIO / PWM / I2C / SPI, ... アプリケーション libapplibs libazureiot libc libgcc_s … Azure IoT Device SDK for C Azure IoT Hub / Azure IoT Centralへの接続 C POSIX library (musl libc) GCC low-level runtime library
開発の事前準備 • デバイスのクレーム • Azure Sphere OSの更新 • サイドロードの有効化
クレーム 1 1. マイクロソフトアカウントを登録 azsphere login –newuser <email-address> Azure AD ディレクトリ “azusers.onmicrosoft.com” 2. Azure Sphere テナントを作成 azsphere tenant create –name <my-tenant> 2 3. Azure Sphere デバイスを Azure Sphere テナントに登録 (クレーム) Azure Sphere テナント 3 MT3620 RDB MT3620 RDB azsphere device claim (!) 重要 3.の操作は1回限り。クレームを取り消したり 別のAzure Sphereテナントに変更はできません。
Azure Sphere OSの更新 1. デバイスの Azure Sphere OS を更新 azsphere device recover USB MT3620 RDB
サイドロードの有効化 クラウドローディング azsphere 1. サイドロードを有効化 AS3 Wi-Fi image package サイドローディング MT3620 RDB USB azsphere azsphere device enable-development
コーディング • ビルドの仕組み • 新規作成 vs コピー • TIPS
ビルドの仕組み (AzureSphereBlinkX) main.c CMakeLists.txt applibs_versions.h CMakeSettings.json app_manifest.json gcc launch.vs.json app azsphere .imagepackage
ファイルの追加 CMakeLists.txt
新規作成 vs コピー 新規作成 コピー Azure Sphere MT3620 の空白 azure-sphere-samples AzureSphereMT3620BlankX Azure Sphere の点滅 AzureSphereBlinkX https://github.com/Azure/azure-sphere-samples コンポーネントIDの変更 app_manifest.json プロジェクト名の変更 app_manifest.json CMakeLists.txt ハードウェア定義のケア CMakeLists.txt, …
TIPS: Wi-Fi の接続 Wi-Fi アクセスポイント 1. Wi-Fiアクセスポイントに接続 azsphere device wifi add –s <ssid> -k <pass> -t MT3620 RDB
TIPS: アプリケーションの削除 アプリケーション 1. アプリケーションを削除 azsphere device sideload delete MT3620 RDB https://matsujirushi.hatenablog.jp/entry/2019/12/13/232015
https://www.seeed.co.jp/ https://algyan.connpass.com/
開発言語にC#やPythonは使えませんか?
運用費用はいくらかかりますか?
MT3620開発キットが3種類{JP, US, EU}あるが、 何が違うのでしょうか?
プログラミングで困ったときは どこに相談すればいいですか?
マイクロソフトAzure以外のクラウドと 通信できますか?
乾電池で動かすことはできますか?
OSアップデートを止めることはできませんか?
ネットで検索して見つけたセットアップ手順では 出来ません。なにが悪いのでしょうか?
製品化したときの、 Wi-Fiアクセスポイントの設定方法の推奨は?
デバイスのエラー報告はどうやったら見れますか?