Raspberry pi3をネットワークカメラ化

UVCのMicrosoft LifeCamをUSB延長ケーブルでOpenRD Ultimateに繋いでZoneminderで録画していた。

ケーブルはウインドクーラーの枠から通していたが、このクーラー、冷えなくなって来たし、エアコン新しくなったし、撤去するかなと思ったが、カメラケーブルが問題となった。

無線化するのにどうするか悩んだ結果、Raspberry Pi3に接続して、WiFiで飛ばす事にした。

最初、motionでやってみたが、640×360のモーションJPEGをZoneminderに映像を渡すと1FPSにしかならず、結局アンインストール。

次にMJPG-Streamer使うと8FPS位で、思ったよりWiFi回線のボトルネックがデカいかな? と思ったが、V4L2使うようにしたら、16FPS指定で16FPS出るようになった。

FoscamとかのCheap Network Cameraを使う手もあるのだが、WiFiが技適通ってないし、カメラと赤外線投光機は優れてても搭載ソフトが腐ってて、MJPEGインタフェースで不正なフォーマットを送りつけてくるから使う気がしない。

OSはRaspbianだが、Debian ARMにRaspberry Pi3の浮動小数点プロセッサーコードを有効にした改造を加えたもので、同じDebian ARMを使ったOpenRD Ultimateより高速に動作する。

性能的に、Raspberry Pi3にストレージを付けて、そこでZoneminderを動かす方が良いのだが、それだとカメラシステム丸ごと盗まれると記録映像が失われてしまうからよろしくない。

今テスト中だが、有線の時と何ら代わりなくカメラ映像を記録できているので、取り敢えずは良かった。

エレコム LBT-PAR500AVBK こうにう


ソニーのイヤーレシーバーの線が切れたので、余り線が引っ張られない環境にしようとこうにう。

コンパクトな奴だと電池の持ち時間が少ないので、デカい電池搭載のオーディオレシーバーを探したが、余りデカすぎるのも何なので、可搬性があって電池が長持ちという事でコレにした。

マルチペアリング(最大8台)で、家のPCとタブレットと会社のPCとそれぞれ有線イヤホンを挿し替えるがごとく使えるのが便利。

Ubuntu 14.04で認識はしたが、例によって再接続がうまくいかない。

【Ubuntu 14.04】Bluetooth マウス再接続

これでやってたbluetooth mouseの方法をやってみる。

ペアリング状態にして、hcitool scan でMACアドレス取得。

sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX
sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes
sudo bluez-test-audio connect XX:XX:XX:XX:XX:XX

mouseと違うのは、最後の行がaudio。これで再接続がスムーズにできた。

Screenshot from 2016-05-15 00:24:58

サウンドの設定で出力先にHeadSet LBT-PAR500を選ぶと音が出た。
初期は「モード」が「電話入出力(HSP/HSP)」でショボい音が出るので、「ハイファイ再生(A2DP)」を選ぶと音質が良くなる。

注意点は、接続解除すると、握っちゃったままアナログ出力から音が出ないので、接続解除前に出力を手動で切り替えておく事が必要。

その点で言えば、Windows 10のタブレットはちゃんとしてて、スピーカーの音はミュートにしているが、接続するとちゃんとイヤホンから音がでて、接続切ると再びスピーカーはミュートを継続と手間が掛からなくて良い。

しかし、USBの充電ケーブルがやたら増えてるなあ…。

【OpenRD】zoneminderクリーンインストール

監視カメラソフトのzoneminderを1.25からデータを引き継ぎ、upgradeして1.29にしたが、Alarm状態が連続で続く現象が解決できず、結局、一旦全部データ削除してクリーンインストールした。

初期設定からやってみると、カメラデバイスでOutdoorって選択項目を選ぶと、ちょっと感度が鈍くなっていい感じに記録できるようになった。

Screenshot from 2016-03-26 11:52:56昨今の天候だと、日が照ったり曇ったりした時に警報状態になるけど、それが連続する事は無くなった。

以前の1.25に比べて軽く高速に動作するようになったし、zoneminderは本当に良いソフトだ。

【OpenRD】zoneminder調整

Debian GNU/Linux 8 jessieへアップグレードしたが、監視カメラソフトのzoneminder が 「mysql_open()は古いからmysqliかPDO使いな!」と蹴られて動かない。

前の会社のPHPのプログラムがmysql_*のオンパレードで、ライブラリ化してfunction_exists()で調べて、関数があったら使うってコードに書き換えてたけど、そういう系統の話は非常に面倒だ。

Web検索すると、zoneminderのwikiにアップグレード方法が書いてあったので、その通りにする。

aptのソースリストにbackports加えて、zoneminderとffmpegをupgardeして、mysqlのテーブルは1.25のデータが入ってるから、

とやって、zmupdate.pl 実行すると、dbにある古いテーブルを最新へ更新してくれる。

あと、vlc関係入れろって書いてあったけど、わしは入れてない。
【皇紀2676年3月18日追記】
これって、FoscamとかのCheap cameraがサポートしてるRTSPの動画ストリーミングを読む為のものらしい。

わしは、MJPEGも読めず、手段がないから静止画のsnapshot連続取得でカメラ壊れたけど(笑)
【/皇紀2676年3月18日追記】

その他は書いてある通りにやるとうまい事握ってくれた。

日本語使ってたけど、charsetの指定が無いから化けまくりで、en_usにしたが、バージョンが新しくなって中々いい感じだ。

【OpenRD】dovecot 調整

Debian GNU/Linux 6(squeeze)の時の dovecot というIMAP/POP3サーバーは、設定ファイルが dovecot.conf だけだったのが、/etc/dovecot/conf.d/〜 と、設定ファイルが細分化された。

IMAP4 のサーバーにしているが、 /var/mail/noizumi がINBOX、/home/noizumi/Maildir がMaildir形式のサブフォルダという、いわゆる “Mixed mbox and Maildir” という方式にしていた。

mbox形式だと、IMAPでサブフォルダが掘れないので Maildir形式にしているが、それだと、/var/mail/noizumi を INBOXとして見てくれないので、INBOXは mbox、サブフォルダはMaildirみたいな設定が必要なのだ。

初期設定の dovecot は mbox形式。
前まで namespace の設定をしてやれば良かったので、grepで検索かけると、10-mail.conf で設定するようだ。

Mixed mbox and Maildirの設定は、wikiに載っているのでコピペするとエラー 🙁
よく見ると、15-mailboxes.conf にmboxのサブフォルダ定義がてんこもり。

結局、やった事は
[10-mail.conf]

太字が追加部分。
そして、 15-mailboxes.conf を削除(本当は別の場所へ移動)。
これで解決 🙂

【OpenRD】debian squeeze→wheezy→jessie へアップグレード

debian 6のサポートが本年2末に終了していた。

まあ、システムがどんどん古くなっているのは気になってはいたが、またこういうのをやらないといけないのかと考えると、と中々やる気がしなかった。
#しかし、サーバー構築してもう5年も経ってるのか…

TFTPサーバー構築、データのバックアップ500GB分、新規インストールかなと思ってたら、apt-get dist-upgrade でイケるやん。という事でwheezy(7)へ更新。

置き換えられる古い設定ファイルは*.ucf-oldという名前で保存されるので、後で反映すればいいので、どんどん更新。

ハマったところは、dovecotの/etc/dovecot/conf.d/10-ssl.conf で、
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
と、sslの証明書のPATHが違っててupgradeできなかった事くらい。

再起動すると、361日間再起動してなかったから fsck が掛かってファイルチェックにすげー時間が掛かった。

sshですんなりログイン。余りチェックしてないけどそのままjessie(8)へアップグレード。

同様に、/etc/apt/souces.list の中の wheezy をjessieに書き換えて、
dpkg –audit
で何も無いのを確認して、
apt-get upgrade
apt-get dist-upgrade

色々調整箇所は残っているがDebian 8になった。

OpenRD ultimateって、squeezeの時は、何か知らんけど音が出ないって不具合があって、あと、IPsecが動かないとか問題があったが、解決してるといいのう。

Venue8 5855でlinux

【皇紀2674年4月9日訂正】
間違いがありました。

Windows 10 で

でEFIパーティションを調べたところ、bootx64.efi というファイルがあり、Venue 8 pro 5855のUEFIは64bitでした。申し訳ありません。
【/皇紀2674年4月9日訂正】

まあ、やったのは拙ブログのこれ

Ubuntu 14.04 LTS 64bit版のイメージをUSBメモリに焼いて、/BOOT/EFI/bootia32.efi を配置し、UEFI の設定で Secure boot をOFF、ブート先をUSBメモリのパーティション1に指定。

Windows 10 Home 64bit プリインストールモデルの癖に、UEFI32でやんの 🙁

venue8ubuntu14.04解像度が高いので画像もデカい(笑)。
でも8インチの画面なので1200×1920は老眼にはかなりキツい。
さすが新型Atomだけあって、起動は割と速かった。

ただ、Ubuntu 14.04だとタッチパネルと無線LANが効かない。
キーボードマウス必須。

まあ、交換するので暗号化ドライブの暗号を解除したり、色々弄ってるけど、このスクリーンショットを本体C:に保存して酷い目にあった。

ファイル名が “Screenshot from Screencast 2016-02-11 15:08:56.png” みたいなのになるけど、NASに移動させようとしたら、「指定されたファイル名は、無効または長すぎます」と怒られる。

対処法探すと、チェックディスクで修復したらファイルが消えた。
イベントビューワーで見るとWininitのイベントで\found.001へ入れたとあった。

どこ?とWeb検索すると、システムファイル属性のフォルダに入れられ、かつ、Administrator権限でないと触れないようになっている。

情報源: アクセス拒否のメッセージが表示された場合、ファイルを開くにはどうすればいいですか

この辺見ながら、ヘルプには書いてないルー語の様な「なんたらの継承」とか選択して、わしのアカウントのフルアクセス権限追加してようやくファイルをサルベージできた。

Windowsって管理者に負担がかかるような改悪が仕込まれ続けているが、パソコンをある程度分かっている者すら排除しようという姿勢はOSが儲からなくなってきているから、サポートで金取ろうって事のようだな。

Android x86 4.4 r3

Screenshot from 2015-10-06 20:37:54

ここからダウンロードして、VirtualBoxへインストールしようとしたけど、grubインストールするところで落ちるという謎現象に悩まされていた。

検索すると、他にも同じ現象になっている人が散見されるが、解決方法として、ブートディスク作ってUSBにgrub2入れてとか、七面倒臭い話が出てきてゲンナリしてた。

ReleaseNote 4.4-r3 をよく読むと、

Known issues

  • Suspend and resume may have problems on some systems.
  • The installer can’t format ext3 filesystem.

なんて書いてあって、インストーラーで ext3 選択してフォーマットしてたが、can’t というよりは、インストーラーは無視して勝手に ext2 でインストール続行してたやんけ。

で、 ext3 を選択せず、ext2で formatしたら grub install はすんなりいけた。多分、インストーラー内で整合性が取れてないんだろう。

英語の掲示板とかも覗いてたけど、 Use ext2 filesystem なんてアドバイスは皆無だったし、なんでこういうハマり情報が出てねーのかなあ。

【Ubuntu 14.04】Bluetooth マウス再接続

Bluetooth ManagerのGUI でペアリングしたLogicool M557が、マシンを起動する度に接続できず、壊れかけたUSBマウスでBluetooth ManagerのGUI でON/OFFして有効化していた。

BluetoothSetup – Community Help Wiki.

を参考に、一旦、GUIでマウスペアリング情報を削除

hcitool scan

sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX
sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes
sudo bluez-test-input connect XX:XX:XX:XX:XX:XX

※XX:XX:XX:XX:XX:XX は自分の環境に合わせて読み替えて下さい。

を端末で実行して、無事に再接続するようになった。

そして、今日、Ubuntu のBluetoothインジケータがマウスの電池が残り27%で少ないと通知が出たので電池交換した。

マウスの電池減ったら突然死まで分からないのかなあと思ってたら、結構Bluetoothって便利なのね。

MVNOでradikoのエリアを切り替える

家のネットだとradikoのエリアは滋賀だが、BIC SIM使うとradikoのエリア判定が東京になる。

BIC SIMの月額使用容量も3GBに増えた事だし、Ubuntu 14.04環境でMVNOを使い、サクっと滋賀→東京を切り替えられないかと設定してみた。

まず、AtermMR03LNはクレードルに挿す時、ブリッジではなくルータモードにし、LTEをon。

有線接続状況は変わらないが、ブリッジの時は、有線LANのブリッジで、ルータモードにすると、別のネットワークセグメントのゲートウェイとなる。後は経路設定をやってやるだけ。

懸念される事は、同一ネットワーク線に二つのルータを動かすので、DHCPリース期限が切れたマシンがAtermMR03LNからIPアドレスの払い出しを受けてしまう可能性がある点かな。

まあ、AtermMR03LNのルータモードは一時的にしかやらないので、よしとする 🙂

Ubuntu のネットワークの「接続情報を編集する…」
Screenshot from 2015-04-11 21:03:20画像は既に追加しちゃってるけど、新たに追加して

Screenshot from 2015-04-11 21:04:55上の段は有線のLANで、全ての通信をBIC SIMでやると、すぐに容量が無くなるので、radikoの通信だけBIC SIMを使うという事で、2つのnetworkを定義している。

注意点は方式がDHCPのままだと、どっちのルータのアドレスを貰うか分からないので、手動にしないといけない。

わしの環境だと、ルータからMACアドレス指定で特定のIPアドレスを固定払い出しにしているので、手動にしても矛盾は無いようにしている。

network alias 指定どうやるんだろ?って思ってたが、
「ifconfig eth0:?」は古い!CentOS/RHELでのIPエイリアスの設定方法 – 旅モバ.
実は既に古い技術らしく、今は ip addr add で追加するらしい。

noizumi@greyhound:~$ ip addr show
(中略)
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether [MACアドレス] brd ff:ff:ff:ff:ff:ff
inet 192.168.11.2/24 brd 192.168.11.255 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.179.200/24 brd 192.168.179.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 [IPV6アドレス]/64 scope link
valid_lft forever preferred_lft forever

GUIの設定で、192.168.179.200/24 のlinkが設定されとるね。

Screenshot from 2015-04-11 21:07:42で、設定のキモがこれで、radiko.jp のIPアドレス調べると、

noizumi@greyhound:~$ nslookup radiko.jp
Server: 127.0.1.1
Address: 127.0.1.1#53

Non-authoritative answer:
Name: radiko.jp
Address: 203.211.199.120

となっているので、203.211.199.0/24 のネットワークはAtermMR03LN経由で送受信するルーティングを設定する。

多分、203.211.199.120/32 で設定してもOKだろうけど、一応/24で設定。IPアドレス変更があった場合は、ここの設定を直さないといけない。

radiko_net_select

作成した「radiko AtermMR03接続」(LNが抜けとったorz)を選択すると、設定したネットワークになる。ブラウザでradikoにアクセスすると、

radiko_tokyo東京判定。
ただ、BIC SIMで繋ぐと東京判定されない時もあるので、確実性はイマイチ。

これでニッポン放送の辛坊治郎の「ズーム そこまで言うか」とか、文化放送の「碧と彩奈のラ・プチミレディオ」も聴けるな(ぉぃ

【皇紀2675年4月12日10:07追加】

一旦、Webブラウザでradiko東京のページを表示した後は、ネットワーク設定を元に戻しても通信可能なのが分かった。

一番通信容量を食うストリーム部分も固定回線でいけるから、BIC SIMの容量喰わなくて済むな。

【/皇紀2675年4月12日10:07追加】