>100 Views
August 21, 21
スライド概要
2021/8/21 【オンライン】『Azure IoT Central』全方位解説セミナー!
https://algyan.connpass.com/event/218214/
SeeedKKの中の人。Microsoft MVP for Internet of Things。
Azure IoT Central用デバイスの開発 2021/8/21 Takashi Matsuoka
Takashi Matsuoka @matsujirushi12 2017~ MVP for Windows Development 2020~ for Microsoft Azure 「e」3つ
Device --- Azure IoT Central デバイステンプレート 手動 / 自動 Azure IoT Central 接続情報 Freezer Freezer : Device Template Freezer : Device temp / Telemetry targetTemp / Property 温度 temp 設定温度 targetTemp 最大温度 maxTemp ブザー buzzer maxTemp / Property buzzer / Command デバイス 手動 / 自動
Azure IoT Central Freezer Freezer : Device Freezer : Device Template
Device --- Azure IoT Central Azure IoT Central Device 接続情報 • IDスコープ • デバイスID • 認証情報(SASトークン, X.509証明書) 通信の秘匿 SSL/TLS 認証 SASトークン, X.509証明書 通信プロトコル MQTT, MQTT over WebSocket, AMQP, AMQP over WebSocket HTTPS ※ 以降のスライドは、SASトークン+MQTTで解説します
IoT Hub DPS + IoT Hub Azure IoT Central • IoT Hub hostname • Device ID Azure IoT Hub Device Provisioning Service (Group Enrollment / Individual Enrollment) 1 2 Device Azure IoT Hub 2 Azure IoT Hub 1 デバイスの登録、接続先IoT Hubの取得 2 データ通信の確立
MQTT MQTT プロトコルを使用した DPS との通信 MQTT プロトコルを使用した IoT Hub との通信 https://docs.microsoft.com/ja-jp/azure/iot-dps/iot-dps-mqtt-support https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-mqtt-support
Microsoft Azure IoT SDKs SDKs Microsoft Azure Provisioning SDKs Azure IoT Provisioning Service SDKs Azure IoT Hub Service SDKs Azure IoT Provisioning Device SDKs Azure IoT Hub Device SDKs Languages C Python .NET Node.js Java https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-sdks
Overview of Azure IoT Device SDKs Cortex-M Flash内蔵 (e.g. 2MB) RAM内蔵 (e.g. 256KB) Cortex-A, Celeron Flash外付 (e.g. 64GB eMMC) RAM外付 (e.g. 8GB) ベアメタル, RTOS Windows, Linux US$1~10 US$30~ https://docs.microsoft.com/en-us/azure/iot-develop/about-iot-sdks
Azure IoT C SDK Application Code Azure IoT C SDK • • tlsio_openssl_compact tlsio_arduino • • • • iothub_client iothub_service_client provisioning_client provisioning_service_client TLSIO - Chained • • • • tlsio_openssl tlsio_schannel tlsio_wolfssl tlsio_mbedtls SocketIO • • • socketio_berkeley socketio_win32 socketio_mbed TLSIO - Direct
Embedded C SDK Application Code MQTT TLS Embedded C SDK Eclipse Paho MQTT C/C++ client for Embedded platforms MQTTPacket, MQTTClient, MQTTClient-C FreeRTOS: Secure Sockets Mbed TLS wolfSSL Embedded SSL/TLS Library Socket
データ交換 Azure IoT Central Device Template Device Device Telemetry Property Telemetry Property Command Command Telemetry … 時系列データ、Property … 現在値/設定値、Command … 即時指示
Azure IoT Hub --- Azure IoT Central Azure IoT Hub Device D2C messages Azure IoT Central Telemetry DeviceTwin Desired Property Reported Direct Method Command https://docs.microsoft.com/ja-jp/azure/iot-develop/concepts-convention
IoT Plug and Play with IoTC Azure IoT Central DEVICE with DTMI MODEL CLOUD Device Template DTMI https://zenn.dev/matsujirushi/articles/6a543a945e802e
Azure IoT Central用デバイスの開発 • SDK • Azure IoT Provisioning Device SDKs • Azure IoT Hub Device SDK • メモリ制約が厳しいときは、Embedded C SDK • Azure IoT Central接続 • Azure IoT Hub DPS -> Azure IoT Hub • Azure IoT Centralデータ交換 • Telemetry, Property, Command • デバイステンプレート • IoT Plug and Play • デバイステンプレート登録を自動化
Azure IoT Central用デバイスの開発 https://github.com/SeeedJP/wioterminal-aziot-example https://youtu.be/2M4bZyadxXA https://github.com/SeeedJP/wioterminal-co2checker https://github.com/SeeedJP/wioterminal-iotpnp-device