理乃美

ソフトとハードと論理の覚え書き

ラズパイ3Bをポータブルな無線カメラに - Part4 実験

2018-06-17 14:57:04 | ラズパイ
無線Webカムとしての道具立てが整ったので、実験をしてみる。

本体: Raspberry Pi 3 model B, (+カメラモジュール Raspberry Pi NoIR camera board V2)
電源: モバイルバッテリー Power Bank (Power-PC104) 10400mAh

これで、2時間ほど連続動作させたがモバイルバッテリーの4段階残量表示LEDが最初から変わらない。
これなら、目的の作業には十分持つだろう。

電源ON/OFFはモバイルバッテリーの抜き差しで行う。shutdown せずに電源を切ってしまうが、意味のあるファイル書き込みはないのでさほど心配していない。

難点としては、電源を入れてからWifiアクセスポイントが使えるようになるまで2~3分かかること。


ちなみに、画像の監視側は、遊休化していた初代iPadを利用。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ラズパイ3Bをポータブルな無線カメラに - Part3 mjpg-streamer自動起動

2018-06-17 11:17:00 | ラズパイ
mjpg-streamer が動作することを確認したので、mjpg-streamerが自動起動するように設定する。

ちょっと手間をかけて、systemctl を使えるようにする。

1. mjpg-streamer.service ファイルを作る
( /etc/systemd/system/mjpg-streamer.service )

[Unit]
Description = MJPG Streamer

[Service]
ExecStart=/home/pi/mj/mj.sh
Restart=always
Type=simple

[Install]
WantedBy=multi-user.target


2. mjpg-streamerサービスを自動起動にする

sudo systemctl enable mjpg-streamer

3. ラズパイを再起動して、mjpg-streamerが自動起動していることを確認する。


4. 有線etherを止める。
etherが接続されていないと、タイムアウト待ちが生じてラズパイの起動が遅くなる。そこで、Wifiをアクセスポイント化したときに /etc/network/interfaces に追加した3行を削除しておく。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ラズパイ3Bをポータブルな無線カメラに - Part2 mjpg-streamer設置

2018-06-17 01:46:17 | ラズパイ
mjpg-streamerの設置。Webにある情報だけど、不足があったり不完全だったりするのでここに一つにまとめておく。

mjpg-streamer で piカメラモジュールを使うには、2通りあるようだがここでは、bcm2835-v4l2と標準のmjpg-streamを組み合わせて使う。
また、ラズパイが起動するときにmjpg-streamを自動起動させたいが、それにはsystemctlを使うことにする。

まず、カメラモジュールを有効にする。

0. 次に、いつものおまじないをして

sudo apt-get update
sudo apt-get upgrade

1. svnからmjpg-streamerを持ってくるので subversionを用意しておく

sudo apt-get install subversion

2. 必要なパッケージをインストール

sudo aptitude install libv4l-dev libjpeg8-dev imagemagick

3. mjpg-streamerをダウンロード

svn co http://svn.code.sf.net/mjpg-stream/code/mjpg-streamer mj

(mjというサブディレクトリを作って、そこにダウンロード. 絶対パスは、/home/pi/mj )

4. mjディレクトリに移って mjpg-streamerをmake

cd mj
make USE_LIBV4L2=true clean all

5. /dev/video0 を準備。起動時に自動的にbcm2835-v4l2が読み込まれるようにする

  /etc/modules に bcm2835-v4l2 の1行を追加

6. ここでリブート. /dev/video0 が現れているはず。

7. (あとの都合もあるので) mjpg-streamerの起動シェルスクリプト(mj.sh)をここに作る.

#!/bin/sh
cd /home/pi/mj
./mjpg_streamer -i "./input_uvc.so -f 15 -r 640x360 -d /dev/video0 -y" -o "./output_http.so -w ./www -p 8080"

(最初に cdしているのは、どこからでもこのシェルスクリプトをたたけるようにするため。)
( フレームレート指定 -f 15 や 解像度指定 -r 640x360 はおいおい詰めてゆくつもり。 ポートは8080番ポート -p 8080)

8. 動作実験

 さきほどのシェルスクリプトを実行して、mjpg-streamerを起動。
ブラウザ から、http://(アドレス):8080/ でアクセスしてみる。問題がなければ次のようなページが見えるはず。左下にカメラモジュールの写した静止画がある。
(ブラウザは、Windows PCのchrome, 初代 iPadのsafari, iPad mini retina のブラウザ で確認済み)




 Stream を選ぶの、こんな感じでライブ動画でみることができる。


動画だけにするなら、 http://(アドレス):8080/?action=stream を開く。こんな感じ。





コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ラズパイ3Bをポータブルな無線カメラに - Part1 Wifiアクセスポイント化

2018-06-11 23:47:05 | ラズパイ
Raspberry Pi3 model B を使ってポータブルな無線Webカムを仕立てる。

まずは、ラズパイ3BのWifiをアクセスポイント化することで、別にWifiルータを用意することなくiPadなどからアクセスできるようにする。

手順としては、
Setting up an accesspoint on the raspberry pi 3 with debian stretch のアンサーに書いてあるとおり。

Noobs v2.8.1 で Raspbian (stretch) のdesktopをクリーンインストールしたところから開始。

こちらのスクリプトを使ってAPを設定したあと、有線のイーサネット eth0 を復活させるため /etc/network/interfaces に3行ほど書き加えて rebootするだけ。

アンサーには、githubから上記スクリプトを直接ダウンロードして実行する手順が書いてあるが、アクセスポイントのアドレスを変えたりといったカスタマイズを考えると、githubからスクリプトをローカルにダウンロードしておいて実行したほうが良いだろう。ということで、私はスクリプトをダウンロードして、以下のように実行

>sudo bash rPi3-ap-setup.sh mypassword myAP

なお、最終的には起動時間短縮のため有線etherを止めるが、いろいろと設置が終わるまでは有線etherが必要。
そこで、/etc/network/interfaces の最後に

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

を追加し、reboot.

これだけで、iPadから myAPというアクセスポイントが見えるようになる。

なお、アクセスポイントが見えない場合は、パスワード (passphrase)が短くて不適切だったのかも。

>sudo hostapd /etc/hostapd/hostapd.conf

というように手動実行してみると、エラーメッセージが出るだろうから、それを見て修正する。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ラズパイ3BをWebカムにする

2018-01-28 19:29:20 | ラズパイ
Raspberry Pi 3 Model B に 専用カメラモジュールの組み合わせで、Webカメラを構築してみた。

Motion を使ったが、構築に苦労したのでメモしておく。

Noobs v2_4_5 を使いRaspbian full desktop version をインストール。
Raspvian は、stretch. devian_version 9.1.

RaspPi のカメラモジュールのインストールについては省略。

RaspPi のカメラを Motion で扱うには2通りあるが、安直にbcm2835-v4l2 を利用する方法をとる。

手順は、apt-getでmotionをインストールしたのち、三つの設定ファイルを修正してリブート、でOK.

1. motionのインストール.
お約束の、
sudo apt-get update
sudo apt-get upgrade
  のあと、
sudo apt-get install motion

2. 三つの設定ファイルの変更

2.1 /etc/modules

以下の1行を追加

bcm2835-v4l2


2.2 /etc/default/motion

start_motion_daemon の設定値を no から yes に変更

start_motion_daemon yes

2.3 /etc/motion/motion.conf

沢山ある設定項目のうち、以下の三つを示したように変更
  他にも画像ファイルや動画ファイルの生成を止めたりといった変更するもよし。

daemon on
stream_localhost off
stream_maxrate 10

3. リブートしたあと、ブラウザで以下のURLをアクセスするとカメラのライブ画像を見ることができる。

  投稿時点で、iPad miniのブラウザ、Windows7 の chrome で問題なく見ることができた。

http://(ラズパイのアドレス):8081/

なお、苦労してセットアップしたが、レテンシが1秒以上あり、フレームレートも 2フレーム/秒 程度と低いため目的には合わないことが分かった。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする