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
で日本語関係を入れます。
いったん左下のアイコンから、電源っぽいのを押して、ログアウトし、再度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とで、視線入力デバイスの研究の続きでもやりましょうかね。