見出し画像

41. Azure IoT Device SDK でファイルをアップロード ~ その前に RTSP Stream

前の記事                         次回の記事

はじめに

今回から、IoT 機器から Azure IoT Hub を介して Azure Blob Storage にファイルを送信する仕組みを試していきます。

センサー等によるセンシングデータや機器の状態を、Azure IoT Hub にテレメトリデータとして送信する方法は、これまで散々解説しつつ試してきました。基本的な考え方として、IoT 機器でデータが生まれた時に下手な仕組みで一旦蓄積&まとめてサービス側に送信するようなことはせず、データが生まれた時点で直ぐに送信するのが鉄則です。しかし、ネットワーク化されていなかった古い機器(ちゃんとした機器ならなにがしかのログ蓄積機能があるはず)から溜まっているデータをネットワーク越しに送りたいとか、まぁ、それは消極的な理由として、例えば、IoT 機器がアクセスできるカメラから取得した画像データを送りたいとき、Azure IoT Hub への送信可能な D2C データの最大サイズは256KBまでなので、そのサイズを超える様な場合は  D2C データとしては送信できません。Azure IoT Hub、Azure IoT Edge は、この様な 256KB を超えるようなデータブロックをセキュアに、Azure Blob Service にアップロードする仕組みを持っています。アップロード方法は、Azure IoT Device SDK を使う IoT デバイスアプリの場合と、Azure IoT Edge の場合ではやり方が異なるので、それぞれについて実装して試していく予定です。

アップロードするファイルは 256KB 以下のテキストファイル(例えば、簡単に ”Hello”という文字列が格納されたファイル)でもいいのですが、折角なので、ネットワーク上で動画ストリームを共有する RTSP Stream から動画を取得して、適当なタイミングで画像を切り出し、その画像を Azure Blob Storage にアップロードする方法を試すことにします。

前置きが長くなりましたが、今回は、Raspberry Pi(Linux OS 系として)に Webcam を USB で接続してその画像から RTSP Stream を作成する部分を作ってみます。RTSP Stream については、Real Time Streaming Protocol - Wikipedia をご覧くださいませ。
また、作成した RTSP Stream をネットワーク越しにアクセスして画像切り出しが行えるか Python コードを使って試すことも行います。

RTSP Stream を Webcam から作る

構成が、

Webcam → RTSP Stream → JPEG

ここから先は

5,041字 / 5画像

2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…

この記事が気に入ったらサポートをしてみませんか?