友人が最近、北部の山小屋に侵入被害に遭いました。彼は、遠くから監視できる技術について何か良いアイデアがあれば教えてほしいと頼んできました。唯一の問題は、彼の山小屋が比較的辺鄙な場所にあり、周辺では携帯電話もインターネットも使えないことです。そこで、Raspberry Piとエッジコンピューティング、そして衛星通信を使って監視できるソリューションを設計したいと考えました。
このプロジェクトでは、 Swarm衛星群を使用しています。これは、遠隔地にあるIoTデバイスに衛星接続を提供する低コストのソリューションです。例えば、カメラからの画像を高帯域幅接続でライブストリーミングし、オフサイトで処理するという方法もありますが、このプロジェクトでは、結果のみを送信するのではなく、オンサイトで処理(エッジコンピューティング)を行うため、月額5ドルという低コストで長期間プロジェクトを継続できます。Raspberry Pi、カメラ、Swarm評価キットを使って、遠隔キャビン監視・警報システムを構築する方法をご紹介します。
このプロジェクトに必要なもの
- Raspberry Pi 4または Raspberry Pi 3(電源アダプター付き)
- 8 GB(またはそれ以上)のmicroSDカード
- ラズベリーパイカメラ
- Swarm 評価キットとデータプラン
- 初期設定のためのインターネット接続
Raspberry Piで遠隔キャビン監視システムを構築する方法
始める前に、Raspberry Piをセットアップしましょう。まだセットアップをしていない場合は、Raspberry Piの初回セットアップ方法、またはヘッドレスRaspberry Piインストール(キーボードと画面なし)の方法を解説した記事をご覧ください。このプロジェクトでは、ヘッドレスRaspberry Piインストールを推奨します。
1. Gitをインストールします。GitHubからコードをダウンロードするために必要になります。
sudo apt-get update
sudo apt-get -y install git
2.リポジトリをホームディレクトリにクローンします。これにより、人物検出とSwarmタイルとの通信に必要なすべてのソースコードがダウンロードされます。
cd ~/
git clone https://github.com/rydercalmdown/remote_cabin_monitor.git
3. 「make install」コマンドを実行して、プロジェクトの依存関係をすべてインストールします。このスクリプトは、プロジェクトの実行に必要なPythonライブラリだけでなく、低レベルの依存関係もインストールします。人物検出に使用する機械学習ライブラリは、Pythonライブラリの1つにパッケージ化されているため、インストールには数分かかる場合があります。
cd ~/remote_cabin_monitor/
make install
4. Raspberry Pi カメラを Raspberry Pi に接続し、目的の場所に取り付けます。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
画像
1
の
2

5.次のコマンドでスナップショットを撮って、Raspberry Pi カメラをテストします。
raspistill -o test.jpeg
6.クイックスタートガイドの指示に従って、Swarm Eval Kitを組み立てて登録します。これにより、ネットワークに接続され、データを送信できるようになります。
7.側面のボタンでSwarm Eval Kit システムの電源をオンにします。
8. Raspberry PiのWi-FiをSwarm評価キットのSSIDに設定します。これは、外部モニターとキーボードを使ってRaspberry Pi上で直接行う必要があります。Raspberry PiがSwarm SSIDに切り替わると、Raspberry PiへのSSH接続はすべて切断されます。
これを行う最も簡単な方法は、raspi-config (sudo raspi-config) を使用して、「システム オプション」->「ワイヤレス LAN」に移動し、Swarm 評価キットの SSID (別のデバイスで swarm-xxxx を見つける必要があります) を入力して、デフォルトのパスワード 12345678 を入力することです。
画像
1
の
2

9.アプリケーションを実行してテストします。Raspberry PiがSwarm Kitに正常に接続されると、ネットワーク経由で起動メールが送信されます。衛星の可用性によっては、受信トレイに届くまでに時間がかかる場合があります。このパスチェッカーを使用して、衛星がいつ上空を通過するかを確認してください。
cd ~/remote_cabin_monitor
make run
10. /etc/rc.local ファイルに行を追加して、起動時に実行されるアプリケーションを構成します。
sudo nano /etc/rc.local
# Add the following line before the last line . /home/pi/remote_cabin_monitor/env/bin/activate && export [email protected] && export [email protected] && /home/pi/remote_cabin_monitor/env/bin/python /home/pi/remote_cabin_monitor/src/app.py &
11. Swarm Eval Kit を空が見える場所に置き、Raspberry Pi とカメラを希望の場所に取り付けます。
Raspberry Piは動作中、カメラから画像を継続的に取得し、人の存在を確認します。人が検出されると、Raspberry PiはSwarm Eval Kitにメッセージを送信し、Swarm Eval KitはVHF経由で衛星群と通信します。衛星はメッセージをダウンリンクに中継し、人が検出されたことを伝えるメールが届きます。また、Raspberry Piは24時間ごとに人が検出されなかったことを通知するメールを送信し、動作が継続していることを知らせます。
このタイプのシステムは、人検知データ以外にも様々なデータを送信するように変更可能です。漏水検知、火災検知、そしてRaspberry Piと通信可能なあらゆる種類のセンサーのデータをネットワーク経由で送信できます。