JavaとReactive Blocksでモーション検知アラームシステム - Raspberry Piに展開しSMS送信
標準的なUSBカメラで、Raspberry Piを含むあらゆるJava SE対応マシンで動作する信頼性の高いモーション検知アラームを構築できます。Reactive Blocks(視覚的Javaプログラミングツール)を使用すると、1行のコードも書かずに、画像取得、モーション検知、Twilio経由のSMSアラート送信を行う完全機能アプリケーションを組み立てられます。
このチュートリアルでは、ハードウェアからソフトウェアまで完全なセットアップを説明し、アプリケーションをPiや他のJava SE環境に展開する方法を示します。
必要なもの
- Raspbian OS搭載Raspberry Pi Model B+
- USBカメラ(一般的なモデルでOK)
- Ethernetケーブル(またはWi-Fi)
- Pi用ディスプレイとキーボード
- JDKインストール済みのWindowsまたはmacOSワークステーション
- Reactive Blocks(オープンソースプロジェクト向け無料Eclipseプラグイン)
バンドルされたモーション検知プロジェクトには、フルアラームシステムと軽量テストモーション検知デモの2つの実行可能アプリケーションが含まれます。このガイドではアラームシステムに焦点を当てます。
ステップ1 - Reactive Blocksをインストール
https://bitreactive.com/installation/からReactive Blocksをダウンロードしてインストール。プラグインはオープンソースプロジェクト向け無料で、Eclipseに直接統合されます。
ステップ2 - サンプルアプリケーションをインポート
Reactive Blocksパースペクティブを開き、Blocksビューを選択。インポート → リファレンスアプリケーションをクリックし、モーション検知を選択。初回アクセス時にはGoogleアカウントが必要で、ブロックライブラリとチュートリアルにアクセスできます。
インポートされたパッケージにはアラームシステムとテストハーネスが含まれます。このチュートリアルではアラームシステムのみを使用します。
ステップ3 - トップレベルアーキテクチャを理解
以下の図はアプリケーションのトップレベルフローを示します。5つのIoTライブラリブロックと、このプロジェクト専用に作成された2つのカスタムブロック、計7つのブロックで構成されます。
- Grabber – OpenIMAJ経由でUSBカメラから画像を取得。
- Image to File – 取得した画像をディスクに書き込み。
- Periodic Timer – 定期的なティックを発生させ、取得サイクルを開始。
- Buffer Eager – SMSブロックへのキューイングメッセージを1つのみに制限し、過負荷を防止。
- SMS Send – Twilio経由でSMSを送信。
- ReadConfig –
motiondetection.iniから設定値を読み込み。 - View – 画面に画像を表示。
Periodic Timerがエンジンとして機能し、ティックを発生させてGrabberを駆動。Grabberは専用スレッドを起動し、grabコマンドをリッスンし、単一フレームを取得してimage出力で転送。モーション検知ブロックもOpenIMAJベースで、別スレッドで連続フレームを比較。変化が検知されるとmotionDetectedシグナルを発火し、SMSワークフローをトリガーします。
すべてのカスタムJavaメソッドは、エディターの薄い青のボックスをクリックすることでアクセス可能で、内部ロジックへの洞察を得られます。
ステップ4 - SMS配信を設定
Project Explorerでbr.ref.motiondetectionの下にあるconfig/motiondetection.iniを開き、Twilio認証情報を入力。別のプロバイダーを好む場合、TwilioブロックをClickatellブロックに置き換えたり、利用可能なSMTP、AirVantage、IBM Bluemix、Xivelyブロックでメール/クラウド通知に切り替えたりできます。
SMSなしでアプリケーションを実行するのも簡単—単にTwilioブロックを未接続のままにします。
設定後、Piにアプリケーションを展開:RaspbianにJava SEがプリインストールされているため、.jarを直接起動するか、継続的監視用のシステムサービス経由で起動できます。
詳細については、モーション検知アラームシステムドキュメントを参照してください。
製造プロセス
- 倉庫に歩行者検知システムを導入すべき3つの理由
- Home Assistant on Raspberry Piで安全なホーム監視 – モーション、アラーム、ビデオ撮影
- Raspberry Pi用DIY赤外線モーションセンサー構築 - ステップバイステップガイド
- ロボティクスに革命を:高度なハンドアイビジョンシステムで動作性能を向上
- 安全性と信頼性のためのフェイルセーフ制御システム設計
- MEMS(マイクロ電気機械システム)入門:種類、構造、応用を解説
- レーザー切断システムを自動化すべきか?成功への戦略的ガイド
- 侵入検知システム(IDS):スマートアラートでネットワークを保護
- 超高感度化学兵器検知システム「CIDAS」─ 低濃度でも確実検知、酵素ポリマー技術で環境干渉に強い
- 透明グラフェン光検出器+ニューラルネットで3Dモーショントラッキング─ LiDAR/カメラ置換へ
- 複合材硬化工程中の欠陥を自動超音波インシチュ監視で検知、NASA開発システム