SSブログ
- | 次の10件

ラズパイ2試食レポ[8]: 目覚まし時計をつくってみた [Raspberry Pi]

目覚まし時計を作ってみました。
仕様は以下です。

  • 時刻をAquesTalkPiでしゃべらせる。
  • cronを使って、定時に時刻をしゃべる。
  • cronだけでは起きない場合、任意にしゃべらせる。

◆ntpの設定

その前に、時刻は正確でなくては、ということでntpを設定します。ntpdはインストール済みで動作もしていますが、正しいサーバに設定しなおします。


pi@raspberrypi ~ $ sudo vi /etc/ntp.conf

「server」で始まる行をコメントアウトして、以下を追加します。


pool ntp.nict.jp iburst

ntpdを再起動します。


pi@raspberrypi ~ $ sudo service ntp restart

サーバとの同期状態を確認します。


pi@raspberrypi ~ $ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+ntp-b2.nict.go. .NICT. 1 u 97 128 377 7.093 0.824 0.144
*ntp-a2.nict.go. .NICT. 1 u 46 128 377 7.125 0.556 0.324
+ntp-a3.nict.go. .NICT. 1 u 97 128 377 6.607 0.820 0.316
-ntp-b3.nict.go. .NICT. 1 u 120 128 377 7.110 0.326 0.479

一番左に「*」が付いているサーバと同期していることを示しています。


◆cronで動かす

cronで起動するスクリプトcron_time.shは以下のようにしました。


#!/bin/sh
# cron_time.sh

daytime=`date "+%-B %-d日 %-A %-H時 %-M分"`
/usr/local/bin/atalk "おはようございます。${daytime}です。"
/usr/local/bin/atalk "天気予報です。`/usr/local/sh/tenki.py`"
/usr/local/bin/atalk "${daytime}です。"

時刻の後に天気もしゃべります。
これを、以下のようにcrontabで設定しました。


30,35,45 06 * * 1-5 /usr/local/sh/cron_time.sh

月-金の 6:30~6:45まで5分毎3回実行します。しつこいですね。


◆好きな時に好きな言葉をしゃべらせる

これでも起きないときのために、任意の言葉を好きなタイミングでしゃべらせるようにします。

ここでは、UDP通信を待ち受けるプログラムを常駐させて、スマホなどからしゃべる文字列を送りつけることで実現しました。

常駐プログラムは以下です。


//
// udp_talk
//

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define BUF_SIZE 1024
#define PORT_NUM 12345

void run_comm(char *buf, int len){
char str[BUF_SIZE];

strcpy(str, "/usr/local/bin/atalk ");
strncat(str, buf, len);
//printf("%s\n", str);
system(str);
}

int main(){
int sock = 0;
int len = 0;
int loop = 1; // 1=forever
struct sockaddr_in addr;
socklen_t addrlen;

char buf[BUF_SIZE];

// create socket
sock = socket(AF_INET, SOCK_DGRAM, 0);
if ( sock < 0 ) {
exit(-1);
}

// set address and port
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT_NUM);
addr.sin_addr.s_addr = INADDR_ANY;

// bind
if ( bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0 ) {
perror("bind");
fprintf(stderr, "port %d is already used.\n", PORT_NUM);
return(-1);
}

// clear buf
memset(buf, 0, sizeof(buf));

// recv
while ( loop ) {
addrlen = sizeof(struct sockaddr_in);
len = recvfrom(sock, buf, sizeof(buf), 0,
(struct sockaddr *)&addr, &addrlen);
if ( len < 0 ) {
perror("recv");
break;
}

//printf("%s\n", buf);
run_comm(buf, len);

if( strncmp(buf, "quit\n", 5) == 0 ) {
loop = 0;
}

memset(buf, 0, len);
}

close(sock);

return 0;
}

UDP通信では特にパケットなど規定せず、送られてきたデータを単純にAquesTalkPiに渡すだけです。処理時間もそれほど掛かりませんし、不特定多数のクライアントを想定しなくても良いのでforkはしていません。
送る側はUDPで送れれば何でも良いので、スマホアプリの「UDP Tester」などが利用できます。いくつかの文字列をプリセットしておいて選択できるようなアプリを自分で作ってもいいですね。

準備OKです。が、スピーカーがない…。

【2015/05/19追記】 100均のスピーカーを繋げてみました。「音は大きくなりません」と明記してあるものです。ラズパイ本体のボリュームを最大にすると、近くに置いてあれば部屋の中なら普通に聞こえるレベルです。でも目覚ましにするにはあきらかに力不足でした。

【2015/05/25追記】 同じく100均のアンプを買ってみました。ちょっとボリュームを上げるだけで十分な音量になります。このままでも実用可能ですが、別途電池が必要なのがちょっと癪に障ります。中のICは1.8~15Vくらいで動作可能なようなので、たとえばラズパイのGPIO出力を電源とすれば、鳴らすときだけ3.3V供給とかできそうです。電流足りないかな?

P_20150523_143157.jpg


ラズパイ2試食レポ[7]: しゃべらせてみる [Raspberry Pi]

ラズパイ関連のサイトを拝見すると、しゃべらせている先人が多くいますので、やってみましょう。
手持ちにスピーカーが無いので、イヤホンジャックにイヤホンをつないでテストしました。

◆音声出力制御
音声はオーディオ端子とHDMI端子の2系統に出力でき、それを切り替えるには以下のようにします。最後の数字が 1 がオーディオ端子、2 がHDMI端子、0 が自動判別です。


pi@raspberrypi ~ $ amixer cset numid=3 1

ボリュームは以下で調整。


pi@raspberrypi ~ $ amixer set PCM 20%

◆しゃべるひと
OpenJTalk、AquesTalkPiの2つが主なものらしいです。後者は商用だが個人・非営利利用ならライセンス料はかからないです。
どちらもしっかりしゃべるますが、なめらかなのはやはり後者でしょうか。
AquesTalkPiはこちら(http://www.a-quest.com/products/aquestalkpi.html)からダウンロードし、解凍するだけ。バイナリと辞書フォルダを同じ場所に置きます。
以下のように使います。


pi@raspberrypi ~ $ ./AquesTalkPi しゃべらせたい言葉 | aplay

ただし、このままだと、AquesTalkPiがエラーを起こした場合などに aplay がノイズを出力するので、以下のようなスクリプトをかますとよいらしいです。Nosさんのサイト(http://d.hatena.ne.jp/Nos/20150218/1424217597)より拝借しました。


#!/bin/bash
aquestalkpi=/home/pi/build/aquestalkpi/AquesTalkPi
var=`$aquestalkpi "$@" | base64; echo ":${PIPESTATUS[0]}"`
ret=(${var##*:})
data=${var%:*}
if [ $ret -eq 0 ]; then
echo $data | base64 --decode --ignore-garbage | aplay -q
else
echo $data | base64 --decode --ignore-garbage
exit $ret
fi

AquesTalkPiへのパスは適宜変更してください。これを atalk と名づけて


pi@raspberrypi ~ $ atalk -g 15 しゃべらせたい日本語

と使います。オプションはそのままAquesTalkPiへ渡ります。-g はボリューム指定(100がMax)。

◆何をしゃべらせる?
時報や天気をしゃべらせる例が多いようです。目覚まし時計代わりによいかもしれません。dateコマンドで日本語の時報テキストを作ってatalkに渡すだけでできますね。cronに仕込めば目覚まし時計になります。


pi@raspberrypi ~ $ atalk -g 20 "`date "+%B %d日 %A %H時 %M分"`です。"

上記のNosさんのサイトには天気をしゃべらせるpythonスクリプトの例があり面白いです。


ラズパイ2試食レポ[6]: シャットダウンボタン作ってみた [Raspberry Pi]

シャットダウンボタンを作られた先人も非常に多数おられます。いろいろ参考にしながら私なりにまとめました。


もともとラズパイに電源ボタンがない、サーバー的に使用したいのでラズパイ単体で電源を落としたい、などのニーズがあります。ここでは、以下の方針(仕様)で作っていきます。


  • GPIOにプッシュスイッチをつけて、長押しでshutdownが走るようにする。
  • 長押し期間中は、Power LEDを点滅させる。shutdownが走り出したら点灯に戻す。
  • ポーリングではなく割り込みにする。
  • 汎用的なCで実装する。

◆GPIO


GPIOを制御するにはいろいろな手段があるようです。もっとも簡便なのは、sysfsを使用したものです。GPIO4をHIGHにする例です。

pi@raspberrypi ~ $ echo 4 > /sys/class/gpio/export  # gpio4を有効化
pi@raspberrypi ~ $ echo out > /sys/class/gpio/gpio4/direction # 出力に設定
pi@raspberrypi ~ $ echo 1 > /sys/class/gpio/gpio4/value # Highを出力

pythonでも当然できますが、ここでは省略します。

Cでは、wiringPiというライブラリを使うのがよいようです。apt-getできないので、以下のように導入します。

pi@raspberrypi ~ $ git clone git://git.drogon.net/wiringPi
pi@raspberrypi ~ $ cd wiringPi
pi@raspberrypi ~/wiringPi $ ./build

/usr/local/bin/gpioというコマンドラインから使えるコマンドも導入されます。

pi@raspberrypi ~ $ gpio -g mode 4 in   # gpio4を入力モード
pi@raspberrypi ~ $ gpio -g mode 4 up   # gpio4をプルアップ
pi@raspberrypi ~ $ gpio -g read 4     # gpio4を読む
1                     # 1=HIGH

実際にCから使う例は後ほど。

◆LEDの制御

ラズパイにはPower LED(赤色)とACT LED(緑色)が搭載されていますが、これが制御可能とのこと。任意のGPIO端子の状態に連動させることもできるそうなので、プログラムの動作確認などにも使えそうです。

GPIOと同様、sysfsから制御できます。ACT LEDがled0、Power LEDがled1です。

pi@raspberrypi ~/c $ cat /sys/class/leds/led0/trigger
none [mmc0] timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on input
pi@raspberrypi ~/c $ cat /sys/class/leds/led1/trigger
none mmc0 timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on [input]

led0ではmmc0すなわちSDカードアクセスで点灯、led1では、inputすなわち電源ラインで点灯するモードになっています。これを切り替えることができます。heartbeatにすると、「チカチカ…チカチカ…」と点滅します。

pi@raspberrypi ~/c $ sudo su
pi@raspberrypi ~/c # echo heartbeat > /sys/class/leds/led1/trigger

◆シャットダウンプログラム

ピンヘッダの#7(GPIO4)と#9(GND)の間にプッシュスイッチを接続します。

P_20150508_143849.jpg

GPIO4は入力モードにしてプルアップします。スイッチオフではHIGH、スイッチオンではLOWになります。

以下がCで書いたシャットダウンプログラムです。

//
// shutdown_sw
//

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <wiringPi.h>

#define GPIO4 4
#define WAIT_SEC 5
#define BUFFER_MAX 10

// set power led
int setPowerLed(char *mode) {
int fd;
char buffer[BUFFER_MAX];
ssize_t bytes_written;

fd = open("/sys/class/leds/led1/trigger", O_WRONLY);
if (fd == -1) {
fprintf(stderr, "Faild to open led1 trigger\n");
return(-1);
}
bytes_written = snprintf(buffer, BUFFER_MAX, "%s", mode);
write(fd, buffer, bytes_written);
close(fd);
return(0);
}

// callback function for interrupt
// 1st, PowerLED blinging for WAIT_SEC second,
// then, PowerLED on, goto shutdown.
void callback_go(void) {
int i;
int ret = 0;

usleep(30000); // for chattering
if (digitalRead(GPIO4) == LOW) {
// wait for WAIT_SEC
for (i = WAIT_SEC; i >= 0; i--) {
if (digitalRead(GPIO4) == LOW) {
setPowerLed("heartbeat");
sleep(1);
} else {
setPowerLed("input");
break;
}
}
if (i < 0) {
setPowerLed("input");
// exec shutdown
system("/sbin/shutdown -h now");
}
}
}

// main routin
int main(void) {
int ret = 0;

// initialize wiringPi
if ( wiringPiSetupGpio() == -1 ) return 1;

// set gpio4 pin to input mode & pullup
pinMode(GPIO4, INPUT);
pullUpDnControl(GPIO4, PUD_UP);

// set interrupt
wiringPiISR(GPIO4, INT_EDGE_FALLING, callback_go);

// wait for interrupt
for (;;) {
sleep(100000);
}

return 0;
}

mainルーチンは、GPIOの設定後、長いスリープを行う無限ループで割り込みを待ちます。単なるポーリングより圧倒的にCPUにやさしいです。

スイッチが押されてGPIO4が立ち下がると、割り込みが掛かり、callback_goが実行されます。チャタリングを避けるため30ms後に再度レベルを確認しています。

毎秒レベルを確認し、長押しの途中でボタンが離された場合にはシャットダウンせずに割り込み待ちに戻ります。

ボタンが押された状態ではPower LEDを点滅します。5秒間押されたままであれば shutdownを実行します。

このプログラムは常駐する必要があるので、/etc/rc.localの最後に追加します。

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

# Shutdown SW
if [ -f /usr/local/bin/shutdown_sw ]; then
su -c /usr/local/bin/shutdown_sw &
fi

exit 0

再起動して、ps -ef すると実行されていることが確認できます。


ラズパイ2試食レポ[5]: 起動しない? [Raspberry Pi]

さて、わりとたびたび起動しないことがあります。

起動しない、というのは、microUSBに電源をつないで、起動し始めるのですが、流れるbootメッセージを見ていると、明らかに通常時とは異なり、「panic」の文字や、CPUが停止しただの、USBデバイスがわからんだの、を延々と繰り返します。

当初は、SDカードのファイルシステムが壊れたのだと思い、フォーマットからやり直していたのですが、あるとき、単に起動しなおしたり、挿しなおしてからの起動で、普通に起動する場合があることに気づきました。

少しgoogle先生に尋ねてみると、似たような事象に遭遇している先人おられ、その方の見解は「SDカードの相性」。海外サイトにもラズパイでの各種SDカード動作実績一覧などがあり、うまく動かないSDカードもあるようでした。

で、試食レポ[1]で紹介したSDカードは、動作する実績もしない実績もあり、微妙なものでした。amazonでのお勧め妄信はいかん、ということです。

どうやら、ラズパイ取扱店が薦めているSDカードを買うのがよろしいようです。

私はまだだましだまし使っています。

【2015/05/19追記】ついに起動しなくなり、SDカードを買いなおしました。まだ日は浅いですが、今のところ問題なし。試食レポ[1]に追記していますのでご参照ください。


ラズパイ2試食レポ[4]: ファイル共有とプリントサーバ [Raspberry Pi]

◆ファイル共有(samba)


ラズパイのSDカード内のフォルダに、Windowsマシンからアクセスできるようにsambaを導入します。

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install samba

/home/pi/sharedというディレクトリを作成し、ここを共有します。

pi@raspberrypi ~ $ mkdir shared
pi@raspberrypi ~ $ chmod 777 shared

/etc/samba/smb.confの末尾に以下を追加します。

[shared]
path = /home/pi/shared
guest ok = Yes
read only = No

「sudo service samba restart」でsambaを再起動します。

Windowsマシンからアクセスできることを確認しました。

samba1.png


◆プリントサーバ(CUPS)

うちのプリンタは、Canon PIXUS MP470というUSBでWindowsマシンに繋げているインクジェットです。CUPSでラズパイをプリントサーバにすることで、WindowsマシンとUSB直結する必要性がなくなります。また、Androidデバイスからも印刷できるようにしたいです。

以下のようにインストールします。

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install cups

リモートのWindowsマシンから設定できるように、/etc/cups/cupsd.confを以下のように修正します。

Listen 631
Listen /var/run/cups/cups.sock
(中略)
# Restrict access to the server...
<Location />
Order allow,deny
Allow from @LOCAL
</Location>

# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow from @LOCAL
</Location>

「sudo service cups restart」で再起動します。

次に、ユーザpiをlpadminグループに追加します。

pi@raspberrypi ~ $ sudo usermod -a pi -G lpadmin

これでリモートからCUPSの設定が可能になりました。

Windowsマシンのブラウザから、「http://raspberrypi:631」にアクセスすると、CUPS設定画面が表示されます。

設定手順は以下です。プリンタは先に接続して電源を入れておきます。

  1. 「管理」→「プリンターの追加」
  2. ユーザ名を聞かれるので、piとパスワードを入力。
  3. 接続しているローカルプリンタが表示されるので選択。
  4. モデル一覧から該当する機種を選択します。私の場合、PIXUS MP470はPIXMA MP470が相当するようなのでそれを選択しました。

以上で完了。テストページ印刷もうまくいきました。

Windowsマシンの設定は、普通のネットワークプリンタの設定と同じです。ネットワークから「RASPBWRRYPI上」というプリンタが見つかるはずです。

Androidからの印刷ですが、googleクラウドプリントを使う方法などが各種サイトで紹介されています。もっとシンプルにCUPSのクライアントになれるアプリはないか、と探してみると、以下の2つが見つかりました。

  • JfCupsPrint
  • Let's Print Droid

いずれも同等の機能、使用感です。

私の場合、PDFファイルは印刷できるものの図が崩れ、TEXTファイルは印刷できませんでした。ただし、これはいずれもCUPS側の問題と思われます。PDFの場合は上記2つのアプリいずれも同じように図が崩れたので、CUPS側のドライバの問題と推測します。TEXTの場合は、CUPSが「/usr/lib/cups/filter/texttopdf faild」というエラーをログに吐きます。少し調べたのですが未解決です。


ラズパイ2試食レポ[3]: ネットワークの設定 [Raspberry Pi]

◆無線LANをつなぐ

有線LANをつないだ状態でOSをインストールするところまで来ました。ログイン後、Xを起動し、ブラウザでgoogleなどへアクセスできます。

この状態で無線LANを設定します。使用した無線LANアダプタは以下です。

小型USB Wireless LAN Adapter、802.11b/g/n  ReUdo    ¥ 702

これは、Realtek RTL8188CUS チップセットを使用したもので、ラズパイでの使用実績が報告されていたのと、よく見かけるバッファローさんのアダプタは消費電力が大きいとのことだったので、こちらを選択しました。

  1. 有線LANをつないだ状態で、無線LANアダプタをUSBへ挿します。
  2. Xの左上メニューのPreferenceからWifi Setupを選択。
    1. Scanボタンを押してアクセスポイントを一覧させ、使用するアクセスポイントをダブルクリック。
    2. PSK欄に入力してAddボタンを押す。
    3. Current Statusタブに戻って、Connectボタンを押す。
  3. 有線LANを引っこ抜いて、ターミナルからifconfigすると、wlan0というインタフェースにIPアドレスが割り振られていることがわかります。ブラウザでアクセスできるようになるのは数分後でした(理由不明)。

以上です。たぶんこれが一番簡単なやり方です。/etc/network/interfacesなどの設定ファイルを直接書き換える方法や、固定IPにする方法など、より複雑な方法は、別途詳しく解説してあるサイトをご参照ください。

◆SSH

まずは基本のSSHを設定します。

raspi-configを起動(sudoしてね)します。「8. Advanced Option」から「SSH」を選んで有効化し、再起動。これだけ。

私の場合、WindowsマシンにCygwinが入れてあるので、「ssh pi@192.168.1.6」でログインできました。

Androidデバイスからは、ConnectBot、JuiceSSHといったアプリでログインできます。

◆ホスト名によるアクセス

SSHする際にIPアドレスを指定するのは面倒ですし、DHCP環境ではIPアドレスを調べる必要もあります。そこでホスト名でアクセスできるようにするには、Zeroconfという仕組みを使うそうです。その実装であるavahi-daemonをインストールします。


pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install avahi-daemon

これだけで次回電源投入時にもちゃんと動作するようです。

Windows側にも手当てが必要で、 Zeroconfの実装であるBonjour Print Service for Windowsをインストールします。

インストール時にはraspberrypiというホスト名になっています。これで、「ssh pi@raspberrypi.local」のように指定できるようになりました。

◆VNC

Xの画面を共有するVNCを導入します。ラズパイ上でtightvncserverというVNC Serverを動かし、WindowsマシンやAndroidデバイスでVNC Viewerを動かします。


pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install tightvncserver
pi@raspberrypi ~ $ vncserver :1 -geometry 1024x768 -depth 24

3行目のコマンドで起動しています。初回起動時にパスワードが設定されます。

ラズパイ起動時に自動的にVNC Serverを起動するには、init.dに登録してやる必要があります。

以下のスクリプトを /etc/init.d に vncboot という名前で作成します。


#! /bin/sh
# /etc/init.d/vncboot
USER=pi
HOME=/home/pi
export USER HOME

case "$1" in
start)
echo "Starting VNC Server"
su $USER -c '/usr/bin/vncserver :1 -geometry 1440x900 -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@raspberrypi ~ $ sudo chmod 755 /etc/init.d/vnvboot
pi@raspberrypi ~ $ sudo update-rc.d vncboot defaults

再起動後、「ps -ef | grep tightvnc | grep -v grep」で起動が確認できます。また「netstat -nlt」で5901ポートをLISTENしているのがわかります。

Windowsでは、RealVNC Viewerを使います。起動するとホスト名を聞かれるので、「raspberrypi.local::5901」のようにポート番号をつけて設定します。上で設定したパスワードを設定すれば接続できます。

AndroidでもVNC Viewerがあり、同様に簡単に接続できるようになります。


ラズパイ2試食レポ[2]: OSインストール。LANつないどけ! [Raspberry Pi]

◆インストーラ準備

公式サイトのミラーサイト北陸先端科学技術大学院大学(JAIST)さんからインストーラをダウンロード。私の場合はNOOBS1.4.0のzip形式を選択。

Lhaplusで解凍して、フォルダの中身をすべてSDカードにコピー。といきたいところですが、私の場合、そのSDカードをラズパイに挿して電源投入すると、ディスプレイになにやらエラーメッセージが出ました。メッセージを記録しなかったので提示できないのですが、「境界が正しくない」的な内容で、そのまま進めてもインストールボタンがアクティブにならないので中断せざると得なくなります。

そこで、一度SDカードをフォーマットしてからコピーすることをお勧めします。

SD Associationさんのサイトからフォーマッタがダウンロードできます。起動すると、SDカードのドライブとサイズは自動認識します。オプションの「消去設定」は「イレースフォーマット」、「論理サイズ調整」は「OFF」でフォーマットします。

フォーマットが終わったら、解凍したNOOBS一式をコピーします。

◆インストール準備

ラズパイ本体に以下を接続します。

  • SDカード: 上で用意したもの。
  • HDMIケーブル: TVのHDMI入力と接続します。
  • USBキーボード&マウス
  • 有線LANケーブル: HUBと接続します。

各種サイトを参考にインストールを進めたのですが、LANケーブルつないどけ!と書いてくれているところは見当たりませんでした。というのは、LANケーブルを挿していなくてもインストールはできるし、起動後にLANケーブルを挿して普通に通信できるのですが、私の場合は、「LANケーブルを挿した状態で電源投入するとOSがまともに起動しない」という状態になりました。

起動しない、というのは曖昧な表現ですが、通常の起動とは様子の違うメッセージが流れ続け、USBデバイスを何度も認識しなおすというのを繰り返すようになります。

試行錯誤の結果、LANケーブルを挿した状態でインストールすると、LANケーブルを挿した状態で電源投入しても普通に起動する、ということがわかりました。

◆インストール

マイクロUSBに電源アダプタを接続して電源投入します。ここから先は各種サイトのおっしゃるとおりのやり方で悩まず進めることができます。

  1. OSとしてRaspbianを選択して、Installをクリック
  2. 15分ほどしてインストールが完了するとbootされます
  3. boot後、raspi-configが立ち上がります。
    P_20150425_183014.jpg
  4. 「4. Internationalization Option」のみ設定します。
    1. 「11. Change Locale」では、「en_US.UTF-8」「ja_JP.UTF-8」を選択し、デフォルトはen_US.UTF-8としました。
    2. 「12. Change Timezone」では、Asia、Tokyoと選びます。
    3. 「13. Change Keyboard Layout」では、「Generic 105-key(Intl)PC」「Japanese - Japanese(OADG 109A)」「The default for the keyboard layout」「No Compose Key」と選び、最後にXを終了するショートカットキー設定をYesとしました。
  5. 最後に「Finish」を選択してraspi-configを終了。

これでコマンドプロンプトが表示される状態に移行します。インストール完了です。

◆起動

私の場合、ここで「sudo reboot」と入力して再起動してみました。

再起動後、login名「pi」、パスワード「raspberry」でログインします。「startx」でXが起動します。

P_20150426_0939502.jpg


ラズパイ2試食レポ[1]: 購入。電源に注意! [Raspberry Pi]

常々気になっていたRaspberry Piが 2 へアップグレードしたので、ついに購入してみました。
必要なもの一式をamazonさんで揃えました。

  1. Raspberry Pi2 Model B ボード&ケースセット  Physical Computing Lab ¥ 6,520
    本体です。クリアケースとセットになっているものを選びました。
  2. microSDHCカード 16GB Class10 TS16GUSDHC10E (FFP)  Transcend   ¥ 1,050
    4GB以上必要とのこと。いろいろな用途を考えて大き目を選びました。
    【2015/05/19追記】試食レポ5にも書きましたが、起動したりしなかったりでアクセス障害を疑っています。買いなおした「microSDHC 16GB Toshiba 東芝 UHS-I 30MB/s 並行輸入品 ¥918」はラズパイ動作実績のカスタマーレビューもあり、今のところアクセス障害は起きていません。ただしこちらはアダプタ無し。アダプタは百均にもあります。
  3. HDMIケーブル Ver1.4(3m)     FSC    ¥ 550
    TVをディスプレイ代わりに使うためのケーブル。
  4. USBスリムキーボード ブラック SKB-SL18BK   サンワサプライ   ¥ 1,763
    何でもいいのですが、他の用途への転用も考えて少し高めのものを選びました。¥700くらいからありそうです。
  5. USBマウス 有線光学式3ボタン ブラック M100rBK   LOGICOOL   ¥ 482
    これも何でも良いです。
  6. 4A出力対応USB充電器 4ポートタイプ ブラック BSMPA09BK iBUFFALO ¥1,554
    家庭用コンセントに挿してUSBで出力するタイプの電源です。他のサイトでは2A出力品でよい旨の記事が多いのですが、私の場合、ディスプレイとUSBキーボード&マウスを繋げただけで電源低下して怪しげな現象が多発しました。余裕を見ての4A品で、これでは電源低下は今のところ起きていません。

電源に関しては、電源つきUSBハブを使う手もあると思います。

電源低下は一目瞭然(これも解説しているサイトが少なかったです)。

  • 本体パワーLED(赤色)は、通常動作時は点灯します。消灯していると 4.7V以下。
  • ディスプレイ右上に虹色の四角が表示されていると、4.65V以下。
  • 同じく赤い四角が表示されていると、85℃以上。

2A品使用時はLED消灯で、虹色四角が表示されていました。怪しい現象による精神的ダメージが大きいので、余裕のある電源を使いたいところです。

P_20150429_1459162.jpg


タグ:Raspberry Pi
- | 次の10件

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