So-net無料ブログ作成
  • ブログをはじめる
  • ログイン
Raspberry Pi ブログトップ
- | 次の10件

Raspberry Pi 2 DLNAサーバー [Raspberry Pi]

ラズパイに動画ファイルや写真、音楽ファイルを置いて、
PS3とかテレビからラズパイにあるファイルをネット経由で再生するために、
DLNAサーバーを立ち上げる。

DLNAサーバーであるminidlnaをインストールする。
% sudo apt-get install minidlna

minidlnaの設定を変更
% vi /etc/minidlna.conf
  media_dir=V,/mnt/hdd1/data/samba/movies
  inotify=yes
  notify_interval=1200

minidlnaの再起動
% sudo service minidlna restart

動画ファイルの用意
適当な動画ファイルを /mnt/hdd1/data/samba/movies に置いておく。
前回 sambaを立ち上げたので、PCから共有をかけて、ファイルをラズパイにコピーしてもいい。

PCのブラウザから http://ラズパイのIPアドレス:8200 でアクセスしてみると、
  MiniDLNA status
  Audio files: 0
  Video files: 2
  Image files: 0
とりあえずファイルを2つ置いたのが認識されていることが分かった。

動作確認
TV(BRAVIA) から、
[ホーム] -> [メディア] -> [ビデオ]
と選択すると、画面に "raspberrypi: minidlna" と表示されたので、それを選択
さらに [Video] -> [All Video] と選択すると、
置いておいたファイルが表示されたので、1個目のファイルを選択すると
動画が再生された。

これでラズパイにある動画ファイルをテレビからネットを通して直接再生できた。

タグ:Raspberry Pi

Raspberry Pi 2 Windowsのファイルサーバー [Raspberry Pi]

前にRaspberry Pi にUSB HDDを繋げた ので、それをファイルサーバー化して
Windowsマシンから共有できるようにしてみる。

sambaをインストールする。
% sudo apt-get install samba

Windowsから共有するディレクトリを作る。
% mkdir /mnt/hdda1/data/samba

sambaの設定をする
% sudo vi /etc/samba/smb.conf
  [global]
   interfaces = 192.168.0. 127.0.0.0/8 wlan0
   bind interfaces only = yes
   hosts allow = 192.168.0.
   max log size = 100
   security = user
  [public]
   comment = Public
   path = /mnt/hdd1/data/samba
   ;public = yes
   read only = no
   browseable = yes
   valid users = (username)
  ネットワークからのアクセスをローカルネットからのアクセスだけを許可して、
  Windowsからはpublicという名前で共有がかけられるようにする。

sambaの再起動
% sudo service samba restart

パスワードの設定
Windowsとラズパイでユーザー名は同じだけど、パスワードが違うので、
sambaにWindowsのパスワードを設定しておく。
% sudo pdbedit -a (username)
 Windows上のパスワードを設定


Windowsマシン上で、Explorerを起動して、
\\(ラズパイのIPアドレス)
にアクセスすると、"public" が見えるので、そこをFドライブとして割り当てて共有する。
これで、Windowsからファイルサーバーとして見れるようになった。


アクセステスト
Windowsマシン上でffmpegを使って動画変換をして、速度が問題ないかをみてみた。
変換前のファイルは 3分25秒 の動画。
まずは、WindowsのローカルディスクでMP4ファイルへ変換してみる。
-> 変換時間 3分59秒
動画ファイルをラズパイのドライブに置いて、変換後ファイルもラズパイのドライブに出力してみた。
-> 変換時間 4分40秒
ラズパイは無線LAN使ってるのに、思ったほど遅くなかった。
ネットワークドライブとして十分使える感じ。
(ファイルアクセスより変換処理の方が重いのかも知れないが・・・)

これでUSB HDDのNAS化に成功。

タグ:Raspberry Pi

Raspberry Pi 2 赤外線 KURO-RS [Raspberry Pi]

USBで繋ぐ赤外線学習リモコン 玄人志向のKURO-RS が手元にあったので、
Raspberry PI 2に繋いで遊んでみた。

まずPERLでシリアルポートを使うためのモジュールをインストールする。
% sudo apt-get install libdevice-serialport-perl

そしてRaspberry PI 2に直接繋いでみる。
lsusb コマンドを使って繋がってるかを見てみたが、それらしいデバイスが見つからない。
繋ぐと /dev/ttyUSB? というファイルが出来るはずなのに、それもない。
どうやら認識していない。

やっぱり、消費電力の問題で動かないのかを疑ったので、この前買ってきたセルフパワーの
USB-Hubを経由して繋いでみると、lsusbコマンドでデバイスが見えるようになった。
やっぱりラズパイのUSBには消費電力が大きいものは直接使えない感じ。
デバイスが見えるようになったけど、まだ /dev/ttyUSB? は見つからない。

どうやらベンダIDなどの設定が必要らしい。
% sudo modprobe ftdi-sio vendor=0x0411 product=0x00b3
すると、"vendorオプションやproductオプションなど知らん" と怒られる。
どうやらカーネルが新しくなってから使い方が変わったらしい。
% sudo modprobe ftdi_sio
% sudo echo "0411 00b3" > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
そしてシステムのログを見る
% dmesg
  ftdi_sio 1-1.5.3:1.0: FTDI USB Serial Device converter detected
  usb 1-1.5.3: Detected FT232BM
  usb 1-1.5.3: FTDI USB Serial Device converter now attached to ttyUSB0
お~
ttyUSB0にアタッチしたって出てる。
% ls -l /dev/ttyUSB0
するとファイルがあることが確認できた。
やっとこれで使える状態になった。

ということで、付属の irrc.pl で動作確認してみる。
% ./irrc.pl -r
として、ミニコンポのリモコンの電源ボタンをKURO-RSの受信部に向かって押すと、
受信したデータが表示された。
その表示されたデータを irrc.pl のファイルのvPowerという名前で書き込んでやる。
そして、KURO-RSの送信部をミニコンポに向けて、
% ./irrc.pl vPower
これでミニコンポの電源がONになったりOFFになったりした。
ちゃんと学習リモコンとして動くようになった。

今度は、irrc.pl を改良して、2つのファイルを作った。
赤外線から受信したデータをファイルに保存するコマンド irlearn.pl
ファイルのデータを読み込んで赤外線から送信するコマンド irsend.pl
同じように、ミニコンポの電源ボタンを覚えさせた。
% mkdir onkyo
% ./irlearn.pl onkyo/power.dat
そして、そのデータを送信してみる。
% ./irsend.pl onkyo/power.dat
うまく動きました。

TVのリモコンを覚えさせてみようと思ったんだけど、
調べてみると赤外線じゃなくて無線方式だったことが判明。
どうりでリモコンをTVに向けなくても反応してるなと思ってたさ・・・
うちのTVには使えないのか・・・

エアコンのリモコンを覚えさせてみた。
覚えるのは問題ないけど、それをエアコンに向かって送信してみたが、反応なし。
エアコンはリモコンと本体の間でたくさんの情報を送ってるようなんだけど、
KURO-RSは240バイトまでしか送受信出来ない。
うちのエアコンには使えないみたい・・・

ここで、気づく。
他に赤外線リモコンで操作するものがない・・・
うちではミニコンポにしか使えないのか~
あまり意味ないなー

最近息子にプラレールを買ってあげたら、毎日遊んでいるんだけど、
プラレールの片側だけを使って走らせるアドバンスってのがあって、
それを赤外線リモコンを使って前後に動かせる
プラレールアドバンス IRコントロール ってのがあることを知った。
Engadgetの記事参照
買って遊んでみたいな~

大人のおもちゃだな~

タグ:Raspberry Pi

Raspberry Pi 2 無線LANとUSB HDD [Raspberry Pi]

Raspberry Pi 2 に繋いだ無線LANアダプタ BUFFALO の WLI-UC-GNM が、
すごく熱くなるのに気がついた。
調べてみると、このアダプタは熱くなるからお勧めしない、というのが結構あることが分かった。
安いから買ったけど、あまり良くなかったか・・・
ということで、PLANEX の GW-USNANO2A をぽちってしまった。
届いたからさっそく交換してみる。
特にドライバとかの入れ替えないので、アダプタを交換するだけで認識して、
なにも設定変更もしないでそのまま使えました。
触っても熱くなくていい感じ。


次はUSB HDD。
家にだいぶ前に買った Buffalo の HD-PETU2 というUSB HDDがあったから、
Raspberry Pi 2 に繋いで使おうと思い、USBに繋いでみた。
lsusb コマンドで繋がってるか見てみる・・・・
繋がってないように見える・・・
/dev/sda というディレクトリも見当たらない・・・
うまく認識できなかった。
たぶん、「バスパワーだから電流が足りないんだろう」
という結論に達したので、セルフパタータイプのUSB HUBを買ってきた。
ということで、USB HUBを経由して、USB HDDを繋いでみると、
% lsusb
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 006: ID 0411:01a0 BUFFALO INC. (formerly MelCo., Inc.)
上はUSB HUBで、下がUSB HDD
どうやら認識したらしい。
% ls /dev/sda*
brw-rw---T 1 root floppy 8, 0 Jun 25 22:00 /dev/sda
brw-rw---T 1 root floppy 8, 1 Jun 25 22:01 /dev/sda1
デバイスが見れるようになった。
ということで、パーティションを切りなおす。
% sudo fdisk /dev/sda
Device Boot Start End Blocks Id System
/dev/sda1 2048 976773167 488385560 83 Linux
となるようにパーティションを設定して、
次にフォーマット。NTFSじゃなくて、Linuxで使うファイルシステムでフォーマットした。
% sudo mkfs.ext4 /dev/sda1
そしてUUIDを調べる。
% sudo mkfs.ext4 /dev/sda1
UUID="xxxx"
このUUIDを使ってmountするように設定する。
まずマウントポイントを作る。
% sudo mkdir /mnt/hdd1
fstabファイルを書き換える。
% sudo vi /etc/fstab
 UUID="xxx" /mnt/hdd1 ext4 default 0 0
mountする
% sudo mount /mnt/hdd1
確認
% df -k
/dev/sda1 480589544 71596 456082288 1% /mnt/hdd1
うまくmount出来た。
いつも使うアカウントで使えるようにするために、ディレクトリを作ってオーナーを変更した。
% sudo mkdir /mnt/hdd1/data
% sudo chown (ユーザー名):(グループ名) /mnt/hdd1/data

でも、HDDを外す時には umount が必要だろうな~
% sudo umount /mnt/hdd1

ちなみに、USB HDDをWindowsマシンに繋いだり、Raspberry Pi 2 に繋いだりするなら
NTFSにしておいたほうが便利。
Windows上でUSB HDDをフォーマットしておいて、
Raspbery Pi 2 では、
まずNTFSを使うためのパッケージをインストール
% sudo apt-get install ntfs-3g
マウントポイントを準備
% sudo mkdir /mnt/hdd1
mountする
% sudo mount /dev/sda1 /mnt/hdd1
HDDが1台目だと /dev/sda1 、HDDが2台目だと /dev/sdb1 となるはず
これでHDDがどっちでも使えるようになる。

タグ:Raspberry Pi

Raspberry Pi 2 システムのアップデートとユーザー設定 [Raspberry Pi]

ファームウェアのアップデート
たまに更新されてるので、たまにやっといたほうがいいらしい。
% sudo rpi-update
アップデートがあった場合はrebootする。
% sudo reboot

システムのアップデート
OSなどシステムのパッケージはaptで管理しているので、aptを使ってアップデートする。
% sudo apt-get update
% sudo apt-get upgrade
これでインストールしてあるパッケージが更新された時はすべてアップデートされる。

rootのパスワード変更
OSを立ち上げたままだとデフォルトのパスワードのままなので、変更しておく。
% sudo passwd root

新規ユーザー作成
デフォルトのままだとpiユーザーが存在していて、piユーザーはRaspberry Piで全世界共通なので、
新規ユーザーを作る。
% sudo adduser (user名)
piと同じgroupに追加しておくために、まずpiユーザーのgroupを調べる。
% groups pi
pi : pi adm dialout cdrom sudo (省略)
作ったユーザーを表示されたgroupに追加する。
% sudo gpasswd -a (user名) adm
 ("adm"以外もpiユーザーで表示されたgroup名をすべて追加する)
作ったユーザーでsudoを使う時にパスワード入力しなくてもいいようにする。
% vi /etc/sudoers
(user名) ALL=(ALL) NOPASSWD: ALL
と追加して、sudo 出来るか確認する。
デフォルトのpiユーザーがあることが危ないので、piユーザーを削除する。
% sudo userdel -r pi
または最低限piユーザーのパスワードを変更しておく。
% sudo passwd pi

今日はこんな感じ

タグ:Raspberry Pi

Raspberry Pi 2 ffmpegのコンパイル(2) [Raspberry Pi]

ブログ1個前でRaspberry Pi 2 でffmpegをコンパイルしてみたけど、
ffmpeg 2.7 が出たということで、再度コンパイルしてみた。

前にコンパイルしたディレクトリに移動して、ソースを更新する。
% cd ffmpeg
% git fetch
% git pull
前と同じようにconfigure&makeする
% ./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfaac --enable-libx264 --disable-ffplay --disable-ffprobe --disable-ffserver --disable-debug --extra-ldflags=-static --optflags="-O2 -finline-functions"
% make
バージョンを確認する。
% ./ffmpeg
ffmpeg version N-72837-g70af8a5 Copyright (c) 2000-2015 the FFmpeg developers
ちなみに前回のバージョンは
ffmpeg version N-72667-gd3585c5 Copyright (c) 2000-2015 the FFmpeg developers
なので、更新されているらしい。
このバージョンが "2.7" なのかは不明・・・

ということでインストールする。
% sudo make install

タグ:Raspberry Pi

Raspberry Pi 2 ffmpegのコンパイル [Raspberry Pi]

Raspberry Pi 2 でffmpegをコンパイルしてみる。
参考にしたのはお気に入りの動画を携帯で見ようのブログ。

iPhoneで再生するための動画に変換したいので、faac,fdk-aacエンコーダーとx264エンコーダーを組み込む。
ただし、faacとfdk-aacを組み込んだバイナリは再配布禁止になってるので、
自分でコンパイルした。

まずは、コンパイルに必要な準備。
yasmのインストール
% sudo apt-get install yasm
automakeのインストール
% sudo apt-get install automake
libtoolのインストール
% sudo apt-get install libtool


fdk-aacのコンパイル
ソースのダウンロード
% wget http://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-0.1.4.tar.gz
解凍
% gzip -cd fdk-aac-0.1.4.tar.gz | tar xvf -
コンパイル&インストール
% cd fdk-aac
% ./configure --prefix=/usr/local --disable-shared
% make
% sudo make install
% cd ..


faacのコンパイル
ソースのダウンロード
% wget http://downloads.sourceforge.net/faac/faac-1.28.tar.bz2
パッチのダウンロード
% wget http://abechin.sakura.ne.jp/sblo_files/k-tai-douga/ffmpeg/faac-1.28.diff
解凍
% bzip2 -cd faac-1.28.tar.bz2 | tar xvf -
パッチをあてて、コンパイル&インストール
% cd faac
% patch -p1 < ../faac-1.28.diff
% ./bootstrap
% ./configure --prefix=/usr/local
% make
エラーが出たので、ソースを修正。
% vi common/mp4v2/mpeg4ip.h 下記のように/* */でコメントアウトする。
  /*
  #ifdef __cplusplus
  extern "C" {
  #endif
  char *strcasestr(const char *haystack, const char *needle);
  #ifdef __cplusplus
  }
  #endif
  */
% make
またエラーになったので、Makefileを修正
% vi frontend/Makefile
  LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++ -lws2_32
  の一番後ろの -lws2_32 を削除して、下記のようにする。
  LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++
% make
% sudo make install
% cd ..


libx264のコンパイル
ソースのダウンロード
% git clone git://git.videolan.org/x264
テスト用の動画をダウンロードしておく
% wget http://media.xiph.org/video/derf/y4m/park_joy_420_720p50.y4m
コンパイル&インストール
% cd x264
% ./configure --prefix=/usr/local --enable-static
% make fprofiled VIDS="../park_joy_420_720p50.y4m"
% sudo make install
% cd ..


ffmpegのコンパイル
ソースのダウンロード
% git clone git://source.ffmpeg.org/ffmpeg.git
コンパイル&インストール
% cd ffmpeg
% ./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfaac --enable-libx264 --disable-ffplay --disable-ffprobe --disable-ffserver --disable-debug --extra-ldflags=-static --optflags="-O2 -finline-functions"
% make
% sudo make install
% cd ..


% ffmpeg -codecs > codecs.txt
として、
 DEA.L. aac AAC (Advanced Audio Coding) (decoders: aac libfdk_aac ) (encoders: aac libfaac libfdk_aac )
 DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb )
のようにエンコーダーが入っていればOK


Windows用にコンパイルをした時の話はまたそのうち。

タグ:Raspberry Pi
- | 次の10件 Raspberry Pi ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。