【ラズパイ×監視カメラ】工場や工事現場、屋外で使えるリアルタイム監視システムを作ってみよう!

ラズパイ 監視カメラ

工場や屋外の工事現場、その他さまざまな現場のリアルタイム監視で「高度な遠隔監視システムはすぐ導入できない」「クラウド型ネットワークカメラでは自社システムと連携できない」「画面構成を業務に合わせてカスタマイズしたい」などとお悩みではありませんか?

こうしたお悩みに対して、遠隔監視システムを内製で作るという選択肢を取ることで、自社の業務やニーズに合わせて自由に作り込むことができます。

本記事では、内製開発の一例としてリアルタイム通信プラットフォームを運営するSkyWayが、raspberry pi(以下ラズパイ) とWebカメラを使ってブラウザでリアルタイムに映像を確認できる遠隔監視システムを独自に構築する方法を解説しています。

ラズパイとWebカメラで構築するリアルタイム監視システム

ラズパイ×監視カメラを活用したリアルタイム遠隔監視システムは、カメラモジュールやUSBカメラで取得した映像をラズパイ上で処理し、ネットワーク経由で配信する仕組みです。

例えば工場などの現場ではリアルタイム監視や異常検知などの活用に広がる可能性があり、軽量なLinux環境上でストリーミングや録画、動体検知の機能を実装できるなど、低コストで柔軟にカスタマイズが可能です。

市販のネットワークカメラを使ったリアルタイム監視との違い

一般的に市販されているネットワークカメラやクラウド型のネットワークカメラは、撮影、圧縮、配信機能が一体化された完成品であり、簡単な設定を行うことで手軽に運用が可能です。

ただし、機能や画面構成はあらかじめ決められており、現場ごとの細かな要件や他システムとの連携、AI活用などを柔軟に実装することは難しいケースがあります。

一方、ラズパイとWebカメラを使用して遠隔監視システムを構築するような独自で遠隔監視システムを構築する場合、画面設計やAI連携などその他のシステムとの外部連携を自由に設計することができます。

リアルタイム映像配信の仕組み(HTTP / RTSP / WebRTC)

ラズパイ×監視カメラで撮影した映像は、ネットワーク経由で別の端末へリアルタイムに送信されます。その際の通信方式にはいくつか種類があります。

代表的なものとして、HTTPは簡易閲覧向けで遅延が大きく、RTSPは監視用途で一般的な低遅延配信、WebRTCはさらに遅延が少なく双方向通信も可能です。

例えば工場などの現場では用途に応じて「安定性重視ならRTSP、超低遅延ならWebRTC」などのように使い分けることが想定されます。

方式 特徴 用途
HTTP 設定簡単・遅延大 簡易モニタ、状況確認・ログ用途(非リアルタイム監視)
RTSP 低遅延・安定 常時監視・録画
WebRTC 超低遅延・双方向 リアルタイム監視・即時判断(トラブル対応)・遠隔操作

監視カメラ映像をブラウザでリアルタイム表示してみよう

ここからは、「SkyWay」というWebRTCをベースとしたリアルタイム通信機能を監視カメラやIoT機器などに簡単に組み込める開発ツールを活用して、監視カメラで取得した映像を、パソコンのWebブラウザからリアルタイムに確認できる仕組みを実装します 。

※以下のイメージではIoTルータを介したインターネット接続を想定していますが接続手段は問いません。

ラズパイ×監視カメラの構成イメージ

ラズパイ×監視カメラ実装に必要なハード/ソフト

以下は実装に必要なハードデバイス類です。

物品名 数量 参考価格(税抜) 備考
Raspberry Pi(4以降 Model B) 1 約15,000円~ 映像送信用の小型コンピュータ。
Webカメラを接続し、SkyWay Linux SDKを動作させます。
Webカメラ 1 約2,500円~ 映像取得用。汎用的なUSB接続タイプで動作可能です。
設定用パソコン 1 各デバイスのセットアップおよび、ブラウザからの映像確認に使用します。

Raspberry Pi(ラズパイ)

Raspberry Piは、シングルボードコンピューターと呼ばれる小型のコンピューターです。

SDカードからOSを起動し、PCのように操作できるほか、さまざまなプログラミング言語に対応しているため、自由に開発が可能です。また、センサーなどの外部機器と連携し、データを活用することもできます。本記事では、USBカメラを接続して利用します。

Raspberry Pi(ラズパイ)

Webカメラ

映像取得用に利用します。

Raspberry Piと接続できる汎用的なUSB接続タイプをご用意ください。

ラズパイと接続するWebカメラ

Webカメラその他必要なもの(サービス・ライセンス)

必要なもの 費用 作成方法など
SkyWay
Freeプラン
0円 映像・音声通信をアプリに組み込むためのSDK。
SkyWayのアカウントを登録(無料)ください 。

SkyWayは、ビデオ・音声・データ通信機能をアプリケーションに簡単に実装できるSDK&APIです。ビデオ会議や、オンライン診療、ロボットの遠隔操作など、リアルタイムなコミュニケーションを実現します。

SkyWayとは

SkyWayの詳細はこちら

ラズパイ×監視カメラを使ったリアルタイム監視システム構築手順

SkyWayの設定

1.SkyWayに登録する

本レシピの実施には、SkyWayのアカウント登録(無料)が必要です。メールアドレスのみですぐに登録可能ですので、画面の案内に従いアカウント登録をお願いします。

2.アプリケーションIDとシークレットキーを発行する

以下の手順に従い、「アプリケーションID」と「シークレットキー」を取得します。

1)SkyWayコンソールにログインします。

2)「プロジェクトを作成」を選択します。

ラズパイ監視カメラ用プロジェクトを作成

3)新しいプロジェクトを作成する」を選択し、任意の名前でプロジェクトを作成します。

4)作成したプロジェクト内で、「アプリケーションを作成」を選択します。

ラズパイ監視カメラ用アプリケーション作成

5)「アプリケーション作成」にて、任意の名前でアプリケーションを作成します。

6)アプリケーション内の「アプリケーションID」と「シークレットキー」を確認します。

※「アプリケーションID」と「シークレットキー」は後ほど使用するため、控えておいてください。

ラズパイ監視カメラアプリ―ションIDの取得

Raspberry Piのセットアップ

1.Raspberry Pi本体のセットアップ

Raspberry PiへのOSインストールについては、以下のページを参考に、事前にRaspberry Piのセットアップを行ってください。

Raspberry Pi とノーコードツール「Node-RED」を利用したIoTデバイスのセットアップ|NTTドコモビジネス 法人のお客さま

1)Raspberry Piにて、本レシピで使用するディレクトリを作成します。

mkdir RecipeProject

2)作成したディレクトリに移動します。

cd RecipeProject

2)以下のコマンドを実行し、Raspberry Pi側で使用するバイナリファイルをダウンロードします。

wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=109Bn6X6ztkf9lFehvLbBa5CL8Pyas0yA' -O application.zip

4)zipファイルを解凍します。

unzip application.zip

app.outというファイルが存在していることが確認できればOKです。

5)解凍したアプリケーションの実行権限をOSに与えます。

chmod +x app.out

6)app.outを実行します。

7)SkyWayのAppIDを環境変数に登録します。

export SKYWAY_APP_ID="コンソールで発行したAppIDを貼り付けてください"

8)SkyWayのSecretKeyを環境変数に登録します。

export SKYWAY_SECRET_KEY="コンソールで発行したSecretKeyを貼り付けてください"

9)Room名を指定して実行します。

./app.out test_room

※今回は仮にtest_roomとしています。

10)映像送信用のデバイスを選択

以下のように、映像送信用のデバイスを選択できます

今回は接続したWebカメラを使用しますので、「0」を選択します。

ラズパイ監視カメラの映像送信用デバイス選択

ここまでできると、映像送信を開始できます。

2.Webカメラの接続

Raspberry PiのUSBポートに、USBカメラを接続してください。

ブラウザ側の準備

1. CodePenのアカウント作成

今回はブラウザ側のプログラム作成にCodePenを利用します。

以下のURLより、画面の案内に従ってCodePenのアカウント(無料)を作成してください。

CodePen: Online Code Editor and Front End Web Developer Community

2. プログラムのテンプレートのコピー

あらかじめ用意したテンプレートをコピーして利用します。

1)以下のURLにアクセスし、プログラムのテンプレートを開きます。

https://codepen.io/t-gazzy/pen/EaVqGYV?editors=1000

2)画面下部の「Fork」をクリックします。

ラズパイ監視カメラ構築用Codepen環境

これにより、テンプレートがあなたのCodePen環境にコピーされます。

3. SkyWayを利用するための設定

Setting > JS > Add External Scripts/Pens を開いてください。

テキストボックスに以下の内容が入力されていることを確認します。

https://cdn.jsdelivr.net/npm/@skyway-sdk/room/dist/skyway_room-latest.js

リアルタイム監視の設定

この設定により、あなたのCodePenにてSkyWayを利用できるようになります。

映像を確認する

1)CodePenを開き、「JS」タブを表示します。

2)11行目の「appId」と12行目の「secretKey」を、SkyWayコンソールで取得した「アプリケーションID」と「シークレットキー」にそれぞれ置き換えます。

ラズパイ監視カメラ用アプリケーションIDの書き換え

3)アプリケーションが表示されているペインを確認します。

ここでは、先ほどRaspberry Pi側で指定したRoom Nameを使用します。

①のようにテキストボックスにRoom Nameを入力し、「入室」をクリックします。

下線部のようにIDが表示されれば、成功となります。

Raspberry Pi側で指定したRoom Nameで入室

4)入室後、②で示されたvideoが表示されます。

これをクリックすると、Raspberry Piからの映像を確認することができます。

Raspberry Piからの監視カメラ映像を確認

応用機能により現場DXレベルへ拡張

今回ご紹介したラズパイ×監視カメラによる例をはじめの一歩として、SkyWay(Linux SDK)を活用したリアルタイム監視システムを構築し、さらに他システムと組み合わせることで更に高度な現場DXへ拡張することが可能です。

例えばOpenCVで人物・物体検出や異常検知を行い、映像は自動保存・ログ化。加えて、より高性能なPCや自社サーバーと連携すれば監視映像の解析なども可能になり、通知やセンサー統合により予兆保全まで実現できます。

連携機能 内容 現場効果
画像認識 人・物・異常検出 ヒューマンエラー削減
自動保存 録画・ログ管理 トレーサビリティ向上
通知連携 メール・Line通知 トラブル時などの即時対応
IoT連携 センサー統合 予兆保全・見える化

工場・その他現場でのユースケース

このような拡張により、ラズパイ×監視カメラのような構成でも、外部サービスと連携することで、異常検知や予兆検知、さらにはLLMを活用した判断支援といった活用が可能です。

今回の実装ではラズパイを用いましたが、これらは特定の構成やデバイスに依存するものではなく、現場に最適なデバイスとリアルタイム通信基盤として再設計することで、単なる設備監視を超えた現場オペレーションの変革を実現します。

ユースケース例としては、製造ライン監視やトラブル検知、無人設備・作業員の安全管理に加え、店舗の顧客分析や家庭・ペットの見守りなど、幅広い領域への展開が可能です。

ラズパイ監視カメラのユースケース

製造ラインの遠隔監視・トラブル検知

製造ラインの稼働状況や製品の流れを遠隔から常時確認できます。異常停止や不良の兆候を早期に把握し、迅速な対応が可能です。さらに画像解析と組み合わせることで、自動検知や品質チェックへと発展させることもできます。

無人設備・夜間の安全監視

無人時間帯の設備や工場内を常時監視し、動体検知や録画によって異常を自動記録できます。遠隔から確認できるため、警備コストを抑えつつ安全性を確保可能です。加えて、センサー連携で異常検知の精度向上にもつなげられます。

作業員の安全管理(危険エリア検知)

危険エリアへの侵入や不安全行動を可視化できます。画像認識を組み合わせれば、ヘルメット未着用なども検知可能です。遠隔監視と通知を連携することで、安全対策をリアルタイムに強化し、労災リスク低減に貢献します。

店舗・施設での防犯監視・顧客分析

店舗や施設にも応用可能です。来客数や滞在時間の分析、防犯監視を実現できます。その他顧客動線の可視化などマーケティング活用にも広がり、データ活用の基盤としての機能に広げることができます。

ペット・家庭見守り

家庭や介護施設などではペットや高齢者の見守りとして活用できます。外出先からリアルタイムで状況確認でき、異常時は通知したりマイクもあれば双方向の通話機能も実現できます。自社で見守りシステムを構築すれば柔軟に機能追加でき、音声連携や自動録画など、現場に合わせた見守りシステムへ拡張できます。

リアルタイム監視の通信技術にはWebRTCを活用

今回ご紹介したラズパイ×監視カメラの事例のように、多くのリアルタイム監視の通信技術には、低遅延かつ高い信頼性を確保するためにWebRTC(Web Real-Time Communication)が活用されています。

WebRTCは、ブラウザ間で直接データをやり取りする技術であり、低遅延かつ高品質な音声や映像の伝送が可能です。これにより、リアルタイム監視カメラなどにおいてもスムーズな操作体験が実現します。

WebRTCについて詳しくは以下をご参考ください。

skyway.ntt.com

 

SkyWay

「自社システムに映像通信を簡単に導入したいが、WebRTC技術を活用した自社開発するのは、ノウハウや社内リソースはなく、フルスクラッチのコストもかけられない……」という方におすすめなのが、NTTドコモビジネス(旧NTTコミュニケーションズ)が開発、運営する「SkyWay」です。

「SkyWay」とは、映像・音声通信をアプリケーションに簡単に実装できる国産SDKです。

大きな特徴としては、以下が挙げられます。

  • スピーディーな開発ができる
    開発資料が豊富かつ日本語でわかりやすい、国内エンジニアがサポートしてくれる
  • 信頼性・安全性が高い
    NTTドコモビジネス(旧NTTコミュニケーションズ)が開発、運営する国産SDK。サービス歴は10年以上で、累計導入サービス数も21,000件以上
  • 無料で開発スタート
    開発検証用として、Freeプランあり。テスト検証期間中は無料で利用可能。商用サービス提供後も基本利用料11万 + 従量課金制で安心。

SkyWayの詳細はこちら

 

WebRTCのSDKとして提供されているものは、海外製が多いため、開発ドキュメントも英語か和訳のもので開発しにくい傾向にあります。

「SkyWay」であれば、NTTグループが開発、運営する安心の国産SDKかつ、国内エンジニアがサポートしてくれるため、開発運用工数も大幅に削減でき、開発のしやすさからもおすすめです。

テスト検証用は無料のため、ぜひアカウント登録をしてみください。

アカウント登録はこちら

まとめ

ラズパイ×監視カメラによるリアルタイム監視システムの構築は、低コストで始められる現場DXの入口としておすすめです。リアルタイム通信プラットフォームを活用することで、市販のネットワークカメラや、クラウド型カメラサービスでは難しい、柔軟な画面構成や他システムとの連携も自由に実現できます。

本記事で紹介したようなSkyWayを活用したリアルタイム監視システムの構築例をを第一歩として、現場の「今」を可視化し、改善につなげる自社独自の監視システム構築にぜひお役立てください。

この記事を書いた人

gazzy

NTTドコモビジネス(旧NTTコミュニケーションズ)が開発、運営する「SkyWay」のソフトウェアエンジニア。
SkyWayのiOSとUnitySDKの開発に従事。