Raspberry Piのカメラで撮影した画像をサーバに送信する環境を構築する手順を示します。
flowchart LR
subgraph R[Raspberry Pi]
subgraph C[" "]
PC(PiCamera)
SS(SINETStream)
end
V([Camera])
end
subgraph SRV[Server]
B[Kafka Broker]
end
subgraph VV["VideoViewer.py"]
RD(SINETStream)
end
V==>|capture|PC---SS==>|publish|B-.->RD
style R stroke-dasharray: 5 5
実行環境として以下のものを想定します。
- Raspberry Pi
- Raspberry Piカメラモジュール
Raspberry Pi のOSには以下のものを想定します。
Raspberry Pi OS (64-bit)では動作しません。
画像の送信先となる Kafka ブローカが事前に利用可能な状態になっている必要があります。以下に示すいずれかの構成でKafkaブローカを構築してください。
Raspberry Piのカメラモジュールを有効化するために、以下のコマンドを実行してください。
sudo raspi-config nonint do_camera 0
SINET SIMを使用したモバイルルータを経由してカメラ画像をサーバに送り続ける場合 MTU が大きくてモバイル網を通せないことがあります。その場合はMTUの値を 1200 に設定します。
USB接続したモバイルルータは usb1
, eth1
などのデバイスとして認識されるので、以下のコマンドを実行してください。
sudo ip link set dev usb1 mtu 1200
ここではデバイス名が
usb1
の場合の実行例を示しています。実行環境に応じたデバイス名に読み替えてください。
2通りの構築手順を提供しています。
通常はコンテナを利用した構築手順を実行することを推奨します。ただしRaspberry Pi Zero Wなどのリソースが限られた環境で実行する場合は venv を利用した構築手順を実行することを検討してください。
構築手順の詳細についてはそれぞれのリンク先を確認してください。