この記事は 12/31 に書いたのですが、後から「Node-RED Advent Calendar 2024」で空きがあった 19日に後から登録してみました。
今回の記事の内容は「大晦日ハッカソン2024」というイベントで行った、以下の内容に関するものです。
上のポストにも出てきている「SenseCAP Watcher W1-A(透明色)」を使った内容になります。
今回の内容
進める流れ
今回行う内容に関して、進める流れは以下になります。
- SenseCAP Watcher のカメラと AI・機械学習処理を使った人の検出
- デバイスからネット経由で検出イベント送信
- Node-RED で検出イベントを受信
- Node-RED から LINE Messaging API を使った LINEアプリへの通知
手順の一部は他の方が書いた記事・今月に書いた記事を用いつつ、上記を実現するものを作りました。
構成要素
今回の記事で使う主なものは以下になります。
- デバイス
- Seeed の SenseCAP Watcher W1-A
- 通知先・通知処理用のAPI
- LINEアプリ
- LINE Messaging API
- デバイスと通知先の仲介役
- Node-RED
- node-red-sensecap-paas
実装内容
ここから、実装内容に関する内容を書いていきます。
SenseCAP Watcher を使った検出処理・検出イベント送信
上に書いた流れの中で、以下に関わる部分を書きます。
- SenseCAP Watcher のカメラと AI・機械学習処理を使った人の検出
- デバイスからネット経由で検出イベント送信
これについては、以下のブログを参考にしつつ進めました。
- SenseCAP Watcherを動かしてみた – スマートライト株式会社
- SenseCAP WatcherをNode-REDに繋げてみた – スマートライト株式会社
- SenseCAP WatcherのHTTP Push Notificationを試してみた - Seeed K.K. エンジニアブログ
上記を参考にしつつ、ここで行った主な内容は「スマホアプリを使ったデバイスの設定、デフォルトで組み込まれている人の検出の動作確認、アプリ等による APIキーの発行」です。
ここで利用するスマホアプリは、以下の記事でも書いていた SenseCAP Mate App を使います。
●Seeed の「SenseCAP Watcher W1-A」を使い始めるための情報を集めてみる【電子工作】 - Qiita
https://qiita.com/youtoy/items/6fba4f9462eb5ec788e2
また APIキーの発行については、公式の手順・上の記事で書かれている手順だとアプリを使って行うやり方ですが、PC から行うやり方もあるようだったのでそれを以下の記事に書いています。
●Seeed の「SenseCAP Watcher W1-A」を使い始めるための情報を集めてみる【電子工作】 - Qiita
https://qiita.com/youtoy/items/6fba4f9462eb5ec788e2
Node-RED での検出イベントを受信
次は Node-RED を使った検出イベントの受信です。
これについては、以下の Node-RED用ノードを使っています。
●node-red-sensecap-paas (node) - Node-RED
https://flows.nodered.org/node/node-red-sensecap-paas
設定方法については、上でも掲載している以下の記事を参考にしました。
●SenseCAP WatcherをNode-REDに繋げてみた – スマートライト株式会社
https://smartlight.co.jp/2024/11/21/https-smartlight-co-jp-2024-11-21-tried-connecting-sensecap-watcher-to-node-red/
これで、デバイスで人の検出を行った際に、以下のように Node-RED に通知がくることを確認できました。
主に以下の内容を行っています。
- node-red-sensecap-paas の追加
- 追加したノードでの Organization ID・APIキーの設定
Node-RED を使った LINEアプリへの通知
最後に Node-RED と LINE Messaging API を使った LINEアプリへの通知です。
LINE Messaging API を使うための準備と、Node-RED から LINE Messaging API を使ったプッシュ通知を送るための方法は、以下のとおりです。
●ライブラリ「LINE Bot Notify」を使った LINE Bot への Push通知【LINEDC】 - Qiita
https://qiita.com/youtoy/items/b70a2847d5b7158aa9d9
●Node-RED の LINE用ノードをまた使ってみた:LINE Notify がわりにメッセージのブロードキャスト【IoTLT-2】 - Qiita
https://qiita.com/youtoy/items/437a1ee763cb02ca137b
上記で使った Node-RED のフローに、1つ前で試した node-red-sensecap-paas を使ったフローを組み合わせます。
changeノードについては、ペイロードをまるごと置きかえる単純な処理をしています。これで以下の結果を得ることができました。