19
どんなデータも Azure IoT Hub に転送! IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61

どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介

DA61

Page 2: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

はじめに:ソースコードの入手

de:code 2018 シアターセッション DA61

どんなデータも Azure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプ

ルコード紹介 の日本語解説はこちら

Page 3: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

はじめに:ソースコードの入手(続き)

日本語解説

の表示

Page 4: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

デバイスのセンサーデータを容易に IoT Hub に送る。

(⇔IoT Device SDK)

どんなデータも… 汎用的に使える

IoTを成功させるコツ

ゴール(解決する課題)

Page 5: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

EnOcean 無線通信のデータを容易に IoT Hub に送りたい

D2C コンテスト (2017年) のサンプルプログラム 事例

難解

背景(開発のきっかけ)

Page 6: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

• センサーやデバイスの接続種類(主にローカル)

• センサーやデバイスの接続種類(主にリモート)

「どんなデータも… 汎用的に使える」とは?

Page 7: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

解決したい接続事例

Azure IoT Hub

Azure

IoT-Edge

EnOcean

Receiver

例:EnOcean 無線通信

テレメトリーデータ

IoT ゲートウェイ

Page 8: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

• Linux D-bus

• Windows SPB

• Alljoyn (OCF)

• Socket

• Named Pipe

• IPC

• .NET Core

• ファイル渡し

汎用的に使える? 論理ローカル・コネクティビティ例

課題

Page 9: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

(超安定!)

(データ変換不要、データ長)

数値データのファイル渡し

Page 10: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

IoT Edge 既存ソース (simulated_device.c)

additionalTemp = 0.0;sprintf_s(msgText, sizeof(msgText),"{¥"temperature¥": %.2f}",avgTemperature + additionalTemp)

additionalTemp += 1.0;

Page 11: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

解説:元の JSON 設定ファイル(simulated_device.c)

"IoTHubName": "<<insert here IoTHubName>>","IoTHubSuffix": "<<insert here IoTHubSuffix>>",

"deviceId": "<<insert here deviceId>>","deviceKey": "<<insert here deviceKey>>"

Page 12: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

解説:追加の JSON 設定ファイル(simulated_device.c)

"filename": "<<insert here filename like /var/tmp/MyDevice1>>","messagePeriod": 2000

"filename": "<<insert here like C:¥¥temp¥¥MyDevice1.txt>>","messagePeriod": 2000

Page 13: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

応用事例

電池の心配無用の IoT...半永久的 CO2センシング

Azure

IoT-Edge

OPC UA

Client

EnOcean

Receiver

OPC UA Server

Page 14: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

USB400J

DPRIDE

Raspbian

Windows

EnOcean Gateway

Open62541

Custom OPC UA Server

Bridge File

Azure IoT-Edge

Custom IoT Gateway

Web View

Cogent DataHub Web server

Internet

Explorer

TCP/IP TCP/IP

USB

Raspberry Pi

PC

Device

Explorer

TCP/IP

Control File EEP File

Azure IoT HubEnOcean Receiver

Page 15: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

OPC UA元々は OPC →OLE for Process Control

OLE (Object Linking and Embedding)→ COM/DCOMが発祥の機器間通信

OPC DAとも

補足:Industry 4.0 標準プロトコル

Page 16: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

補足:EnOcean 無線通信

Page 17: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

• IoT Edge V2 対応• オープンソース化される

• Edge Computing 対応• Stream Analytics, Functions, Machine Learning 事例, …

• メッセージ (アクチュエータ) 対応

• データ受信イベント、差分データ 対応

• 応用事例の拡張

今後の予定

Page 18: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

• ソースコードの入手

• 「どんなデータも... 汎用的に使える」とは?

• 汎用的に使える? 論理ローカル・コネクティビティ

• 数値データのファイル渡し

• JSON 設定ファイル

• 応用事例

• 今後の予定

まとめ

Page 19: どんなデータもAzure IoT Hub に転送!...どんなデータもAzure IoT Hub に転送!IoT デバイスで汎用的に利用できるサンプルコード紹介 DA61 はじめに:ソースコードの入手

© 2018 Atomu Hidaka All rights reserved.

本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。

本情報の内容 (添付文書、リンク先などを含む) は、de:code 2018 開催日 (2018年5月22~23日) 時点のものであり、予告なく変更される場合があります

ありがとうございました。