Azure
.NET
decode
IoT

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

de:code 2018に参加してきましたのでその結果をまとめています。

内容の間違い、誤字脱字等はご了承ください。正確なところは、本家のサイトを参照いただければと思います。

タイトル等

タイトル

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

演者

  • 日高 亜友さん 株式会社デバイスドライバーズ代表取締役 Microsoft MVP for Windows Development

日時

2018/05/23 10:35-10:50

関連リソース

関連リソース:

概要、感じたこと

IoTデバイスで転送する際に、様々なプロトコルが用意されているが、リアルタイム(2秒以下)な動機が必要ないのであれば、ファイル受け渡しを基準にした方法が、OSが異なる場合なども汎用的に行いやすい。

実際に、例えば海の上から定期的に送付するような事例であれば、リアルタイムでの送付が必要な事例ではなくOSが異なることも多いので、参考となるのでないかと思った。

最初に

サンプルコードは、次からダウンロードしてほしいとのこと

汎用的に使用したい

デバイスを汎用的に使用したいということが出てきたとき、通信が問題となってくる。

デバイスの種類

画像

汎用的に使用するとは、デバイスの接続種類にかかわらず利用したい、ということ

異なるOS

画像

しかし、Windows, Linux両対応となると、論理的なローカルコネクティビティで異なるOSにも対応しているものは限られてくる。実質Alljoynのみ。

解決方法はファイル渡し

画像

レガシーな方法ではあるが、ものすごく安定する。排他制御についても、どのようなOSもファイルの排他制御は実装されているので、確実である。

高速化についても、最近のOSはハードディスクではなく、SSDなどになっているし、RAMなどを利用した高速化なども検討できる。

また、エラー発生時にもファイルに最後の値が残っているので、デバッグがやりやすいし、逆に結果を削除したければファイルを削除しやすい。

データ形式はJSONなので、確認も楽である。

応用事例

参考

インタフェース誌という雑誌に、電池の心配無用のIoT、半永久的CO2センシングとして紹介されている。

応用事例の構成図

構成図

図面上部のBrige Fileと記載されいる箇所が実際にやり取りされているファイル

今後の予定

画像

  • IoT Edge V2対応
  • Edge Computing対応
  • メッセージ対応
  • データ受信イベント、差分データ対応
  • 応用事例の拡張(LoRa、Web APIによるシミュレータ)