So-net無料ブログ作成

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

Raspberry pi 2 OSの設定

OSのインストール
Windowsマシンでの作業。
OSのイメージファイルをRaspberryPiのダウンロードページからダウンロードする。
標準のRASPBIANをダウンロードした。ファイルサイズが大きいのとサイトが混んでる(?)せいか結構時間がかかる。
ダウンロードが終わったらファイルを解凍しておく。

次に、OSのイメージファイルをMicroSDに書き込むソフト DD for Windows をダウンロード。
DD for Windowsを解凍しておく。

WindowsマシンにMicroSDカードを接続して、DD for Windowsを管理者権限で実行する。
ドライブはMicroSDのドライブを指定して、ファイルにはRASPBIANのイメージファイルを指定して、
書き込みボタンを押すことで、イメージファイルをMicroSDカードへ書き込む。

この後からRaspberry Pi で作業。

Raspberry Pi 2 にMicroSDカードを指して、TVとUSBキーボードを繋ぎ、その後に電源を繋ぐ。
電源が入るとRASPBIANのOSが立ち上がり、セットアップ画面になる。
まずは、MicroSDカードの全ての容量を使えるようにするために、Expand Filesystem を実行する。
次は、タイムゾーンの設定。
Internationalisation Options -> Change Timezone -> Asia -> Tokyo
次は、日本語キーボードを使えるようにするため、
Internationalisation Options -> Change Keyboard Layout -> Generic 105-key(Intl) PC
-> Other -> Japanese - Japanese (OADG 109A)
として、再起動する。
ログイン画面が出るので、ユーザー名 pi パスワード raspberry でログインして使えるようになる。

無線LANアダプタを使えるようにする。
無線LANアダプタを挿入する。
% lsusb
でUSBに繋がったことを確認する。
無線LANの設定 /etc/wpa_supplicant ファイルを修正する。
% sudo bash
% cd /etc/wpa_supplicant
% wpa_passphrase ssid passphrase >> wpa_supplicant.conf
ssidには無線LANのSSIDを入力
passphraseには無線LANのパスワードを入力する。
その後ファイルを下記のように修正する。
% vi wpa_supplicant.conf
network={
ssid="xxx"
psk=xxx
key_mgmt=WPA-PSK
proto=WPA2
pairwise=CCMP TKIP
group=CCMP TKIP
}
次に、無線LANを固定IPアドレスで指定するための設定をする。
% cd /etc/network
% vi interfaces
iface wlan0 inet static
address 192.168.0.20
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
これで再起動する。
% sudo reboot
起動したら pi raspberry でログインし、
% ifconfig
% iwconfig
で無線LANに繋がっていることを確認する。
RASPBIANのOSを最新に更新する。
% sudo apt-get update
% sudo apt-get upgrade
更新されたら再起動しておく。
無線LANが繋がると、PCからSSH(TeraTermなど)を使ってRaspberry Piにログイン出来るようになる。

必要なツールのインストール
% sudo apt-get install chkconfig
% sudo apt-get install ftp

不要なデーモンの停止
% sudo chkconfig dhcpcd off
% sudo chkconfig triggerhappy off
% sudo chkconfig lightdm off
% sudo chkconfig motd off
% sudo chkconfig plymouth off
% sudo chkconfig avahi-daemon off
% sudo chkconfig rsync off
% sudo chkconfig dbus off
再起動しておく。

NTPで時計の同期
% sudo bash
% vi /etc/ntp.conf
server行をコメントアウトして、下記を追加
pool ntp.xxx.ne.jp iburst
% server ntp restart
うまく動いてるか確認
% ntpq -p
として、サーバー名の左側に"*"が付いていることを確認した。

MicroSDカードへの書き込むを減らすためにswapの無効化をする。
% free -h
total used free shared buffers cached
Mem: 927M 199M 727M 0B 22M 135M
-/+ buffers/cache: 40M 886M
Swap: 99M 0B 99M
99MのSwapが設定されている。
% sudo swapoff --all
% free -f
total used free shared buffers cached
Mem: 927M 64M 862M 0B 9.4M 26M
-/+ buffers/cache: 29M 898M
Swap: 0B 0B 0B
% sudo apt-get remove dphys-swapfile
% sudo reboot で再起動

と、ここまでがOSインストール後にやること。

タグ:Raspberry Pi 2

ラズパイ

ずっと欲しいと思ってたRaspberry Pi。

タバコの箱より小さい筐体にARMを積んだPCでLinuxが動くから自宅サーバーにしたいなーとずっと思ってました。(ケースは別売り、基本は基盤むき出しのまま)
今年に入ってから新機種 Raspberry Pi 2が出て、しかもMicrosoftがWindows10も対応しますって発表したので、これはもう買うしかない。
ってことでやっとアマゾンでポチっとしました。
本体にはHDMIが付いてるからTVに繋げば画面が出る。USBは4ポート。有線LANポート付き。電源はUSBのMicroBコネクタから供給。CPUは4コアと結構パワフル。と特殊なものは必要なくてそのまま使えるのも魅力。

動かすために必要なもの
・Raspberry Pi 2 本体:4500円くらい。
・ケース(なくてもいいけど):1500円くらい。
・MicroSD(OSはここに入れる) : 16GBあれば足りそう。今回は32GBを用意。
・無線LANアダプタ:あると便利。BUFFALO WLI-UC-GNMを用意。
・USBキーボード:家にあるもの。
・HDMIケーブル:家にあるもの。
・USB TypeA-MicroB ケーブル:Android携帯で使うものと一緒。
・USB電源アダプタ:家にあるもの。出来れば1A以上欲しい。

今回は本体とケースセット&MicroSD&無線LANアダプタをまとめてぽちりました。

OSはRaspberry PiのホームページからRaspbian(DebianベースのLinux)のイメージをダウンロードして、PCを使ってSDカードにそのイメージを書き込み、そのSDカードをラズパイに挿すことで起動するようになります。

SDカードを挿して電源を入れると問題なくOSが立ち上がったので、ロケールとタイムゾーンと日本語キーボードの設定をしてReboot。
再起動後に無線LANの設定をしてネットが繋がることを確認して、NTPの設定をして、OSのアップデート(更新はなかった)までして、念のためReboot。
再起動に問題なく動くことを確認しました。
特に設定しなくてもWindowsPCからSSHでログインも出来ることも確認したので、TVもUSBキーボードもLANケーブルも繋げなくても動くからケーブルがじゃまにならないし、SSHでログインしてメンテも出来るのでサーバーにも最適な感じ。

ちょっとしたトラブル
・一番始めの起動前から無線LANアダプタを付けたまま起動してみたら、起動中にエラーが出てまともに起動しなかった。無線LANアダプタを外して起動することで問題なし。
・キーボードを外して起動してみるとやっぱり起動中にエラー。無線LANアダプタを外して再起動出来た。

これ以降は無線LANアダプタを付けたままでもちゃんと起動することを確認したしたから問題はなさそう。

これからいろいろ遊んでみたい。
image1.JPGimage2.JPG

ギネス缶

ギネス ドラフト缶
よく見ると右上にUFO写ってるな
IMG_1253.JPG

nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:moblog

ベルビュークリーク

左がサクランボ風味のベルビュークリーク
右はデュシャス・ド・ブリュゴーニュ(ベルギービール)だったかな?

IMG_1833.JPG

メッセージを送る

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