2016/11/20 変デジ開発室へのリンク追記
はじめに(2016/11/20修正)
Raspberry Piの後継として、クアッドコアとなり、大幅にパワーアップしたRaspberry Pi 2やWiFi Bluetooth機能が追加されたRaspberry Pi 3、が販売されています。特別な理由がなければ今はRaspberry Pi 3の方がオススメかなと思います。こちらのセットアップ記事も書きましたので、以下記事参照ください。
Raspberry Pi 3での最新のOS Raspbian Jessieのセットアップ
Raspberry Pi 2での設定はこちら
こちらはRaspbian Wheezy(NOOBS)のセットアップ方法です。参考まで
一年越しの企画再開
デジカメ作ると宣言して下記の記事書きました。
気づけば、一年の月日が流れていました。実はあんまりピッタリ来る筐体が見つからなくて、3D CADで設計しようとしてめんどくさくなったり、2眼レフを買ったけどあまりに加工がしんどかったりとウダウダやっていてこんな感じになっていました。
そんなこんなですっかり忘れかけていたのですが、なかよしのピンホールカメラが筐体にピッタリそうということで思い切って再開してちょっと公開したら結構反響あったので、まあ引くに引けなくなって再開することと相成りました。
Raspberry Pi Setup
メインのマイコンはRaspberry Piを使います。理由は以下です。
- 結構安い
- カメラモジュールあって映像取り込みの部分が楽そう
- 映像出力が楽(HDMI, コンポジット出力有り)
- USB端子で色々拡張できそう
- 市販のUSBバッテリがバッテリとして使える
セットアップの仕方はネットを探せばいくらでもでてくるのですが、いつも忘れて探すのに時間かかるので自分のためにまとめておきます。自分以外の人は、ここみるより参考リンクをみるか、ネットで検索して詳しく説明しているサイト探した方がよいかと思います。これ以降は、Raspbian Wheezyインストールする前提で書いています。
必要なもの
ソフト開発環境に必要なものです。基本的にデスクトップパソコンはあるものという前提で話しています。もし無い場合は、USBキーボードとディスプレイも購入して下さい。
Raspberry Piカメラモジュール小型化のため、これ使ってマイクロSDカード使います今後のデジカメ化を見越してmicroSDカードでセットアップ[asin:B005DU4XSM:detail]
WiFi内蔵デジカメ化するため
[asin:B00PTGO146:detail]
電源はRaspberry PiからUSBデバイス繋げること考えると、2A程度供給できるものだと安心。
大体 Raspberry Piが700mA@5V, USBデバイスの規格がMax 500mA@5Vでこれが2つだと合計1.7A程度。
microSDカードにOS書き込み
以下Mac向けです。Windows用は適当にググってみて下さい(すみません)。以下のサイトでOSをダウンロードします。無料なので安心してダウンロードして下さい。今はNOOBSというのが主流らしいですが、少し起動が遅くなるっぽいのでRASPBIANをダウンロードして下さい。
書き込みはSDカードライタを使うと楽です。以下からダウンロードして下さい。
SD card setup – Raspberry Pi – Mac | All the (*)Ware
後は、SDカード刺してSDカードライタ起動して、最初にダウンロードしたイメージ "2014-06-20-wheezy-raspbian.img"を開いてSDカードのドライブを選択。その後しばらく待つ(何も画面が出なくて不安だけど5分くらい)と書き込み完了のダイアログが出ます。これで書き込みはOK。
他DDコマンドでSD書き込みをする方法があるのですが、私はこちらはうまくできませんでした(一日放置しても書き込みが終わらない)。ネットだとカードライタを使うと失敗する人とかもいるようです。まあここでうまくいくもいかないも基本運なので、うまくいかないときはあまり悩まず色々な環境、方法で試してみるのがよいと思います。SDカード、書き込み方法、OS、PC等の組み合わせが肝です。なるべくネットで実績ある組み合わせを使うのと、あんまり新し過ぎるもの、古過ぎるものは使わないのが肝です。
Raspberry Piハードウェアセットアップ
ハードウェアのセットアップです。
microSDカード挿入
上記の写真のように変換アダプタとRaspbianを書き込んだmicroSDカードを挿入します。
周辺デバイスとの接続
上記の写真を参考に電源、ディスプレイ、キーボード、カメラモジュールを接続して下さい。要はパソコンの要領です。カメラモジュールが刺さるコネクタ2つあるので間違えないように注意。ちなみに一度私は間違えました…
あと写真では繋ぐの忘れてましたが、LANケーブルも繋げましょう。
Raspberry Pi起動
接続して電源入れると起動します。特にスイッチとかは無くて電源入れるといきなり動き出します。なのでコンセントのタップにスイッチがあると便利かもしれません。
初期設定
raspi-config
最初、初期設定画面が出ます。初期設定はこの後raspi-config
というコマンドで何度でも設定できるので間違えてもOKです。
- Expand Filesystem: SD カードの空き領域をハードディスク(ルートファイルシステム)として使う【設定する】
- Internationalisation Options: 言語の設定をする
Change Locale: ロケール(文字コード等)を設定する【en_GB.UTF-8 を解除し,en_US.UTF-8 と ja_JP.UTF-8 を選択する.デフォルトは en_US.UTF-8 としておく】
Change Timezone: 時間帯を設定する【Asia/Tokyo とする】
Change Keyboard Layout: キーボードを設定する【使用するキーボードに合わせて(日本語キーボードの場合は "Generic 105-key (Intl) PC" > "Others" > "Japanese" > "Japanese" ...)】
- Advanced Options: 高度な設定
Hostname: この Raspberry Pi のネットワーク上でのホスト名【例.karaagePi】 (*アンダーバーとか記号使うとダメなので注意)
SSH: SSH によるログイン【Enable】 とする
- Camera module:【Enable】に設定
設定終わって、OKすると再起動します。
再起動後は ユーザー名:pi パスワード:raspberry でログイン
Raspbian Update
最初は以下の2つのコマンドを打ってOSをアップデートします。Windowsアップデートみたいなものです。多分数分程度かかります。ちなみに、コマンドの一番頭にあるsudo
というのは、管理者権限で実行するという意味です。
pi@karaage_pi~ $ sudo apt-get update pi@karaage_pi~ $ sudo apt-get upgrade
とりあえず初期設定はこんなもん。
Raspberry Pi ネットワーク・リモートアクセス設定
次にネットワーク関係の設定をしておきます。これをしておくと、以降はRaspberry Piにディスプレイ、キーボード、LANケーブルの接続が不要になります。
以降は、無線LAN(USB)、電源を繋いでおくだけで、外から別のPCでRaspberry Piにアクセスして、デバッグすることができるようになります。
無線LAN設定
無線LANアダプタをRaspberry Piに差し込んで起動しましょう。
/etc/network/interfaces
画面を編集。viというエディタを使って編集します。viエディタはwindowsのメモ帳とかのエディタに比べると独特な操作方法だから、知らない人はグーグル先生に教えてもらってね☆
pi@karaagePi ~ $ sudo vi /etc/network/interfaces
以下の6行目のdhcp
という部分と、6行目のwpa-conf
という箇所を修正。
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
次に/etc/wpa_supplicant/wpa_supplicant.conf
を編集
pi@karaagePii ~ $ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
以下のMynetwork
とMyPassPhrase
の部分を修正。自分の使っている無線LANのSSIDとパスワードを入力してね☆平文で不安だわーという人は、後で出て来る参考リンクのところを参考に設定してみて下さい。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="MyNetwork" psk="MyPassPhrase" }
これでOK。一旦再起動しましょう。再起動は以下のコマンドね。
pi@karaagePi ~ $ sudo reboot
再起動したら、ifconfig
でipアドレスとれているかチェックしてみるとよいです。
pi@karaagePi ~ $ ifconfig
wlan0
ってところに192.168.0.*
的な番号がふられていればOK!
2015/10/16追記。複数のWiFiスポット設定したい場合は、以下のように書けばOK
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="MyNetwork" psk="MyPassPhrase" } network={ ssid="MyNetwork2" psk="MyPassPhrase" } network={ ssid="MyNetwork3" psk="MyPassPhrase" }
ネットワーク設定
ipアドレスはころころ変わったりするので、ホスト名(自分の場合はkaraagePi)を使ってアクセスできると便利なので、Avahiというやつをインストールします。インストールは以下のコマンドでOK。Yes/No 枕的なものが出て来たらとりあえずYesで。
pi@karaagePi ~ $ sudo apt-get update pi@karaagePi ~ $ sudo apt-get install avahi-daemon
これ以降は再起動しても自動実行されるようになります。再起動したら、Macのターミナルから以下のコマンドをうってみましょう。
karaage mac ~ $ ping karaagePi.local
なんか反応きたらOK。ipアドレス直だとOKだけど、ホスト名だとダメな場合は Raspberry Piとパソコンが同じ SSIDを使っているかチェックしてみて下さい。
じゃあ次はsshでアクセスしてみましょう。
karaage mac ~ $ ssh pi@karaagePi.local
これでsshでアクセスできたらひとまずリモートアクセス環境はOK!
固定IP設定
2015/06/16追記
Raspberry PiのローカルIP。外から繋げたい場合等、なにかと固定しておいた方がよいこともあるので、固定する方法です。無線LANで固定IPにする設定が意外になかったりしたのでメモ。まあ有線の場合と基本同じなんですけどね。
まずは/etc/network/interfaces
を以下コマンドで編集
pi@karaagePi ~ $ sudo vi /etc/network/interfaces
以下はRaspberry PiのローカルIPが192.168.0.50
、ルーターのIPアドレスが192.168.0.1
の場合の例です。それぞれのネットワーク環境に応じて修正下さい。nameserver
は省略しても大丈夫でした。ルーターから引っ張ってこれるのでしょう。
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet static wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf address 192.168.0.50 netmask 255.255.255.0 gateway 192.168.0.1 iface default inet static
リモートデスクトップ設定
じゃあ次はリモートデスクトップできるようにしましょう。
以下のコマンドでインストール。簡単だね!
pi@karaagePi ~ $ sudo apt-get install tightvncserver
あとは以下のコマンドで起動。初回だけパスワード設定が必要なので設定しましょう。
pi@karaagePi ~ $ vncserver :1
あとは、Macのファインダーの移動 -> サーバーに接続 (Command + KでもOK)から接続にいきます。
+ボタンでよく使うサーバーに追加しておくと便利です。これでRaspberry Piのデスクトップ画面が表示できたらOK
ただ、tightvncserver 自動起動しないため、今後再起動するたびに vncserver :1 とコマンドをうってやる必要があります。これは面倒くさいので、自動起動できるようにしましょう。
まずは /etc/init.d/vncboot を作成
pi@karaagePi ~$ sudo vi /etc/init.d/vncboot
vncbootに以下の内容を書いて下さい。sshでログインしているなら、以下をコピーして、ターミナルの編集->ペーストでコピペできます。
### BEGIN INIT INFO # Provides: vncboot # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start VNC Server at boot time # Description: Start VNC Server at boot time. ### END INIT INFO #! /bin/sh # /etc/init.d/vncboot USER=pi HOME=/home/pi export USER HOME case "$1" in start) echo "Starting VNC Server" #Insert your favoured settings for a VNC session su $USER -c '/usr/bin/vncserver :1 -geometry 1600x900 -depth 24' ;; stop) echo "Stopping VNC Server" su $USER -c '/usr/bin/vncserver -kill :1' ;; *) echo "Usage: /etc/init.d/vncboot {start|stop}" exit 1 ;; esac exit 0
実行権限を付与して、自動起動に登録。まあここらへんは最初は意味わからなくてもよいです。私もあんまりわかってないです(ダメダメ)。
pi@karaagePi ~ $ sudo chmod 755 /etc/init.d/vncboot pi@karaagePi ~ $ sudo update-rc.d vncboot defaults
エラーとか出なければこれでOK。再起動してしばらくしてから vnc でデスクトップ画面にアクセスできたら成功です!
こんな感じの画面が出たらOK
ファイル共有
Raspberry Piとファイルを簡単にやりとりできたら便利ですね。そんなときはnetatalkをインストール。
pi@karaagePi ~ $ sudo apt-get install netatalk
そうするとMacのファインダー上でRaspberry Piが見えるようになるので、自由にファイルやりとりできるようになります。
カメラ撮影テスト
初期設定が一通り終わったので、カメラを使ってみましょう。まずはRaspberry Piを起動させて、リモートログイン(sshでもvncでのリモートデスクトップでもOK)。
あとは以下のコマンドをうちましょう(vncの場合はターミナルを起動してから)。
ホームディレクトリ(home/pi)に移動
pi@karaagePi ~ $ cd
撮影
pi@karaagePi ~ $ raspistill -o test.jpg
カメラのLEDが点灯して、しばらくすると消灯します。そしたらtest.jpgという写真ファイルが生成されます。あとはRaspberry Piから写真ファイルをダウンロード。
これで一応カメラのリモートシャッターとWiFiでのファイル転送が実現できたことになりますね。あらステキ☆
テスト写真。逆光だったので明るさだけ調整しました。
カメラモジュールLED消灯(2015/6/7追記)
Raspberry Pi用カメラモジュールは、撮影中にLED点灯します。動作確認になってよいのですが、動画撮影中はずっと点灯して眩しいので、消したい人は消しましょう。私は消しました。やり方は以下のコマンドで/boot/config.txt
を編集。
pi@karaagePi ~ $ sudo vi /boot/config.txt
以下の1行をファイルの最後に追記してあげましょう。
disable_camera_led=1
後は以下のコマンドで再起動するだけ。
pi@karaagePi ~ $ sudo shutdown -r now
詳しくは以下参照。
Raspberry Pi終了処理
最後に、Raspberry Piを終了させる前は必ず以下のコマンドをうってから電源落としましょう。ようはパソコンなのでいきなり電源きるのは危険なのです、SDの中のファイルシステムがぶっ壊れて最悪起動しなくなります。
pi@karaagePi ~ $ sudo shutdown -h now
参考リンク
こじ研 Raspberry Pi 準備編
今回の記事はほとんどここを参考にしています。多分こちらの方が分かりやすいので、ここがわかりづらかったらこちらに行きましょう。
http://blog.knakajp.com/2013/05/raspberry-pi-3.html
ファイル共有の設定はこちらを参考にしました
Raspberry Piで遊ぼう [No.5:VNC接続をしよう]:アシマネくんのほんわか日記:So-netブログ
vncサーバの自動起動に関しては、こちらを参考にしました