Memo/Raspberry_Pi

http://dexlab.net/pukiwiki/index.php?Memo%2FRaspberry_Pi
 

Raspberry Pi

元々はイギリスで教育用に開発されたスモールコンピュータ。
ARM CPU(700MHz)、メモリ(256MB/512MB)、SDカード(ストレージ)、有線LAN、HDMI、USB電源で動作する。
デフォルトOSはDebianをカスタムしたRaspbian。
GPIO端子でLED等周辺機器を制御できる。


ハードウェアMPEG2/4デコーダを有効にする

ハードウェアMPEG2/4デコーダは無効になっているため、TSファイル等のMEPG2/4動画の再生はCPU 100%になってしまう。
MPEG2ライセンスを購入する事で、フルHDのMPEG2/4でもスムーズに再生できるようになる。

  1. MPEG-2 license key - Raspberry Pi Store
    • £2.40 (360円ほど)
    • PayPal?支払い
    • RPiのシリアル毎に購入する必要がある

Google Home連動


SDカードの寿命を延ばす

フラッシュメモリは書き換え回数上限があるので、処理によっては1年持たない。
SDカードの寿命を延ばすには書き込み回数を減らすと効果的。

  • SDカードの代わりにUSB HDD/SSDを使う
  • swap off
  • 書き込み回数の多いディレクトリ(/tmp, /var/tmp, /var/log)の代わりに、tmpfs(メモリ)を使う

watchdog timerでハングアップ/フリーズ時に再起動させる

ハードウェアタイマーなのでsshが繋がらない状態になっても復帰してくれる。

  • Raspbian jessie 8.0 / kernel 4.9 / watchdog 5.14-3: bcm2708_wdogから変わっていた
    1. sudo modprobe bcm2835_wdt

消費電力を計測


OSのバージョン確認

  • uname
    1. uname -a
    2. Linux raspberrypi 4.9.44+ #1029 Tue Aug 22 16:41:39 BST 2017 armv6l GNU/Linux
  • /etc/debian_version
    1. cat /etc/debian_version
    2. 8.0
  • /etc/issue
    1. cat /etc/issue
    2. Raspbian GNU/Linux 8 \n \l
  • lsb_release
    1. lsb_release -a
    2. No LSB modules are available.
    3. Distributor ID: Raspbian
    4. Description:    Raspbian GNU/Linux 8.0 (jessie)
    5. Release:        8.0
    6. Codename:       jessie

raspi-configをCLIから設定

  • https://github.com/Hexxeh/rpi-update
    • raspi-configはBash ShellScript?
    • 以下のようにCUIから直接機能を実行できるが、TUIが出てしまうものもあった。
      1. sudo raspi-config nonint do_<name> <value>

GUI/CUIの切替

  • 現在の設定の確認
    1. systemctl get-default
  • CUIに変更
    1. sudo systemctl set-default multi-user.target
  • GUIに変更
    1. sudo systemctl set-default graphical.target

rpi-updateに失敗する場合

  • githubからダウンロードしているようで、「503 Service Unavailable」等で失敗する場合がある。以下で確認。
    1. wget https://github.com/Hexxeh/rpi-update/raw/master/rpi-update
  • 壊れた時に、既存のバージョンで修復する場合
    1. sudo apt-get --reinstall install rpi-update

ロボット


監視カメラ


Cloud Pi: 容易にNAT越えを可能とするP2Pトンネルシステム

  • http://cloudpi.tokyo/
    • ソフトウェアで実現
    • プラネックスコミュニケーションズ株式会社製
    • 有償 3,719円

アクセス制限

いずれかの方法がある

  • iptables-persistent : 対話形式で聞いてくるのでIPv4だけにする
    • 例: sshだけ許可する
      1. sudo aptitude install iptables-persistent
      2. sudo vim /etc/iptables/rules.v4
      3. ----
      4. *filter
      5. :INPUT ACCEPT [0:0]
      6. :FORWARD ACCEPT [0:0]
      7. :OUTPUT ACCEPT [0:0]
      8. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      9. -A INPUT -p icmp -j ACCEPT
      10. -A INPUT -i lo -j ACCEPT
      11. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
      12. -A INPUT -j REJECT --reject-with icmp-host-prohibited
      13. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
      14. COMMIT
      15. ----
      16. sudo service iptables-persistent restart
      17. sudo chkconfig iptables-persistent on
  • iptables : CentOS等で慣れてる場合で手動で管理したい場合
    1. sudo aptitude install iptables
  • ufw : Ubuntu等で慣れてる場合
    1. sudo aptitude install ufw

デフォルト設定

  • /etc/default/ に色々ある
    1. keyboard
    2. locale

他PCからRPiを見つけられるようにする

Windows/MacOSXからのネットワークからRPiを簡単に見つけられるように、「avahi-daemon」をインストール。Bonjour互換

  • WindowsはiTunesに含まれる「Bonjour」のインストールが必要。WinRARであれば、iTunes64Setup.exe から Bonjour64.msi だけを取り出せた
  • MacOSXはデフォルトで入っているため不要
  • 「hostname.local」でアクセスできるようになるはず。/etc/hostsに「127.0.1.1 hostname」が追加される
    1. sudo apt-get update
    2. sudo apt-get install avahi-daemon

自動認識しない無線LANアダプタ

  • BUFFALO WLI-UC-GN の場合、lsusbで見ると認識されているが、ドライバが正しく入っていないようだ
    1. lsusb
    2. ...
    3. Bus 001 Device 004: ID 0411:014f BUFFALO INC. (formerly MelCo., Inc.)
    • 手動でインストール。ただし、再起動すると消えてしまう
      1. sudo su -
      2. modprobe rt2800usb
      3. echo "0411 014f" > /sys/bus/usb/drivers/rt2800usb/new_id
      4.  
      5. ifconfig
      6. # wlan0が出れば成功
    • 再起動後も有効になるように設定
      1. sudo su -
      2. echo "rt2800usb" >> /etc/modules
      3. echo 'install rt2800usb /sbin/modprobe --ignore-install rt2800usb; /bin/echo "0411 014f" > /sys/bus/usb/drivers/rt2800usb/new_id' > /etc/modprobe.d/wli-uc-gn.conf
      4. modprobe rt2800usb

無線LANアダプタの設定

  • DHCPの設定例
    • Security Mode: WPA2 Personal, WPA Algorithms: AES の場合
      1. wpa_passphrase <SSID> <PASSWORD>  >> /etc/wpa_supplicant/wpa_supplicant.conf
      2.  
      3. vim /etc/wpa_supplicant/wpa_supplicant.conf
      4. ----
      5. network={
      6.         ssid="<SSID>"
      7.         scan_ssid=0
      8.         proto=RSN
      9.         key_mgmt=WPA-PSK
      10.         pairwise=CCMP
      11.         group=CCMP
      12.         #psk="<PASSWORD>"
      13.         psk=********
      14. }
      15. ----
      16.  
      17. vim /etc/network/interfaces
      18. ----
      19. auto lo
      20.  
      21. iface lo inet loopback
      22. iface eth0 inet dhcp
      23.  
      24. auto wlan0
      25. allow-hotplug wlan0
      26. iface wlan0 inet dhcp
      27. wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
      28. iface default inet dhcp
      29. wireless-power off
      30. ----
    • up/downしてテスト
      1. sudo ifdown wlan0
      2. sudo ifup wlan0
      3. ifconfig
    • 速度低下や切断防止に「Power Management:off」かをチェック
      1. iwconfig
      2. ...
      3. wlan0     IEEE 802.11bgn...
      4.           Power Management:off

デプロイマネージメント

  • 初期セットアップ、毎回行うような処理はデプロイツールを使うと便利
  • Memo/Ansibleが使えた

NSX-39 ポケミクとの接続


BIOSの書き換え

flashromが使える。


GPIO

  • スイッチ類
  • ライブラリ
    • RPi.GPIO pythonでGPIOを扱うモジュール
    • WiringPi CUIから「gpio」コマンドが使えるようになる
    • WiringPi · GitHub 他言語向けWiringPi?実装? Python, PHP, Ruby, Perl

音声合成

  • 事前に音を鳴らす準備をしておく
  • テスト
    1. # aquestalkpi-20130827.tar.gz をWebからダウンロード
    2. tar xvfz aquestalkpi-20130827.tar.gz
    3. cd aquestalkpi/
    4.  
    5. ./AquesTalkPi "ゆっくりしていってね?" | aplay
  • テキストファイルから読み上げる
    1. ./AquesTalkPi -f test.txt | aplay
  • 声種(-v), 棒読み(-b), 速度(-s)、音量(-g)を指定
    1. ./AquesTalkPi -v f2 -s 80 -g 50 -b "漢字も読めるよ" | aplay
  • 標準入力(-f -)から読ませる
    1. date +"%H時%M分%S秒だよ" | ./AquesTalkPi -f - -s 80 -b | aplay

CUIから音を鳴らす

  • 準備
    1. # ミキサーの確認。numid=3のようだ
    2. amixer controls
    3. numid=3,iface=MIXER,name='PCM Playback Route'
    4. numid=2,iface=MIXER,name='PCM Playback Switch'
    5. numid=1,iface=MIXER,name='PCM Playback Volume'
    6. numid=5,iface=PCM,name='IEC958 Playback Con Mask'
    7. numid=4,iface=PCM,name='IEC958 Playback Default'
    8.  
    9. # 音声出力先をアナログに設定(1:アナログ、2:HDMI、3:auto)
    10. amixer cset numid=3 1
    11.  
    12. # テスト。ノイズが再生されたらOK
    13. aplay /usr/share/sounds/alsa/Noise.wav
  • 音量を上げる。numid=1
    1. # 現在の音量の確認。values=-1725
    2. amixer cget numid=1
    3. numid=1,iface=MIXER,name='PCM Playback Volume'
    4.   ; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
    5.   : values=-1725
    6.   | dBscale-min=-102.39dB,step=0.01dB,mute=1
    7.  
    8. # 音量を90%に設定
    9. amixer cset numid=1 90%
    10. numid=1,iface=MIXER,name='PCM Playback Volume'
    11.   ; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
    12.   : values=-662
    13.   | dBscale-min=-102.39dB,step=0.01dB,mute=1
  • 再起動しても有効なように、現在の設定を保存(/var/lib/alsa/asound.state)
    1. sudo alsactl store
  • VLCでmp3他多数のファイルを再生する。Xからなら動画もOK
    1. sudo aptitude install vlc
    2.  
    3. # mp3,ogg,wavを再生。中止はCtrl + C
    4. cvlc -q --aout alsa /usr/lib/python2.7/dist-packages/pygame/examples/data/house_lo.mp3
    5. cvlc -q --aout alsa /usr/lib/python2.7/dist-packages/pygame/examples/data/house_lo.ogg
    6. cvlc -q --aout alsa /usr/lib/python2.7/dist-packages/pygame/examples/data/house_lo.wav

温度計測

USBセンサーは PCsensorのgold TEMPer のOEMが入手しやすく、1000円+送料程度で入手できる


上海問屋 USB温度計 DNSB-35137(TEMPerV1.4)

TEMPerV1.4.jpg

  • 上海問屋 USB温度計 DNSB-35137 を使う場合。1,209円(本体999円 + メール便210円)。引っ張ると外側の金属ケース部分が簡単に外れた。
  • /var/log/messages の表示は TEMPerV1.4 でした。
  • Windowsの場合、ドライバ&ソフトウェア TEMPer V24.3.zip / Hid TEMPer V10.6.0 TEMPer V24.3.zip だけあれば使えた
    • Win7での認識 デバイスマネージャ: ユニバーサル シリアル バス コントローラー > USB Composite Device : バスによって報告されるデバイスの説明: TEMPerV1.4
    • 通知:Email, Skype, MSN Messenger
  • Twitter / askn37: TEMPerの個体問題、やっと解った。購入直後の何もしてない ... 精度に関して気になるツイート。購入直後は9bit 0.5C精度 / Windowsアプリで一度使うと 12bit 0.0625C精度。自分が購入した物は、いきなりLinuxに差しても0.13Cの差分が出ていたので違うかも。
  • calibration(校正)する必要がある。別の正しい温度計を用意して温度の離れた2点(室内/室外等)を測定する。
  • 温度取得エラーの際、オフラインとなり別デバイスとして再度認識される。58/1000回の割合で失敗した。そのたびにデバイスIDが1増える
    1. # pcsensor-1.0.2の場合
    2. USB interrupt read: Resource temporarily unavailable
    3. Fatal error> USB read failed
  • RaspbianにTEMPerを取り付ける
    1. # 認識
    2. sudo lsusb
    3. Bus 001 Device 004: ID 0c45:7401 Microdia
    4.  
    5. sudo less /var/log/messages
    6. Jan 10 10:28:19 raspberrypi kernel: [5004440.042720] usb 1-1.3: new low-speed USB device number 4 using dwc_otg
    7. Jan 10 10:28:19 raspberrypi kernel: [5004440.152687] usb 1-1.3: New USB device found, idVendor=0c45, idProduct=7401
    8. Jan 10 10:28:19 raspberrypi kernel: [5004440.152721] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    9. Jan 10 10:28:19 raspberrypi kernel: [5004440.152737] usb 1-1.3: Product: TEMPerV1.4
    10. Jan 10 10:28:19 raspberrypi kernel: [5004440.152752] usb 1-1.3: Manufacturer: RDing
    11. Jan 10 10:28:19 raspberrypi kernel: [5004440.167475] input: RDing TEMPerV1.4 as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input0
    12. Jan 10 10:28:19 raspberrypi kernel: [5004440.168322] hid-generic 0003:0C45:7401.0001: input,hidraw0: USB HID v1.10 Keyboard [RDing TEMPerV1.4] on usb-bcm2708_usb-1.3/input0
    13. Jan 10 10:28:20 raspberrypi kernel: [5004440.178819] hid-generic 0003:0C45:7401.0002: hiddev0,hidraw1: USB HID v1.10 Device [RDing TEMPerV1.4] on usb-bcm2708_usb-1.3/input1
  • bitplane/temper GitHub の場合。一つのデバイスのみ対応。TEMPerが接続されていない場合、応答が帰ってこない
    • パッチ: filetemper.localtime.patch localtimeを使う, 校正値の初期化, rootユーザ以外でも実行
      1. # コンパイルに必要なパッケージをインストール
      2. sudo aptitude install libusb-dev
      3.  
      4. cd /tmp
      5. git clone https://github.com/bitplane/temper.git
      6. cd temper/
      7. patch -p1 < ../temper.localtime.patch
      8. make
      9. sudo make install
      10.  
      11. # rootユーザ以外でも実行できるようにする
      12. sudo cp 99-tempsensor.rules /etc/udev/rules.d/
      13. # 再起動(sudo service udev reload, sudo udevadm control --reload-rules してTEMPer抜き差ししてもダメだった)
      14. sudo reboot
      15.  
      16. # 実行
      17. temper
      18. 10-Jan-2014 11:26,28.000000
  • calibration(校正)する。別の正しい温度計を用意して、温度の離れた2点(室内/室外とか)を計測。10分程度放置して安定した時の値を読む。
    Windowsアプリと、Linuxアプリでの測定で結果にかなり差がある(4℃位)ため、Linuxだけで測定する必要がある。
    測定1測定2差分
    他温度計26.122.04.1…(1)
    TEMPer29.87527.7502.125…(2)
  • 校正値を計算して再インストール
    • Scale : (1)/(2) = 1.929
    • Offset: 22.0 - (27.750x1.929) = -31.530
      1. vim temper.c
      2. ----
      3. static float scale = 1.929;
      4. static float offset = -31.530;
      5. ----
      6. make clean
      7. make
      8. sudo make install
  • Zabbixの監視に追加する場合
    • Zabbix Agentに追加
      1. sudo vim /etc/zabbix/zabbix_agentd.conf.d/userparameter_roomtemp.conf
      2. ----
      3. UserParameter=sensor.RoomTemp[*],/usr/local/bin/temper | grep -o -P '\d+\.\d{2}'
      4. ----
      5. sudo service zabbix-agent restart
      6.  
      7. # テスト
      8. zabbix_agentd -t 'sensor.RoomTemp[]'
      9. sensor.RoomTemp[]                             [t|21.99]
    • Zabbix Server にItem追加
      名前: RoomTemp
      タイプ: Zabbixエージェント
      キー: sensor.RoomTemp[]
      データ型: 数値(浮動小数)
      単位: ℃
      更新間隔: 300
      ヒストリの保存期間: 7
      トレンドの保存期間: 365
    • グラフの例

TEMPerV1.4-zabbix.jpg


  • pcsensor-1.0.2 for TEMPerV1.2 with multi device support | OSAKANA TAROのメモ帳 の場合。マルチデバイス対応だが、calibration(校正)設定が無い。temperのソースを見るとデバイス1つなら3行追加すれば済むが、マルチデバイスやデバイスエラー毎にID変わったりするのを考慮して補正設定を入れる必要があるのでちょっと面倒か。
    1. # コンパイルに必要なパッケージをインストール
    2. sudo aptitude install libusb-dev
    3.  
    4. # ソースからコンパイル
    5. cd /tmp
    6. wget http://blog.osakana.net/sw/pcsensor/pcsensor-1.0.2.tar.gz
    7. tar xvfz pcsensor-1.0.2.tar.gz
    8. cd pcsensor-1.0.2/
    9. rm pcsensor
    10. make
    11. sudo cp pcsensor /usr/local/bin/
    12.  
    13. # rootユーザ以外でも実行できるようにする
    14. sudo make rules-install
    15.  
    16. # 再起動(sudo service udev reload, sudo udevadm control --reload-rules してTEMPer抜き差ししてもダメだった)
    17. sudo reboot
    18.  
    19. # 実行
    20. pcsensor -d
    21. 2014/01/10 10:44:54 Bus 001 Device 004 Temperature 81.28F 27.38C

Zabbix Agentのインストール

  • Raspbian標準リポジトリには 1.8.11 が入っていた。Serverと同じバージョンが良いが、このままでも使える。zabbix 2.0のLinuxテンプレートではCPU Loadは取得できない。「percpu」を使わないアイテムを別途作れば可能 Zabbix Agent から system.cpu.load 値の取得が出来なかったので調査した記録 | Check!Site
    1. aptitude show zabbix-agent
    2.  
    3. Package: zabbix-agent                    
    4. State: not installed
    5. Version: 1:1.8.11-1
    6.  
    7. sudo aptitude install zabbix-agent
    8. sudo vim /etc/zabbix/zabbix_agentd.conf
    9. ----
    10. Server=192.168.1.100
    11. ListenIP=192.168.1.110
    12. ----
    13. sudo service zabbix-agent restart
    14.  
    15. # ローカルでテスト
    16. zabbix_agentd -t agent.ping
    17. agent.ping                                    [u|1]
    18.  
    19. # ファイアウォール設定
    20.  
    21. # Zabbix Serverからテスト 1 ならOK
    22. zabbix_get -s 192.168.1.110 -k agent.ping
    23. 1
  • Segmentation faultで失敗 wheezy-backportsにzabbix 2.0.9があるのでRaspbianにインストールする場合
    1. wget http://ftp.jp.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2012.4_all.deb
    2. sudo dpkg -i debian-archive-keyring_2012.4_all.deb
    3.  
    4. sudo vim /etc/apt/sources.list.d/wheezy-backports.list
    5. ----
    6. deb http://ftp.debian.org/debian/ wheezy-backports main
    7. deb-src http://ftp.debian.org/debian/ wheezy-backports main
    8. ----
    9. sudo aptitude update
    10. aptitude -t wheezy-backports show zabbix-agent
    11.  
    12. sudo aptitude -t wheezy-backports install zabbix-agent
    13.  
    14. ...
    15. [....] zabbix_agentd starting...Segmentation fault
    16.  
    17. # アンインストール
    18. sudo aptitude remove zabbix-agent

cron logの有効化

  • Raspbian だとデフォルトは無効になっている
    1. sudo vi /etc/rsyslog.conf
    2. ----
    3. cron.*   /var/log/cron.log
    4. ----
    5. sudo service rsyslog restart

hostname変更

  • Raspbian
    1. hostname pi.example.com
    2. sudo vi /etc/hostname
    3. ----
    4. pi.example.com
    5. ----
    6.  
    7. sudo vi /etc/hosts
    8. ----
    9. 127.0.1.1  raspberrypi pi.example.com
    10. ----

独自サービスの追加

  • sysv-rc-conf は何故か設定しても自動起動しなかった
  • chkconfigも使える
    1. sudo aptitude install chkconfig
  • insservを使う方法 例:filevpnserver.Raspbian
    1. sudo vim /etc/init.d/hoge
    2. ----
    3. ...
    4. ----
    5. sudo chmod +x /etc/init.d/hoge
    6.  
    7. # 登録
    8. sudo insserv -d hoge
    9.  
    10. # 一覧
    11. insserv -s
    12.  
    13. # 削除
    14. sudo insserv -r hoge

SoftEther? VPNでVPN Server


static IPを割り振る

デフォルトはDHCP

  • static IP:192.168.1.100 とする場合
  • Raspbian
    1. sudo vi /etc/network/interfaces
    2. ----
    3. auto lo
    4.  
    5. iface lo inet loopback
    6. #iface eth0 inet dhcp
    7.  
    8. # static ip
    9. iface eth0 inet static
    10. address 192.168.1.100
    11. netmask 255.255.255.0
    12. gateway 192.168.1.1
    13. # /static ip
    14.  
    15. allow-hotplug wlan0
    16. iface wlan0 inet manual
    17. wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
    18. iface default inet dhcp
    19. ----
    20.  
    21. # 再起動する
    22. sudo shutdown -r now

Minecraft: Pi Edition

raspbian-minecraft-0.1.1.jpg

  • http://pi.minecraft.net/
    • Raspbian "wheezy" with XWindows 向け
    • ポケットエディションベース、シングルプレイ:クリエイティブモードのみ(v0.1.1 alpha)
    • python(default), Ruby でプログラミング可能
  • インストール
  1. LXTerminalを開く
    1. wget https://s3.amazonaws.com/assets.minecraft.net/pi/minecraft-pi-0.1.1.tar.gz
    2. tar xvfz minecraft-pi-0.1.1.tar.gz
    3. cd mcpi/
    4. ./minecraft-pi

Scratch: 子供向けプログラミング環境


スクリーンショットを取る

  • raspi2png
    1. wget -O raspi2png.zip https://github.com/AndrewFromMelbourne/raspi2png/archive/master.zip
    2. unzip raspi2png.zip
    3. cd raspi2png-master/
    4. sudo apt-get install libpng12-dev
    5. make
  • 実行: snapshot.pngとして保存される
    1. ./raspi2png

ソフトウェア、kernel、GPUファームウェアの更新

  • ソフトウェアの確認
    1. sudo aptitude update
    2. sudo aptitude upgrade
    3. sudo apt-get dist-upgrade
  • kernel, GPUファームウェアの更新
    1. # GPUファームウェア更新
    2. sudo rpi-update
    3.  
    4. # 再起動
    5. sudo reboot
    6.  
    7. # kernel確認
    8. uname -a
    9. Linux raspberrypi 3.12.24+ #694 PREEMPT Tue Jul 15 17:34:35 BST 2014 armv6l GNU/Linux
    10.  
    11. # GPUファームウェア確認
    12. sudo /opt/vc/bin/vcgencmd version
    13. Jul 20 2014 16:07:56 
    14. Copyright (c) 2012 Broadcom
    15. version d8cfa5ccd979ca458fef97e87c14eb804c93762b (clean) (release)

ディストリビューション

  • NOOBS
    • SDカードをフォーマットして、ファイルをコピー。各OSをオフラインやネットワークインストールする
    • microSDが大容量(4GB〜)、複数のOSを試したい時や、頻繁にOSを再インストールする場合
    • 起動時にshiftキー押しっぱなしでOS選択画面が出る
  • Raw Images
    • ddを使ってSDカードに書き込む。
    • SDカードの容量が小さい(2GB〜4GB)の時、長期にわたってOSの入れ替えが無いケース
  • Weston on Raspberry Pi X Window System に代わりwaylandディスプレイマネージャを使う事でGPUを利用し軽量なデスクトップ環境を実現。テスト段階なので不安定かも

NOOBS : 複数のディストリビューションをメニューから選択してインストール

  • 各種ディストリビューション(Raspbian, OpenELEC, Pidora等をインストールできる)
  • noobs/README.md よく読む
  • 4GB以上のSDカードを用意(相性問題があるのため動作確認が取れているカードを使うのが無難)
  • 再インストールは起動時にSHIFTキー押しっぱなしでRecovery Menuが出る
  • 複数選択した場合は、起動時にOS選択メニューが出る
  1. PCでSD Formatter 4.0 for SD/SDHC/SDXC - SD Association FORMAT SIZE ADJUSTMENT:ON, でフォーマット
  2. NOOBSをダウンロード。ここではoffline版
  3. NOOBS_v1_3.zip を展開。(NOOBS Lite はネットワークインストール専用のためSDカード容量が少なくても良いと思う)
  4. 全てのファイルをSDカードのルートにコピー
  5. Raspberry Piに、マウス、キーボード、ディスプレイ、LAN等を差し込んでから電源ON
  6. NOOBSのメニューが表示されるので、OSを選択
    • Language: English(US) (日本語もあるが、localeが変更されraspi-configが化けるため英語)
    • Keyboard: jp
  7. Raspbian にチェック
  8. Install
  9. "SDカード上のデータが上書きされるが良い?"と聞いてくるので"Yes"
  10. 1639MBを書き込むのに0.5〜1.4MB/sec(ADATA class4)位なので、約15分程
  11. インストールが終わると自動的に再起動する

OpenELEC : XBMC メディアプレイヤー


Pidora : Fedora系

RedHat?/CentOS系に慣れた人は良さそう

  • pidora
    • Fedora RemixをRaspberry Piに最適化したもの
  • Fedora Remix
    • FedoraのARM CPU向けのディストリビューション
  • インストール
  1. 初期設定が始まる
    • Welcome: Forward
    • License Infomation: Forward
    • Keyboard: Japanese
    • Create User: Username:pidora, Password: ********
    • Root User: Password: ********
    • Date and Time:
    • Time Zone:
    • Filesystem:
    • System Settings:

Raspbian : debian系(デフォルト)

raspbian-7.1.jpg

  • インストール
  1. raspi-configが自動起動するので設定
    • Expand Filesystem: パーティションの設定。NOOBSは特に設定なし
    • Change User Password: piユーザのパスワードを変更
    • Enable Boot to Desktop/Scratch: デフォルトで起動するUIを選択。
    • Internationalisation Options:言語、タイムゾーン、キーボードレイアウトの設定
      • Change Locale: en_US.UTF-8
      • Change Timezone: Asia > Tokyo
      • Change Keyboard Lauout: Generic 105-key (Intl) PC > Other > Japanese > The default for the keyboard layout
    • Enable Camera: Carameモジュールを接続している場合
    • Add to Rastrack:
    • Overclock:
    • Advanced Options:
      • A4 SSH: Enabled
      • A5 Update: raspi-config自身のネットワークアップデートを行う
    • About raspi-config:
  2. Finishで終了
  3. ifconfigでIPアドレスを調べる
    1. ifconfig
  4. 外からsshで接続できるか確認
    • default user: pi
    • default password: raspberry
      1. ssh pi@IPアドレス
      2.  
      3. # rootになれるか
      4. sudo su -
      5.  
      6. # rootユーザのパスワード変更
      7. passwd
  • NOOBS_v1_3.zipでインストールした場合のバージョン情報
    1. uname -a
    2. Linux raspberrypi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linux
    3.  
    4. cat /etc/debian_version
    5. 7.1
  • 再設定
    1. sudo raspi-config
  • Xの起動
    1. startx
    • Xの終了: 左下のメニュー > Logout または 右下の電源マークからLogout
  • 再起動とシャットダウン
    1. #再起動
    2. sudo /sbin/shutdown -r now
    3.  
    4. # シャットダウン
    5. sudo /sbin/shutdown -h now
  • 使い慣れたツール導入
    1. sudo aptitude install vim chkconfig
  • 日本のNTPサーバを設定
    1. sudo aptitude install ntpdate
    2. sudo service ntp stop
    3. sudo ntpdate ntp.nict.jp
    4. sudo perl -p -i -e 's#^(server \d+.debian.pool.ntp.org iburst)$#\#$1#' "/etc/ntp.conf"
    5. sudo vim /etc/ntp.conf
    6. ----
    7. server ntp.nict.jp
    8. server ntp.jst.mfeed.ad.jp
    9. server ntp.ring.gr.jp
    10. ----
    11. sudo service ntp restart
    12. chkconfig ntp on
  • メモリ節約
    1. sudo vim /etc/inittab
    2. ----
    3. #2:23:respawn:/sbin/getty 38400 tty2
    4. #3:23:respawn:/sbin/getty 38400 tty3
    5. #4:23:respawn:/sbin/getty 38400 tty4
    6. #5:23:respawn:/sbin/getty 38400 tty5
    7. #6:23:respawn:/sbin/getty 38400 tty6
    8. ----
    9. reboot
  • ソフトウェアとGPUファームウェアの更新
    1. sudo aptitude update
    2. sudo aptitude upgrade
    3. sudo apt-get dist-upgrade
    4. sudo rpi-update
    5. sudo reboot

購入


書籍


GPIO/ブレッドボード/その他


ケース


HDMI/DVIケーブル

  • HDMI、HDMI-DVI変換ケーブルで接続できる

WiFi? USBアダプタ

  • Raspberry Piで動作実績があるチップ
    • Realtek Linux Driver
      • RTL8188CUS (Planex製品が多い)
    • Ralink Linux Driver
      • RT3070 (Buffalo製品他)
      • RT2870 (Buffalo製品他)

SDカード

OSをSDカードにインストールするので必須。

  • 動作確認: http://elinux.org/RPi_SD_cards
    • 容量4GB以上、Class4以上
    • 相性がシビア。bootしなかったり、エラーが出る物も多いようだ
  • 実際に試してOKだったもの
    • A-DATA 16GB (型番不明)
    • Transcend microSDHCカード 16GB Class10 TS16GUSDHC10E

電源

  • microUSB端子, 5V, 500mAh 以上
  • USB機器(WiFi?,USBメモリ,etc)を繋ぐ場合、700mA以上のもの。デフォルトの500mAでは足りず、不安定になる場合もある。
  • USBキーボード/マウスを認識しない場合、USBハブのバスパワーではなくACアダプタ経由で繋いだら動作した

本体

  • Products - Raspberry Pi
    • RASPBERRY PI 3 MODEL B+: おすすめ
      • WiFI + Bluetooth
      • 5V/2.5Aと大出力のUSB電源が必要
    • RASPBERRY PI 2 MODEL B:
      • 以前のケースと互換正なし
    • RASPBERRY PI 1 MODEL B+
    • RASPBERRY PI 1 MODEL A+
    • RASPBERRY PI ZERO W: おすすめ
      • ZERO + WiFI + Bluetooth
    • RASPBERRY PI ZERO:
      • 小型、GPIOピンヘッダは半田付けなし
  • 基本は、本体、簡単な説明書のみで、他には何も付属していない。
  • 他には、USB/microUSB電源、USB/microUSBケーブル、HDMI/miniHDMIケーブル、SD/microSDカード、キーボード、マウス(Xを使う場合)、LANケーブル(Pi3/ZeroWは不要)が必要
  • SDカードが刺さっていないと、ディスプレイには何も表示されない。問題ない場合はカラーグラデーションがディスプレイに表示される
  • Pimoroni - Raspberry Pi, Adafruit, SparkFun from the UK イギリス。支払い:PayPal?/Amazon pay/クレジット/ビットコイン
    • 送料: International Standard (5-10 business days) £5 / Royal Mail Tracked & Signed £8 / UPS Saver (1 business day) £27.70
    • 2017-05-19: Raspberry Pi Zero Wあり
  • ModMyPi イギリス。支払い:PayPal?/クレジット/デビット/ビットコイン。ケース付き約5500円(Type B: £24.99 + ケース必須: £4.16 + 送料(EMS): £7.99)
    • 送料: グローバル航空便(5-15営業日)£5 / 航空便グローバル署名付き+追跡(3-15営業日)£7.99 / DHLエクスプレス(1-4営業日)£39.99
    • 2017-05-19: Raspberry Pi Zero Wあり
  • RSオンライン 本体のみ約3910円(Type B: £26.00 + 送料:0)、初期は配送が非常に遅い(16週間)トラブルがあった


添付ファイル: fileTEMPerV1.4-zabbix.jpg 386件 [詳細] fileTEMPerV1.4.jpg 544件 [詳細] filetemper.localtime.patch 462件 [詳細] filevpnserver.Raspbian 497件 [詳細] fileraspbian-minecraft-0.1.1.jpg 493件 [詳細] fileraspbian-7.1.jpg 378件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-03-15 (木) 11:54:45 (42d)