はじめまして!クラウドソリューション開発部の内間木です!

今回は、SORACOM Fluxというサービスを使用して「カメラで特定物体を検知し、メールで即時通知」というシステムを簡単に手順を追って作成していきます。
このブログは、株式会社ソラコム様が提供する「SORACOM Flux」の強力な機能と、その具体的な活用方法についてご紹介します。
SORACOM Fluxを初めて使う方や興味を持たれた方に向けて作成しました!
本ブログを通して、SORACOM Fluxの概要や具体的なシステムの構築方法を習得しましょう!
🔷そもそも「SORACOM Flux」とは?
そもそも「SORACOM Flux」とは何か、疑問をお持ちの方に向けて、本記事ではその概要を簡単に解説していきます。
■SORACOM Fluxとは
株式会社ソラコム様が提供している「ローコードIoTアプリケーション」というサービスになります。
専門的なプログラミング知識が無くても、ブラウザ上での操作によってIoTアプリケーションを構築することができるんですね!まるでパズルを組み立てるように、直感的な操作でシステムを構築できます。

左の作業ではプログラミング言語を直接使い、全てのソースコードをゼロから記述する手法です。なので、まずは「ブロックを作る作業」からしなければなりません。
しかし、ローコード開発では既に「ブロックが用意されている」状態なので後はブロックを組み立てるだけ!なんですね。
🔳用意するもの
◇ハードウェア
・ATOM Cam2(カメラ)

➡ATOM Cam2は、IP67の防塵防水に対応し、カラーナイトビジョン機能を持つ高コスパなフルHDネットワークカメラです。屋外設置が可能で、AIによる人物・ペット検知などの高機能も備えています。
詳細リンク
◇サービス
・SORACOM Flux(Developerプラン)
➡ローコードでIoT開発ができるサービス。
詳細リンク
・Soracom Cloud Camera Services ソラカメ(クラウド常時録画ライセンス 7日間)
➡「ソラカメ」は、Wi-Fi 経由でカメラの映像をクラウドに常時録画できるカメラサービス。
詳細リンク
🔥事前知識を入れましょう!
Fluxアプリを作成する上で、主に以下の3つのコンポーネントを使用してブロックを組み合わせていきます。


画像引用:https://users.soracom.io/ja-jp/docs/flux/overview/
🔶本題
それでは!メインテーマであるSORACOM Fluxを使用して「カメラで特定物体を検知し、メールで即時通知」というシステムを構築するための具体的な手順を説明していきます。
🔴システム構成図
こちらは、今回作成していくシステムの構成図となります。

一緒に作業をする方は以下の画面で待機してください!

※下記までの画面が分からない場合は下記のサイトを参考にして下さい!
Fluxアプリの作成方法
🔲手順① モーション検知イベントを『追加』しよう!
まずはイベントソースを追加していきます!先ほども、説明しましたがシステムの「引き金」となる部分ですね!
今回は、「特定の物体が動いたら」という事象をトリガーとして設定していきます!
分かりやすく言えば、「モーション検知」ですね。
※カメラにライセンスの付与を忘れずに!
①「チャネルを作成」を押下
②「ソラカメモーション検知/サウンド検知」を選択
③「次へ」を押下

🔲手順② モーション検知イベントを『設定』しよう!
手順①の作業後は、イベントソースの中を設定してもらいます。
設定といっても、使用するカメラを選択するだけです。
①「デバイスを選択する」を押下。
②使用するデバイスのチェックボックスをONにする。
③「OK」を押下。
④「チャネルを作成する」を押下。

🔲手順③ ソラカメ画像取得アクションを『追加』しよう!
次はアクションを追加しましょう。アクションは、「実行したい具体的な処理」を担う部分ですね!
ここではソラカメからの画像を取得するためのアクションを追加していきます!
①チャネルを押下しタブを表示。
②「アクション」タブを押下。
③「アクションを追加」を押下し「新しいアクション作成」タブを表示。
④「ソラカメ画像取得」を選択し、「OK」を押下。

🔲手順④ ソラカメ画像取得アクションを『設定』しよう!
①「クラウド録画画像」のチェックボックスをONにする。
➡ライブ画像取得を使用したい場合は、「リアルタイムアクセス」を有効にしなければなりません。
加えて、使用するには月額990円がかかってしまうので、必要性に合わせてどちらかを選定してください!
②「デバイスID」のテキストボックスに使用しているカメラのデバイスIDを入力。
確認方法:メニュー>ソラコムクラウドカメラサービス>デバイス管理
③「新しくSAM Userを作成する」のチェックボックスをONにする。
➡必要な権限だけを持ったユーザーを新規で作ります。
必要理由:設定ミスや不正アクセスがあった場合でも、SAMユーザーが持っている権限しか操作できないため、被害がアカウント全体に及ぶのを防ぎます。
④「アクションのアウトプットを別のチャネルに送信する」というトグルボタンをONにする。
必要理由:次の処理を設定するため


🔷現在までの進捗と構成図を照らし合わせてみましょう!

残るは、「AI処理」と「メール通知」のみとなりました!
では、どんどん行っちゃいましょう!
🔲手順⑤ AIアクションを『追加』しよう!
AIアクションを追加しましょう。
ここではソラカメからの画像をAIに読み込んでもらうためのアクションを追加していきます!
①チャネルを押下しタブを表示。
②「アクション」タブを押下。
③「アクションを追加」を押下し「新しいアクション作成」タブを表示。
④「AI」を選択。
⑤「OK」を押下。

🔲手順⑥ AIアクションを『設定』しよう!
ここでは、AIモデルやプロンプト内容などを設定する部分となっています。
①「AIモデル」のプルダウンから「Google Gemini 2.0 Flash」を選択。
➡ここでは、画像処理させるAIモデルを選択するよ!
選択するモデルによっては、クレジットが非常に高いモデルがあるため注意!今回使用するのは消費クレジットが”4″のため比較的に低く、高いパフォーマンスを発揮してくれるモデルを選択しています。
②「プロンプト」のテキストボックスに以下の内容を記入。
➡プロンプト内では❶目的 ❷出力例(もっと精度の良いプロンプト指示を出したいときは”深津式”という指示の出し方が有効だよ!)
❶目的:AIに何をしてほしいのか明記する。
❷出力例:JSONの出力形式を例を用いて指示する。
|
1 2 3 4 5 6 7 8 9 |
目的:入力されたデータ内で「人」のオブジェクトのみを検出し、以下のフォーマットで結果を出力してください。 出力例(人を検知した場合) judgment:1 result:人を検知しました。 出力例(人を検知しなかった場合) judgment:0 result:人を検知しませんでした。 |
AIに指示したい内容をプロンプトに記載します。
上記の文言を入力してもいいですが、遊び心を持って「青い服を着ていて、しゃがんでいる人間のみを検知してください」などのプロンプトでも面白いでしょう。
③「AIからの返答をJSON形式にする」のチェックボックスを押下(ONにする)。
➡SORACOM FluxではAIの返答をJSON形式で出力することができます。
JSONとは、情報を「名前」と「値」のセットで整理し、人間にとってもコンピューターにとっても読み書きしやすい形式で保存することです。
④「AIに画像を読み込ませる」のチェックボックスを押下(ONにする)。
⑤ のテキストボックスに「${payload.imageUrl}」と入力。
➡“payload.参照キー”でソラカメ画像取得から出力されたメッセージ(JSON)を参照することができます。
⑥「アクションのアウトプットを別のチャネルに送信する」のトグルボタンを”有効”にする。
⑦「チャネル名」を「AI_Output」と入力。
⑧「作成する」ボタンを押下。(下記の画像では”更新する”となっていますが、新規作成の場合は”作成する”となっています。)

🔲手順⑦ Email通知アクションを『作成』しよう!
①チャネルを押下しタブを表示。
②「アクション」タブを押下。
③「アクションを追加」を押下し「新しいアクション作成」タブを表示。
④「Email通知」を選択。
⑤「OK」を押下。

🔲手順⑧ Email通知アクションを『設定』しよう!
①「アクション実行条件」に「payload.output.judgment == “1”」と記入する。
➡アクション実行条件:アクションを実行する条件を定めることができます。プログラミングのIF文(もし~ならば)のように、アクションを実行する条件を定義できます。
今回は、judgmentが1の場合にアクションを起こすという条件を組んでいます!
②「To」にメールを送りたいメールアドレスを記入。
③「件名」に任意の件名を記入。
④「本文」に任意の本文を記入。

🔲手順⑨ 実際に動かしましょう!
イベントやアクションの追加・設定は手順⑧で全て完了しました。
システムはすぐにでも動作可能です。あとは、作成したシステムを実際に動かすのみです!
このシステムのトリガー(引き金)となるのは、モーション検知です。
システムが正しく動作を開始するかを確認するため、モーション検知を実行させてみましょう!

①モーション検知の実行
➡カメラの前に立ち、体全体が映る位置で、約5秒間動いてください。
実行後、ライブカメラの映像上に緑色の枠が現れます。この緑色の枠が現れたことが、モーション検知の発生を示し、同時にSORACOM Fluxが動作を開始します。
②メール受信の確認
➡メールボックスを確認し、システムが正しく連携できているかを確認してください。
※届かなかった場合の原因
以下の項目が考えられます。
・AIが人と認知しなかった。
・手順通りに設定がうまくいっていない。
・カメラにライセンスを付与していない
➡カメラをSORACOMと接続したときは、初期設定でライセンスが付与されていません。なので、ライセンスの付与は必ず行ってください。
☑お疲れ様でした。
❑最後に
今後も引き続き、SORACOMに関するノウハウを発信してまいります。
私のブログでは、特に初心者の方に向けた記事を重点的に公開していく予定です。SORACOMの基礎を固めたい、理解を深めたいとお考えの方は、ぜひ今後の投稿もご覧いただければ幸いです。
最後までお読みいただき、誠にありがとうございました。♨️
____________________________
エコモットでは、ともに未来の常識を創る仲間を募集しています。
弊社に少しでも興味がある方はぜひ下記の採用ページをご覧ください!



