Raspberry PIが来たから動かしてみた+とりあえずArduinoとお話して

Raspberry PIが来たから動かしてみた+とりあえずArduinoとお話してみた。

はじめに

 お久しぶりです。
 プライベートで超色々あって、もう大変なのですが。
 とりあえず。

 6/25にオーダーして、11週待ちね!って言われてたRaspberry PIが我が家にやってきました。

 7/30日に、gmailにRSとDHLからメール来てました。予想外に早い。
 送るよ、送ったよ、この番号でトラックしてね! と言う事で、仕事の合間やらにちょっとずつチェック。

このへんはしょっていい部分ですけど、こんな風に来ました。

 英バーミンガムで集荷して、英イースト・ミッドランズまで送られて、さらにそっから独ライプツィヒ、その後香港を経由して大阪に、なんと3日で来ました。DHL凄い。
 ただそこからがちょっと面倒で、大阪から配送が始まった後、「受取人不在のため保留」とか言ってる。
 あちゃー、と思って、昼休みDHLに電話して、再配達してくれ、できたら20時ぐらいに、って言うと、
「いや、20時は無理」「じゃあ19時は?」「無理です」「何時までならいけるの?」「17時ぐらいでしょうか」「じゃあ取りに行ってもいいけど、営業所は何時まで開いてるの?」「頑張ってお待ちするとして20:30」「場所は?」「大阪港の……」
 と、完全に国内配送にやる気が無い。
「でも、土曜日にしかそんな時間に居ないし、土曜日居るかもわかんないし、出来たら平日の20時ぐらいに送れないの?」
「あ、じゃあ佐川さんに、引き継ぎますね。明日の便の20時で配送かけます」
 なるほどそういう事か。

 と思って、昨日帰って不在票が入って無かったのが多少気になったのですが、ちゃんと来ました。

開梱の儀

 案外チャチい感じの梱包の中に、段ボールでこんな感じに入ってました。

 

 開けると、結構厳重にスポンジとか敷いてあって、あのHDDが入ってるようなフィルムに基板が。
 さらにそれを開けてみるとこんな感じ。小さい!

 

 ちょっと低めですがそれでもテンションが上がったので、とりあえず、家にある物で動作検証する材料を調達する事に。
 ・セルフパワーのハブ
 ・電源用のUSBケーブル
 ・USBキーボード
 ・USBマウス
 ・4GのSDカード
 ・HDMIケーブル(普段はMacとテレビを繋いでる)
 ・LANケーブル

 LANは、この部屋には有線LANが無いので、Mac無線LANを共有して、有線LAN同士を繋ぎました。逆はよくやるんだけど、これは始めてやったな……
 ちなみに、クロスケーブルを用意しなくても、どうやら自動認識とかでストレートケーブルで繋げます。

SDカードにOSをインストール

 で、SDカードに、OSを入れます。
 Android ICSなんかも面白そうですが、Debianがなんと、Raspberry Pi用にビルドされてるというかカスタムされてる公式パッケージ「Raspbian “wheezy”」があります。

 Ubuntu使う前はずっとDebian使ってたので、これがいいや、と公式サイトからRaspbianのイメージをダウンロード。
 SDカードリーダをMacに繋いで、一度アンマウントします。(イジェクトではなく)
 僕はディスクユーティリティーからやりますが。

 ターミナルで、そのまま

sudo dd bs=1m if=...img of=/dev/rdisk1 ※環境によって違います。

 を叩く。何も表示されてなくて不安であれば、Ctrl+Tを押してください。

 あとは、終わったらイジェクトします。

 ※このイメージは実は2G分しか無いのですが、最初のセットアップ的な画面で、SDカードのサイズまで拡張、ができます。

起動

 とりあえずこのSDカードをRaspberry Piに差し込んで、色々繋いでおもむろに電源を入れます。

 

 

 おぉ、起動した!
 とりあえず、最初の画面で色々設定出来るので、Localeの設定したり、ユーザのパスワード設定したり。

 最終的にリブートを求められて、リブートすると普通のLinuxとして起動します。

 で、起動メッセージ通りstartx

 結構ぐりぐり動きます。
 

 が、なんと、Localeをja-JP UTF-8にしちゃったもんだから、色々日本語を出そうとして、全部化けてる。
 

 日本語フォントが入ってないだけなので、

sudo apt-get update
sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese

 で日本語関係を入れます。

 
 ごちゃごちゃーっとなりますが、Yでいいです。

 いったん左下のアイコンから、電源っぽいのを押して、ログアウトし、再度startxをすると……

 
 日本語が出るようになります。

 この状態で、せっかくなのであれやってみましょう。

Arduinoを繋ぐ。

 本当は小さいDa Vinciでやってみたかったんですが、とりあえずUNOを繋いでみました。
 しかもUSBで。だってPIのGPIOは3.3Vだし。

 UNOに入れたスケッチはこちら。

int incomingByte = 0;  

void setup(){
	Serial.begin(9600);
	pinMode(13,OUTPUT);
	digitalWrite(13,LOW);
}
void loop(){

	while(Serial.available()>0){
		incomingByte = Serial.read();
		if(incomingByte<(int)'1') continue;
		if(incomingByte>(int)'9') continue;
		Serial.write(incomingByte);
		incomingByte=incomingByte-(int)'0';
		while(incomingByte>0){
			digitalWrite(13,HIGH);
			delay(250);
			digitalWrite(13,LOW);
			delay(250);	
			incomingByte--;	
		}
	}
}

あとはpiから、シリアルで出力してみる。
cuは標準で入っていないので、sudo apt-get install cu
UNOなら、/dev/ttyACM0として認識されるので、

cu -l /dev/ttyACM0 -s 9600

これで、PI側で数字を入力したとき、その数字の回数、LEDがチカチカします。
ついでに、PIに、入力した数字がエコーバックされます。
こんな感じ

 これで、フィジカルな入出力と超小型マザーのPIとのお話が出来るようになりました。
 夢がひろがりんぐですね。遊びようが幾らでもありそうで、凄い。
 Webカメラと、OpenCVと、Arduinoとで、視線入力デバイスの研究の続きでもやりましょうかね。