Edited at

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によるシミュレータ)