reCameraは、カメラ機能とNode-REDが一体になったエッジデバイスです。プログラミングの知識がなくても、ノードを繋ぐだけで「映像の確認」「動画の保存」「画像のキャプチャ」「AIによる物体検出」などが実現できます。この記事では、基本のフローをご紹介します。
reCameraとNode-REDの関係
Node-REDはフローベースのプログラミングツールで、処理のまとまり(ノード)を線で繋ぐだけでロジックを構築できます。reCameraでは node-red-contrib-sscma というパッケージが用意されており、カメラ操作・AI推論・保存といった機能がそれぞれ専用ノードとして提供されています。
フローを作る前に、まず接続設定(sscmaノード)を済ませておきます。ホスト・ポート・クライアントIDを設定するだけで、以後はすべてのノードが同じ接続を共有できます。
ライブ映像のプレビューと画像キャプチャ
動作確認やカメラのアングル調整に使うフローです。

cameraノードはデバイスから映像ストリームを取得し、previewノードはその映像をNode-REDのダッシュボード上に表示します。音声・フレームレート・ミラーリングの設定はcameraノードのプロパティから変更できます。
injectノードにcaptureという文字列を入れてcapture imageノードに送ると撮影画像を保存できます。定期的に撮影した画像を保存することも可能です。画像は、管理画面からダウンロード可能です。

トリガーで動画の録画
録画の開始と停止を手動で制御するフローです。

saveノードには msg.enabled プロパティがあり、true を送ると録画開始、false を送ると停止します。録画時間・スライス間隔・保存先(ローカルなど)はノードのプロパティで設定できます。
injectノードを使った手動トリガーのほか、タイマーや外部センサーからのメッセージで自動化することも可能です。動体検知と組み合わせれば「検知したときだけ録画する」といった応用もできます。動画は管理画面からダウンロード可能です。
AIモデルでの画像解析
AI推論と画像キャプチャを組み合わせたフローです。

modelノードにはAIモデルを設定します。どのような機能を持つAIモデル化を選択できます。検出スコアのしきい値やIoUも調整可能です。推論結果はpreviewノードで確認できます。

フローの保存
作ったフローは、デプロイボタンをクリックしたタイミングでreCamera内部で保存されます。このとき、クラウドサービスのSenseCraftにログインしていれば、クラウドにもフローが保存されています。

注意事項
- フローを作る時、cameraノードは1個しか配置できません。
- 公開されているノードをインストールするときは、reCamera自体がインターネットに接続している必要があります。Wi-FiモデルであればWi-Fiの設定を先に済ませておくとよいです。
まとめ
- reCameraのNode-REDフローは、ノードを繋ぐだけでカメラ制御からAI推論まで完結します。
- カスタムノードにある様々なクラウドサービスやenebularのクラウド実行環境などに推論結果を連携することも可能です。
- enebularを使わなくても単体でアプリケーションが簡単に作れるので、試してみてはいかでしょうか。
