2013年5月28日火曜日

Raspberry Piでやったこと履歴

---------------------------------------
Raspberry PIやったことリスト
---------------------------------------
・購入について
http://gadget.ichmy.0t0.jp/raspi/

---------------------------------------
・Setup時にやること
1.Raspi-config
   expand_rootfs を選択し、Enterのち、Finishでリブート

& sudo raspi-config
でいつでも実行できる

スーパーユーザーへの変更
$ sudo su -

2.デフォルトのログインID/PW

Default login Username: pi Password: raspberry


3.rootのパスワード設定
$ sudo passwd root

---------------------------------------
・無線LANの設定

http://d.hatena.ne.jp/pasela/20121224/raspi_wlan

起動時に無線LANアダプタで繋がるように設定する(WPA2-PSK)
/etc/network/interfacesをこんな感じに書き換えた。
wpa-*という項目はwpa_supplicant.confの項目と対応している(wpa-をつけて_を-にする)ので、詳しい値はそのへんのヘルプを参照。
たぶんwpa_supplicant.confに設定を書いて、こっちにはwpa-confで設定ファイルを指定してもいいんだと思う(後述)。

以下はWPA2-PSKの例。

auto lo

iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ap-scan 1
wpa-scan-ssid 1                  # APがステルスモードの場合は1、それ以外は0
wpa-key-mgmt WPA-PSK             # キーの種類
wpa-proto WPA2                   # WPAとかWPA2とか
wpa-pariwise CCMP                # CCMPとかTKIPとか
wpa-group CCMP                   # CCMPとかTKIPとか
wpa-ssid "接続先のSSID"
wpa-psk "接続先のキー"
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


・/etc/wpa_supplicant/wpa_supplicant.confに記載する場合
http://ginzanomama.hatenablog.com/entry/2013/02/06/141947

network={
ssid="myid"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
network={
 :    利用する他のAP
}


WPA-PSKやWPA2-PSKによって記載方法が変わる
下記参照
http://www.youchikurin.com/blog/2007/06/linuxlan_1.html


この場合、
/etc/network/interfaces
はデフォルトのまま


wpa-pskの部分は16進数で指定するんだけど、これはwpa_passphraseというコマンドで得られる。
こんな感じ。
# SSID=paselan, キー=himitsu123の場合
$ wpa_passphrase paselan himitsu123
network={
ssid="paselan"
#psk="himitsu123"
psk=190863550e8b4cf62f28747de7a6545c3ebb7c3e40af26a45811da549eae53a5
}

----------------------------------------
・無線LANその2

アクセスポイントごとに切り替え
http://ginzanomama.hatenablog.com/entry/2013/02/06/141947
----------------------------------------
・DHCPのアクセスポイントを変えた場合のIPを取得するため、IPアドレスを送信する

--myip.py--

# coding: utf-8
import smtplib
from email.MIMEText import MIMEText
from email.Utils import formatdate
import commands

from_addr = 'hogehoge@gmail.com'
to_addr = 'hogehoge@hogehoge.com'
login_user = 'hogehoge@gmail.com'
login_pass = 'hogehoge'
cmd = 'hostname -I'
msg = 'My IP Address is ' + commands.getoutput(cmd)
mail = MIMEText(msg)
mail['Subject'] = 'Raspberry Pi Notification'
mail['From'] = from_addr
mail['To'] = to_addr
mail['Date'] = formatdate()
send = smtplib.SMTP('smtp.gmail.com', 587)
send.ehlo()
send.starttls()
send.ehlo()
send.login(login_user, login_pass)
send.sendmail(from_addr, [to_addr], mail.as_string())
send.close()

・動作確認

$ python myip.py

/ect/rc.localに追記し、自動実行されるようにする

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

python /home/pi/src/myip/myip.py

exit 0

-------------------------------------------------
・自動メール送信スクリプト内のメールパスワードの暗号化

Pythonのパスワード管理はPit
・easy_installの準備
$ sudo apt-get install python-setuptools
・Pitのインストール
$ sudo easy_install pit


http://hidelafoglia.wordpress.com/2009/12/14/python-pit-%E3%81%A7%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E7%AE%A1%E7%90%86/
エディタを指定しつつ起動
$ EDITOR=vim python
>>>from pit import Pit
>>>Pit.set('hoge')

vimが起動して、使いたい変換を登録
ex)

mailaddress: 'hoge@gmail.com'

保存

実際のコード中では
from pit import Pit
hoge=Pit.get('hoge')
hoge[使いたい用語]
from_addr = 'hogehoge@gmail.com'
                 |
                 V
from_addr = hoge['mailaddress']


-------------------------------------------------
・日本語表示対応

http://www.designspark.com/knowledge-item/JPN-raspberry-pi-Japanese-version
Raspberry Piを購入するとみなさんはDebianを入れることでしょう。しかし!日本語がでない。。。

そこで、簡単に日本語環境を設定する方法を紹介します。

(1)まずはログイン

piユーザでログインします。

以下の方法はコンソールのままセッティングすることをおすすめします。

なぜかというと、Xを起動して設定すると、メモリが足りなくなり、ロケール設定がエラーになります。

(2)ロケールを設定します

以下のコマンドを実行します。

$ sudo dpkg-reconfigure locales

ここで、Linuxおなじみのコンフィギュレーション画面が出てきますので、

en_GB.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8

の3つにチェックをつけます。(スペースで*をつける)

デフォルトでは、
ja_JP.UTF-8 UTF-8
を選んでおきます

(3)フォントのインストール

Debianのフリーのフォントをapt-getでインストールしてください。

$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname

(4) 再起動

一度、再起動します。

$ sudo reboot

(5)起動したらXを起動

Xを起動してみてください。メニューまで日本語化されていますね。

$ startx

-------------------------------
・Xの日本語変換

http://namakemono345.com/kichijitsu/RaspberryPi/use/mozc.html

sudo apt-get install ibus-anthy; ibus-daemon -drx; ibus-setup


-------------------------------
・コンソールの日本語対応

http://debikuro.ddo.jp/blog2/archives/3503
1.4.コンソールでも日本語表示できるようにjfbtermとuimを追加インストール

$sudo apt-get install jfbterm uim uim-anthy

1.5.入力切替のキーをXのCtrl+Spaceに変更

# vi /usr/share/uim/generic-key-custom.scm

変更前

(define-custom ‘generic-on-key ‘(“zenkaku-hankaku” “”)
(define-custom ‘generic-off-key ‘(“zenkaku-hankaku” “”)

変更後

(define-custom ‘generic-on-key ‘(“zenkaku-hankaku” “”)
(define-custom ‘generic-off-key ‘(“zenkaku-hankaku” “”)

1.6.コンソールをjfbtermに変更し、uim-fepを起動

$ jfbterm
$ uim-fep

・jfbtermとuim-fepを自動起動させる
http://blog.michinari-nukazawa.com/2013_03_01_archive.html

piでログイン後、~/.bashrcの末尾に追記

case $TERM in
linux)
 if [ -c /dev/fb0 ]; then
  jfbterm -q -e uim-fep -u anthy
  exit
 fi
 ;;
esac

----------------------------------------
・OpenCVのインストール

$ sudo apt-get install libopencv-dev

-------------------------------
・ブラウザ追加
sudo apt-get update;sudo apt-get install chromium


-------------------------------
・cronの編集
エディタの変更
sudo update-alternatives --config editor
編集
sudo crontab -e

下記を最後に追記(Nexus7解像度)
@reboot su -c "vncserver :1 -geometry 1280x800 -depth 16 -pixelformat rgb565" - pi

-------------------------------
・Raspberry piで文書読み上げ
http://homebrew.jp/show?page=1462
http://arkouji.cocolog-nifty.com/blog/eeepc_ubuntu/

$ sudo apt-get install open-jtalk
$ sudo apt-get install hts-voice-nitech-jp-atr503-m001
$ sudo apt-get install open-jtalk-mecab-naist-jdic


http://shokai.org/blog/archives/6893
MMDの音声に差し替える
wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.3/MMDAgent_Example-1.3.zip
unzip MMDAgent_Example-1.3.zip
sudo cp -R MMDAgent_Example-1.3/Voice/* /usr/share/hts-voice/

読み上げようスクリプト ojt.sh

#!/bin/bash
#VOICE=/usr/share/hts-voice/nitech-jp-atr503-m001
VOICE=/usr/share/hts-voice/mei_happy
DIC=/var/lib/mecab/dic/open-jtalk/naist-jdic
open_jtalk \
-td $VOICE/tree-dur.inf \
-tf $VOICE/tree-lf0.inf \
-tm $VOICE/tree-mgc.inf \
-md $VOICE/dur.pdf \
-mf $VOICE/lf0.pdf \
-mm $VOICE/mgc.pdf \
-df $VOICE/lf0.win1 \
-df $VOICE/lf0.win2 \
-df $VOICE/lf0.win3 \
-dm $VOICE/mgc.win1 \
-dm $VOICE/mgc.win2 \
-dm $VOICE/mgc.win3 \
-ef $VOICE/tree-gv-lf0.inf \
-em $VOICE/tree-gv-mgc.inf \
-cf $VOICE/gv-lf0.pdf \
-cm $VOICE/gv-mgc.pdf \
-k $VOICE/gv-switch.inf \
-s 48000 \
-a 0.56 \
-p 220 \
-x $DIC \
-ow /tmp/ojtalktmpvoice.wav \
$1
aplay /tmp/ojtalktmpvoice.wav
rm /tmp/ojtalktmpvoice.wav

スクリプトを実行可能にする
$ sudo chmod +x ojt


test.txtの読み上げ
./ojt test.txt


音量
http://www.limemo.net/blog/2013/02/raspberry-pi-adjust-volume.html
sudo amixer cset numid=1 80%

----------------------------------------
GPIO
http://www.pwv.co.jp/~take/TakeWiki/index.php?raspberrypi%2FRaspberry%20Pi%E3%81%A7IO%E5%88%B6%E5%BE%A1
WiringPiのインストール

$ sudo apt-get install git-core


$ mkdir -p local/src
$ cd local/src/
$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ ./build

-------------------------------
・Android側アプリ

ssh
connectbot

VNC Viewer
AndroidVnc


AndroidVNCから日本語利用ができない!!

vx connectBotで日本語入力ができない

-------------------------------
・USBカメラ BUFFALO BSW32KM01H

http://blog.studiok-i.net/article/64885069.html

USBカメラの接続を確認
$ sudo lsusb

カメラビューワーをインストール
$ sudo apt-get install luvcview

起動
$ luvcview

サイズ指定して起動
# luvcview -s 320x240

AndroidからのVNCではエラーになって表示されませんでしたが、
PCからのVNCでは正常動作しました。

無線LANとUSBカメラだけなら電源付きUSBハブを使わなくても
直差しで動作しました。
-------------------------------
[未]youtube

そこでgnashの出番です。
こちらはオープンソースで開発されているフラッシュプレイヤーで、自前でコンパイル(実際にはパッケージに任せるのだけれど)するので大丈夫なのだそう。

(以下、raspbianを前提とします)
sudo apt-get install gnash
sudo apt-get install browser-plugin-gnash

これでraspbian標準搭載ブラウザ、Midoriでyoutubeが再生可能となります。
ただしgroovsharkやthefuture.fmなど、adobe flash playerだけを想定しているサービスには使えないのであしからず。

-------------------------------
・XBMCのインストール

http://assimane.blog.so-net.ne.jp/2013-04-03
$ su -
# echo "deb http://archive.mene.za.net/raspbian wheezy contrib" > /etc/apt/sources.list.d/mene.list
# ls -l /etc/apt/sources.list.d/mene.list
# cat /etc/apt/sources.list.d/mene.list

# apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
# apt-get update
# apt-get install xbmc

# exit
$ clear;/usr/lib/xbmc/xbmc.bin

日本語化
http://assimane.blog.so-net.ne.jp/archive/c2303875207-1
必ず先にAppearanceのSkin->Fonts->Arial based
をしてから言語をJapaneseに変える事
そうしないと文字化けで見えなくなる

YouTubeはアドオンを追加することで見えるようになる

-------------------------------
・ラジオ
http://skalldan.wordpress.com/2013/02/26/raspberry-pi-%E3%81%A7%E9%81%8A%E3%81%B6-5-wifi-%E6%8E%A5%E7%B6%9A%E3%81%A8%E3%81%8A%E3%82%82%E3%81%A1%E3%82%83%E3%81%AE%E3%82%B9%E3%83%94%E3%83%BC%E3%82%AB%E3%83%BC/

http://www.asahi-net.or.jp/~ea7k-smmr/raspberry-pi.htm

http://mmbrothers.exblog.jp/16987726/
音量調整
$ alsamixer

ラジオのアドレス集
http://www.shoutcast.com/radio/Japanese

$ mplayer -playlist *
*はラジオのURL

-------------------------------
・Bluetooth

http://astra.under.jp/blog/?p=297
$ sudo apt-get install bluetooth bluez-utils bluez-compat
$ sudo hcitool scan

$ sudo bluez-simple-agent hci0 <アドレス>

PINは0000 or 1234

http://homebrew.jp/show?page=1464

下記表示が出るとOK
$ sudo bluez-simple-agent hci0 7C:ED:8D:00:00:00
RequestPinCode (/org/bluez/6717/hci0/dev_7C_ED_8D_00_00_00)
Enter PIN Code: 0000
Release
New device (/org/bluez/6717/hci0/dev_7C_ED_8D_00_00_00)


信頼するデバイスとして登録
$ sudo bluez-test-device trusted 7C:ED:8D:00:00:00 yes
$ sudo bluez-test-input connect 7C:ED:8D:00:00:00

リブートして確認

$ hcitool con
Connections:
> ACL 7C:ED:8D:00:00:00 handle 39 state 1 lm MASTER

$ hcitool rssi 7C:ED:8D:00:00:00
RSSI return value: -4

-------------------------------
・samba
http://assimane.blog.so-net.ne.jp/2013-03-30
$ sudo apt-get install samba
$ sudo apt-get install samba-common-bin
$sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.org
$sudo vi /etc/samba/smb.conf

下記を最後に追加
# Add Start 20130525
 [share]
comment = share drive
read only = no
locking = no
path = /mnt/share
guest ok = no
force user = pi
# Add End 20130525

パスワードの登録
$ sudo smbpasswd -a pi

sambaの再起動 smb.confを書き換えたら必要
$ sudo service samba restart
-------------------------------
・電源
eneloop KBC-L2Bで無線LAN動作OK
ただし、USBメモリを追加で刺すと動作しなかった
-------------------------------
・WebIOPi
https://code.google.com/p/webiopi/wiki/INSTALL

$ wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz
$ tar xvzf WebIOPi-0.6.0.tar.gz
$ cd WebIOPi-0.6.0
$ sudo ./setup.sh

使い方
$ sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port]

    Options:
      -h, --help           Display this help
      -c, --config  file   Load config from file
      -l, --log     file   Log to file
      -s, --script  file   Load script from file
      -d, --debug          Enable DEBUG

    Arguments:
      port                 Port to bind the HTTP Server

起動と終了
$ sudo /etc/init.d/webiopi start
and
$ sudo /etc/init.d/webiopi stop

自動起動設定
$ sudo update-rc.d webiopi defaults
-------------------------------
deamonの整理とNTP

http://www.pc-links.com/blog/raspberrypi/daemon/

$ sudo aptitude install ntpdate

-------------------------------
Bottle.py

http://bottlepy.org/docs/dev/tutorial.html
-------------------------------

0 件のコメント: