ホーム > プログラミング > RaspberryPi

RaspberryPiのアーカイブ

Raspberry PiでMono+OpenNIを動かして、XtionのデータをWireless LAN経由でJitterに突っ込む

XtionとかKinectで色々遊んでると、USBの取り回しがめんどくなってくる。というわけで、小型安価な1board PCであるRaspberry Piを使って無線化してみた。
前にRaspberryPi上でMonoを動かすことはできていたので、試しにC#で書く。遅いのは知ってる。
最初はUser detectionまでやろうかと思ったが、OpenNIのMiddlewareであるNITEがUser detectionを担当しているらしく、NITEはOpen sourceでは無いらしく、諦めた。CortexAなど用のARMバイナリを配布している人は居たが、RaspberryPi用は見つからなかった。方法があれば誰か教えて下さい。
というわけでUser detectionは諦め、とりあえずDepth情報のみをNetworkで投げてみることにした。

ついでに、プロトコルをJitterに合わせることで、Max/MSPで簡単に受信できるようにした。
Jitterで流れている情報はRGBXなフォーマットなので、とりあえずGBにDepthの2byteをそのまま埋める。手抜き。

紆余曲折を経たが、基本的にHard-float coreを使わなければOK。ちゃんと動いた。
xtionjitter
無線LANとXtionを駆動するので、Self-powerのUSB hubは必須。Raspberry Pi本体の電源もHubから取れた。
コンパクトに無線化できたので、余ってたプラダンでガワを作って三脚に設置してみた。
xtionraspberrypi
VNCで無線LANからGUI操作できるので、外にはUSB hubの電源だけが出る感じ。5V – 2AのAC Adapterなので、USB Mobile Batteryとか使えば完全無線化できる気がする。こんど買ってこよう。

裏からの図。青いLEDが光ってるのがUSB Hub。緑に光ってるのが無線LANアダプタ。
RaspberryPi本体のUSBにUSB Hubと無線LANアダプタ、USB HubにRaspberryPiの電源のMicroUSBとXtionが刺さっている。
xtionraspberrypi_back

おまけ
xtionjitter_neko

.NET Framework on Raspberry Pi

MonoとMonoDevelopがRaspberryPiで動くことを確認した。
latest kernelを使っていると、Hard-float ABI絡みのバグでMonoが起動しないが、公式ページからダウンロードできるSoft-float版を使うと難なく起動できた。
WinFormsのプロパティコントロールとか、重そうなGUIが難なく動くのは感動する。動作はそりゃあ遅いが、そのへんは使い方次第。

ついでに、自分がRaspberry Piにしている設定をメモしておく。

  • Setup Wireless LAN driver

たいてい、まずは無線LAN化したい。すべてはこの方が書いてくれている。
しかも、PlanexのUS-GW MicroNというUSB無線LANアダプタは秋葉原で300円で叩き売られてたのを以前まとめ買いしたので、家にありました。
ドライバを登録したら、wicdをインストールしてさくっと無線LANパスワードなどを設定できます。もちろんAuto-Connectにしとく。固定IPにしとくとあとで色々楽。
いまどき有線LANとHDMIディスプレイが同じ所には無いので、最初に無線化しておけばディスプレイやテレビの裏に放置して作業できる。

  • Setup on-screen keyboard

いちいちキーボードをつなぐのは面倒なので、matchbox-keyboardをインストールしてマウスのみで操作できるように。
sudo apt-get install matchbox-keyboard するだけ。

  • X11vncを自動起動させる

そうこうしていると、PCからRaspberryPiを操作したくなってくる。メインのPCでぐぐってコピペしたいときとか。
x11vncを入れると、HDMIで表示している画面をリモートから操作できる。
自動起動するようにしておけば、電源だけ入れてRaspberryPi本体をどっかに放置しとけば、母艦PCからいじれる。
本家のBBSに自動起動の方法がある。.desktopファイルを作るのがポイント。
http://www.raspberrypi.org/phpBB3/viewtopic.php?p=108862#p108862

  • Display sizeを変更する

VNCで接続すると、ワイド大画面で優秀さをアピールしてくるRaspberryPiちゃんを、適度な画面サイズに調教する。/boot/config.txtのframebuffer_widthとheightを800*600ぐらいにしておく。

  • Synaptic

GUIでSearchしながらいろいろInstallしたい。sudo apt-get install synapticしておくと、普通に使える。

  • 日本語Fontのインストールとlocaleの変更

ttf-takaoなど、日本語フォントをSynapticでインストールしてから、sudo raspi-configでlocaleを変更する。フォントを先に入れないと文字化けする。

このへんまでやっとけば、あとはいろいろなアプリケーションを入れて遊べると思う。
ついでのつもりが、Raspberry Pi初期設定がメインになってしまった。。

Maker Faire Tokyo 2012に行ってきた

去年までのMake Tokyo Meetingには参加できていなかったのですが、今年は行けました。今年から有料化したらしい。

夢溢れる巨大ロボを華麗にスルーして、まずはDIY MUSICを見学、そのままRSのプレゼンを聞いて、オライリー本を立ち読み、その後時間をかけて1周回りました。
非常に盛況で、内容も充実してました。仕事で展示会にはよく行きますが、こんなに熱気のある展示会はあまりありません。
3Dプリンタ、Arduino、Raspberry Piなどでみんないろいろ工作してました。以前から出店してた方も多かったらしいですが、僕は初めて行ったので新鮮なネタが沢山。
学生時代にこの場に来てたら、もっと興奮していただろうなー。時間が欲しい。

RaspberryPiにMicroSDを挿せるようにして出っぱりが少なくなるアダプタ買った。
http://yuki-lab.jp/hw/rasp-ext/index.html
あと、Arduino基板がいつのまにか非常に安くなってたので購入。
http://tiisai.dip.jp/?p=1401
標準セットだと1000円で遊べる!
中学生がお小遣いで組み込み始められるとか、すごい時代だ。
今は忙しいけど、RaspberryPiが一段落したら遊んでみよう。

ちなみに、社会人はボーナスで基板切削マシンとか3Dプリンタとか買える。どっちも20万切ってる。やべー

ホーム > プログラミング > RaspberryPi

カレンダー
« 2018 年 9月 »
S M T W T F S
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
最近の反応
メタ情報

ページの上部に戻る