>100 Views
December 10, 19
スライド概要
IoT Plug and Playセミナーでの登壇資料
SeeedKKの中の人。Microsoft MVP for Internet of Things。
IoT Plug and Play の実装方法 2019/12/10 Takashi Matsuoka
Takashi Matsuoka (@matsujirushi12) 「e」3つ 2017~ MVP for Windows Development Wio LTE Wio 3G Wio LTE M1/NB1(BG96) MT3620 DevBoard de:code 2019
Seeed ReButton IoT development tool • Momentary button • Multiple click scenarios • Indicator LED • Wi-Fi enabled • Extensible with Grove sensors https://twitter.com/SeeedJP/status/1051771382835634177
Device Cloud Services IoT Plug and Play Overview Device Capability Model Interface
How to Implement PnP (ReButton) Azure Certified for IoT device catalog IoT Central Public DCM IFACE Azure Certified for IoT Device Application Azure IoT Device Workbench Generated Code Azure IoT SDK Company IoT explorer IoT Hub
1. インターフェース設計 2. デジタルツインID 3. 通信ライブラリ 4. 自動生成コード 5. IoTデバイスカタログ
1. インターフェース設計 2. デジタルツインID 3. 通信ライブラリ 4. 自動生成コード 5. IoTデバイスカタログ
Communicate a Device and Azure IoT Hub IoT Hub D2C messages Physical Device File uploads JSON/バイナリ メッセージ C2D messages Partition ~7days Consumer Group Blob Storage Could Service JSON/バイナリ メッセージ Partition ~2days Direct methods DeviceTwin JSON Desired properties Reported properties JSON Desired Reported
Azure IoT Central IoT Hub IoT Central Measurements Data Export Storage Telemetry Physical Device JSON D2C messages State Rules Email Event JSON DeviceTwin Webhook Settings Analytics Desired JSON Reported Functions Properties Jobs Logic Apps Commands Dashboard Flow
IoT Plug and Play Contents Telemetry Commands https://docs.microsoft.com/en-us/azure/iot-pnp/overview-iot-plug-and-play Cloud Services Device Properties
IoT Plug and Play Contents IoT Hub IoT Central IoT PnP D2C messages Measurements Telemetry Direct methods Commands Commands Desired properties Settings Reported properties Properties File uploads C2D messages Properties
1. インターフェース設計 2. デジタルツインID 3. 通信ライブラリ 4. 自動生成コード 5. IoTデバイスカタログ
Device Cloud Services IoT Plug and Play Overview @id Device Capability Model @id … Digital Twin identifier Interface @id
Digital Twin Identifier urn:(namespace):(name1):(name2):(version) 会社略称 製品名 例: urn:seeedkk:ReButton:1 urn:seeedkk:Interface:PushButton:1 urn:seeedkk:Interface:Battery:1 1, 2, 3, …
Model Repository Stores Azure Certified for IoT Public Repository Company Repository IoT Central IoTC App Repository Microsoft Partner Only!!
1. インターフェース設計 2. デジタルツインID 3. 通信ライブラリ 4. 自動生成コード 5. IoTデバイスカタログ
Communication Protocols Telemetry Commands Properties IoT Central Application IoT PnP ??? IoT PnP Device MQTT / AMQP / HTTPS IoT Hub
Azure IoT SDKs Azure IoT SDK for C Azure IoT SDK for Python Azure IoT SDK for Node.js Azure IoT SDK for Java Azure IoT SDK for .NET https://github.com/Azure/azure-iot-sdks
Azure IoT SDK in ReButton Application Provisioning Client Device Client Generated Code DigitalTwin Client C shared utility https://github.com/Azure/ azure-iot-sdk-c Adapter Arduino API Azure IoT C SDKs Mbed API WiFiInterface
1. インターフェース設計 2. デジタルツインID 3. 通信ライブラリ 4. 自動生成コード 5. IoTデバイスカタログ
Generated Code https://github.com/SeeedJP/ReButtonApp/blob/dc51c62f2b/src/gencode/ReButton_impl.c
1. インターフェース設計 2. デジタルツインID 3. 通信ライブラリ 4. 自動生成コード 5. IoTデバイスカタログ
Azure Certified for IoT デバイスカタログ Azure Certified for IoT Publish Public Repository Azure Certified Certify / Publish for IoT device catalog
1. インターフェース設計 2. デジタルツインID 3. 通信ライブラリ 4. 自動生成コード 5. IoTデバイスカタログ