Raspberry PiでXBMC
2014/03/15入れてみたけど無理だ。マウスが酔っ払ってまともに動かない。
入れてみたけど無理だ。マウスが酔っ払ってまともに動かない。
リーマーとネジがセットが届いたので、カメラのレンズが出る部分の穴を広げて、10mm長のネジで固定。
本当はスペーサーとか噛ましたほうが良いんだろうけどひとまずこれで完成。
軽く遊んでるときはブラブラしていても良いけど、使うならハコに入れたい。
ねじ穴に合わせて2mmで穴を開けて、レンズ部分にも穴を、、、と思ったけど、模型用に買ってあるピンバイスのドリルは3mmまでしかない。これ以上太いドリルがあっても咥えられないからリーマー買ってこよう。
固定ネジも7mmだと短い。10mmとか15mmくらいのが欲しい。模型だと5mm程度で十分なのでこれも手持ちがない。
ひとまず外向きに固定。斜めってる…。
小型のHDMIディスプレイ欲しいと思いつつもちょっと高くて躊躇。過去に購入済みでお蔵入りになっているUSBディスプレイが使えないかとぐぐってみたところ使えるらしい。
半田付けとかは苦手だけどソフトウエアなら環境わかれば同じ事ができる。
参考にさせてもらったのは次のサイトです。
Raspberry Pi でUSBディスプレイを使う
http://d.hatena.ne.jp/penkoba/20130911/1378910572
これでダメなら諦めた方が良い程度にRasberry Piのカーネルクロスコンパイル手順をまとめてみた。
http://moguno.hatenablog.jp/entry/2013/02/03/222132
共に2013年のblog記事なので、使っているカーネルバージョンが古い。2014年3月には3.6.yが3.10.yまで上がっているので、kernelソースのtar.gzをダウンロードするときはファイル名内の3.6を3.10に変更する。
クロスコンパイルするOSはUbuntu12.04の64bit版を使った。クロスのツールが動けばなんとかなる。出力するのはARMのバイナリだし32/64bitはあまり問題にならない。
kernel入れ替えの時、動いていたものを取っておいてうまく起動しなかったときに備えるのは当然として、なんでsymlinkにしないのか不思議だった。Raspbianの/bootのパーティションがvFATだからsymlinkが作れないという事らしい。なるほど。
pi@raspberrypi ~ $ mount
/dev/root on / type ext4 (rw,noatime,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=215824k,nr_inodes=53956,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=44820k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=89620k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
/dev/mmcblk0p5 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
写真の通りSAMSUNGのU70は接続できたけど、CenturyのLCD-4300Uは表示できなかった。cmdline.txtを変えればいけるのかも。
気になった点はkernel3.10.33だとcmdline.txtにパラメタ書いても起動時に無限ループになった。仕方がないのでrc.localでcon2fbmapを実行して表示を切り替えている。HDMIを接続しない状態で起動しても/dev/fb0は存在するので、USBディスプレイ用はfb1になる。
Raspberry Piの8GB SDカードをddして複製したメディアで起動するとエラーが出る。
複数のプロセスなので、名前解決かなにかに関係するファイルかも。
[ 883.560203] EXT4-fs error (device mmcblk0p6): ext4_lookup:1437: inode #279526: comm ntpd: deleted inode referenced: 333291
[ 1067.730286] EXT4-fs error (device mmcblk0p6): ext4_lookup:1437: inode #279526: comm sshd: deleted inode referenced: 333291
fsckかけてみる。
pi@raspberrypi ~ $ sudo fsck -n /dev/mmcblk0p6
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
Warning! /dev/mmcblk0p6 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
root contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Entry ‘resolv.conf’ in /etc (279526) has deleted/unused inode 333291. Clear? noPass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: -1164487
Fix? noInode bitmap differences: -333291
Fix? noroot: ********** WARNING: Filesystem still has errors **********
root: 84312/404800 files (0.1% non-contiguous), 625855/1618944 blocks
ああ、そのファイルだといろいろアクセスしてきそう。
マウント状態だとfsckで修正できないので、Ubuntuが起動しているPCにSDカードを
刺してコマンド実行。
hoge@nuc-linux:~$ sudo fsck -fy /dev/sdb6
[sudo] password for hoge:
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking iノードs, blocks, and sizes
Pass 2: Checking ディレクトリ structure
Entry ‘resolv.conf’ in /etc (279526) has 削除/unused iノード 333291. クリア? yesPass 3: Checking ディレクトリ connectivity
Pass 4: Checking reference counts
Pass 5: Checking グループ summary information
Block ビットマップ differences: -1164487
修正? yesFree blocks count wrong for グループ #35 (10188, counted=10189).
修正? yesFree blocks count wrong (993084, counted=993085).
修正? yesIノード ビットマップ differences: -333291
修正? yesFree iノードs count wrong for グループ #41 (8095, counted=8096).
修正? yesFree iノードs count wrong (320488, counted=320489).
修正? yesroot: ***** ファイルシステムは変更されました *****
root: 84311/404800 files (0.1% non-contiguous), 625859/1618944 blocks
Raspberry Piに戻してエラーが出ないことを確認。
ファイルも大丈夫そうですよっと。
pi@raspberrypi ~ $ cat /etc/resolv.conf
nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4
買ってみた。USBカメラと同じでしょ? と思ってあまり期待してなかったけどなかなか良い。ハードウエアでH.264のデータを扱えるので、USBでカメラつないでいるのがアホらしくなってきた。ひとまずネットワークに流すだけならCPUへの負荷がほとんどかからずに流せる。受信側が大変だけど。
データを保存するだけならUSB接続のハードディスクとかをつなげばひとまず解決する。
おおよそのデータサイズは次の通り。
720p/60sec
bitrate size
10Mbps 75MByte
5Mbps 38MByte
2Mbps 15MByte
1080pでもサイズはほとんど変わらない。mediainfoで見ると確かに720pと1080pで異なっているのに不思議。
ビットレートを512Kbpsまで落としても、ブロックノイズが多いな という所まではいっていない。それなりに見れる。
オプションの三角形のケースも買ったけどいまいち。基板をはめ込むだけなのでちょっとした衝撃に弱いし、キチキチに作ってあるからかカメラから出ているフレキシブルケーブルが浮いてしまってハードウエアを認識しなくなってしまう。
スモークケースにレンズの部分とネジ部分の穴開けして、ネジ止めするのがいちばん確実。
ひとまず洗濯ばさみで代用。
車載させるにあたってちょっと事前調査。これが良いのではないか? というモバイルバッテリーはあるけど、まずは手持ちのものを調べてみる。
Raspberry PiにGPS(ND-100S)、UVCカメラ(C920)、キーボード・マウス用のドングル(MK270)、WiFi(GW-USNANO2A)をつないだ状態で使うことを想定している。
Panasonic QE-PL201
NOOBSのsetup開始から5時間30分ほど動いて電源断となった。
残念ながら給電中に充電はできない。(取扱説明書から)と、書いてあったけどできたらラッキーくらいの勢いで給電側もつないでみたが、やはり電源供給が止まってから充電が始まった。
ACアダプタ付きのUSBハブにカメラ、GPSとWiFiを逃すとRaspberry Pi本体は0.4A以下の使用量で安定する。この状態ならKBC-L2Bでも行けるかもしれない。
久しぶりにblogコンテンツをメンテしていたら公開していない駅めぐりがあったので公開。
訪問日とかもメモしておいた方が良いかも。
自宅内や玄関先をUSBカメラやAndroidのスマホを使ってリビングのタブレットに常時写したり、motionで動体感知して動画をGMailに送ったりしている。
しばらくの間USBカメラ(主にLogicool QCam Pro 9000)を使い、Core i3のLinux PCを常時稼働して使っていたが、去年の夏くらいからAndroidのスマホをカメラ代わりにしたり、もっと低価格で非力なRaspberry PiとUSBカメラを使ったりしてきたのでまとめ。
BogoMIPSの値が2桁も違うけど何だろう。OSのバージョンが違うから計測方法も異なるんだろうか。
http://archive.linux.or.jp/JF/JFdocs/BogoMips/faq.html
2013/09購入
pi@hostname ~ $ uname -a
Linux hostname 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linuxpi@hostname ~ $ cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7Hardware : BCM2708
Revision : 000d
Serial : 0
2014/03購入
pi@hostname ~ $ uname -a
Linux hostname 3.10.32+ #648 PREEMPT Fri Feb 28 16:29:56 GMT 2014 armv6l GNU/Linuxpi@hostname ~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 2.00
Features : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7Hardware : BCM2708
Revision : 000e
Serial : 0