Raspberry Piで古典的情報監視

Paspberry Piで毎分カメラでキャプチャを行う話。

まず普通のwebカメラを導入。ここを参照。motionも導入する。
次にここを参照して、/etc/motion/motion.confを
編集。毎分写真を撮るようにする。

撮れた映像は、/tmp/motion に保存される。すごく枚数が増えるので 消すときにtoo many argumentsなど言われた際は、
sudo find ./ -name ‘*.jpg’ | sudo xargs rm
のようにして、パイプして順に消すようなやりかたを推奨する。
480 X 320で一枚約40kbyte. 1日で1440枚 60Mbyte, 10日で600M, Raspberry Piの残り容量はあと4.4Gbyteあったから
70日ぐらいは動いてくれそうだ。

最後に電源投入時に自動でmotionを起動するためには、
sudo systemctl enable motion.service
としてsystemctlサービスに登録すればよいようだ。(ここ


Dropboxのマルチアカウント

これまでDropboxを愛用してきてる。これには固有のe-mail addressが付き、自分はわりとGlobalなアドレスをDropbox用に利用している。ところが別プロジェクトで自分の仕事用のアドレスで共用フォルダを作成されてしまうといままでアクセスできなかった。ググるとここにやりかたが書いてあった。ポイントは、

    同じPC内に別アカウントを作成し、そのアカウントにそれぞれDropboxを個別にインストールすること、かつそのインストール先を、自分の日頃使うメインアカウントからアクセス可能(例えばパブリック)なところに
    設置すること
    メインアカウントから、陽に各アカウントユーザでDropboxをそれぞれ起動して同期が行われるよう、
    C:\Windows\System32\runas.exe /savecred /user:USERNAME C:\Users\USERNAME\AppData\Roaming\Dropbox\bin\Dropbox.exe
    のようなバッチファイルを用意しておくこと

のようだ。一応これで、本来のDropboxに加え、仕事上の共有フォルダなどにもアクセスできるようになった。


Raspberry Piでリモートカメラ設置

古いWebカメラを設置してみた。セットアップはここここを参照した。
1)lsusb を入力
これで自分のカメラが認識されていたらOK
2)sudo apt-get install motion
でmotionをinstallする
3)/etc/motion/motion.conf
を編集
・backgroundでデーモンを動かすならdaemon off->onにする。(していない)
・control_localhost on->off (制御をlocalhostに限定する->しない)
・webcam_localhost on->off (webcam出力をlocaohostに限定する->しない)
4)起動
sudo service motion start|stop|restart
Webcam portは8081で見れる
このままだと毎秒映っているようだ。


Raspberry Pi でPukiwikiをinstall

これは簡単に行くだろうと思っていたらそうはいかなかった。普通にPukiwikiのサイトから1.4.7系、utf-8を取ってきて、ダウンロード、展開し、
/var/www/配下にwikiディレクトリを作成し、そこにパッケージを配置して指示のままにパーミッションを設定してみたが、何もはかず、画面真っ白だった。デバッグモードにして調べてみるとPHPバージョンの問題であったことが判明した。Piで入っていたPHPはPHP5.4.4-14。このサイトを参照して、lib/func.php を書き換えたところ、無事動き出した。


Raspberry Piでimgboardをinstallした

家で常時接続サーバにすることにした。DDNSをセットアップし、imgboardをinstallし、それなりに権限をセットするのだが、うまくゆかない。いろいろ調べた結果、次をミスっていたことに気が付いたので備忘録として、

  • cgiの一行目がきちんと#!/usr/bin/perl になっているかどうかを確認すること(動かなかったのは#!/usr/local/bin/perlになってた)
  • 絵が全然表示されず、Exec format error:がerror.logに出ていた。調べてみると、/cgi-bin/のディレクトリである、/usr/lib/cgi-bin/ディレクトリが、/etc/apache2/sites-enabled/000-default ファイルの中の設定で、「ScriptAlias」として設定されており、その配下のファイルは全てスクリプトとみなされていたことに起因していた。このため、000-default中に

    AddHandler image/gif .gif
    AddHandler image/jpg .jpg

    を挿入したところOKとなった


  • PerlでのUTF8はややこしいな

    cygwin上でperlをつかって日本語処理しようとしているが、utf8がなかなかうまく処理できない。本日の練習ではutf-8Nでコードを書いて、

    #!/usr/bin/perl
    use utf8;
    #use open ":locale";
    #use open ":std";
    #use strict;
    use Encode;
    my $str = "漢字をstdoutに出力してみる\n";
    print Encode::encode('utf8',$str) . "\n"; # *
    print length($str). "\n";
    exit 0;

    ぐらいにすると、

    漢字をstdoutに出力してみる
    17

    の結果が出るようになった。


    EPUBを読む

    新年の休暇中にEPUBで記事でも読もうとiPadを出したが、はてさてどうやってURLからiPadで読むのかを忘れてしまっていた。ものの本を読むと、iTunesを立ち上げて、一旦ダウンロードしたファイルを、iTunesのブックの中にドラッグするとそれでiPadに入る、というやり方が簡単と出ていた。そりゃできるかもしれないが、何か面倒なにおいを感じる


    Rasberry Pi で画像を撮る

    Rasberry Piをセットアップしてみた。ここに主要なセットアップが書いているが、

    • jpeg形式で画像を保存するなら raspistill -o image.jpg
    • h264型式で動画を保存するなら aspivid -o video.h264 -t 10000
    • さらに、ネットワーク越しに動画を見るのであれば、
       raspivid -t 999999 -o – | nc [insert the IP address of the Windows client] 5001
       nc(netcat)ならびにmplayerをインストールしたうえで(注:Netcatは多くのウィルスソフトでトロイの木馬と判断されるらしいので注意)、
    •         

    • [Path to nc.exe]\nc.exe -L -p 5001 | [Path to mplayer.exe]\mplayer.exe -fps 31 -cache 1024 –
      を入力すると動画がリモートのWindowsで見ることができる。これはすごいなあ

    Windows8.1にしてからiTunesがクラッシュしている

    Windows8.1にしてから、iPodと同期しようとするたびにiTunesがクラッシュするようになった。放っておけばupdateして直してくれるだろうと思っていたら、全然治らない。ググって調べてみたら、システム環境変数にC:¥program files (x86)¥common files¥apple¥apple application support; (注: (x86の前には半角スペースが必要)、を入れるか、あるいは Alternatively, I was successful just copying the QTMovieWin.dll from c:\program files (x86)\common files\apple\apple application support\ INTO c:\program files (x86)/iTunes をすればよいということが書いてあった。 https://discussionsjapan.apple.com/thread/10134986?start=15&tstart=0 同じことだ。前者で動作し始めた。しかしこれはiTunes お恥ずかしい話だな。