アドベントカレンダー3日目です。

昨日までの、あおいたん、星影さん、お疲れさまでした。

さて、今年は、いろいろありました。
・Firefox OS Flameの販売
技適対応で大手を振るって無線通信できる!
・名古屋の勉強会に行った! 名古屋すげーーー
勉強会のテンションも凄いし、二次会以降も凄かった!
・Raspberry PiでFirefos OS動いた。Lチカできた!
FoxberryPiで電気工作!
・3G通信が復活した!
3Gが使えるので、野外でもOK。MVNOも動くぜ!(SMS対応していないとアンテナ立たないけどね
・iWnn動いた!
普通の日本語入力が出来るようになった!同じ子音の文字を入力するのに矢印クリックしなくてもいい!(マテ

などなど。その中にRPiビルドの公開というものもあります。そこで、試してみたというのが、この記事です。

以前から、b2gのバイナリをraspbianの上で動かす試みはありました(FoxberryPiとか)。
そうではなく、ネイティブに動かそうというのがRPiビルドです。
そして、RPiビルドでタッチパネルが使えると聞いて、チャレンジしてみました。
DSCF2918

出来たこと
RasberryPiでFirefoxOSが直接動いた
タッチパネル上で画面が出る
なんか反応はしてる

出来なかったこと
ビルドエラー
タッチパネルがまともに動かない

感想
トロい
設定が面倒(このあたりは承知の助でやってますが^^;

では行きましょう
用意するもの
RaspberryPi
PiTFT
ケース
USBのWiFi
USBマウス
HDMIのモニタ
4GのSDカード
パソコン(Ubuntu)
SDカードR/W(Ubuntuで使える奴)

まず、ビルドします・・・と言いたいのですが、ビルドエラーになったので、投げ出しました。
バイナリを落としましょう。
最新版はここです。
https://www.dropbox.com/s/4udfp704u2hmemx/ffos-rpi-04.img.tar.bz2?dl=0

Ubuntuでダウンロードしたことを想定して説明します。
ダウンロードしたら解凍しておきます。
SDカードを差し込んで、デバイス名を探しておきます。
/dev/sdbみたいな感じです。抜き差しして/devをlsしてみるといいでしょう。
で、イメージを焼きます。

sudo dd bs=4M if=ffos-rpi-04.img of=/dev/sdb

ファイル名や、デバイス名は適当に読み替えてください。

焼いたSDをRasberryPiに焼いて、HDMIケーブルをつないで、起動してみましょう。
動いたらOKです。切るときはおもむろにRspberryPiの電源ケーブル(USBケーブル)を抜きます。

次に、PiTFTを接続します。
まず、製品を開けるとバラバラなので、頑張って半田付けします。
超下手くその私でもなんとかなりましたから、なんとかなります。
手順は以下のページを参考にしました。
https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/assembly
コツとしては、両端の一ヶ所づつを軽く半田で止めて、あっためながらコネクタを押し込むといいでしょう。
で、押し込みきったら、一つ一つピンを半田していきます。

半田が終わったら、ケースに組み込みます。組み込むとGPIOが使えなくなりますが、それはそれで。
USBマウスとUSB WiFiをつないで、起動します。

起動したら、設定画面を開きます。ショートカットがないので、マウスを一番上に持っていき、クリックしたまま下げます。
DSCF2919
すると、黒い画面がびろーんとおりてきますので、その中の歯車をクリックします。
DSCF2920

するとおなじみの設定画面が開きますので、WiFiをクリックします。反応するまで時間がかかりますが、待ちましょう。
DSCF2921
次にWiFiをOnにします。
DSCF2922

その状態で、何も拾わない場合は、USBのトングルが対応していません。対応する奴に変えましょう。
当家では、IOのWN-AC433Uはダメで、PCiのBT-Micro3H2XはOKでした。
WiFiが使えない場合は、GPIOから出てるシリアルピンを使ってもOKです。そちらは試してませんが・・・。

つないだら、IPアドレスをWiFiの設定から拾います。
当家では192.168.11.7でした。
DSCF2923

これを使って、ADBでつなぎます。

ここで、シリアルの場合を念のため書いておきます。
一応本体のLANにも対応していますが、IPが画面から拾えません。ので、DNSの割り振り状況を確認してもいいかもしれません。
シリアルの場合は、コンソールからshellを開いて、netcfgを叩いてください。IPアドレスがでてきます。

つなぎ方ですが、まず、ADBを使ってconnectします。

 $ adb connect 192.168.11.7
connected to 192.168.11.7:5555

とでたら、接続OKです。
次に、adb shellとやります。

 $ adb shell
root@android:/ #

shellが出たら、次のコマンドを使って画面の出力をPiTFTに切り換えます。

 # setprop persist.fbtft adafruitts

その後、rebootコマンドで再起動して見ましょう。
出力が、PiTFTに切り替わったと思います。

これで満足してくださいw
という具合です。

ADBの設定がやっかいなので、ちょっとアプリのデバックにとかは厳しいと思います。
すなおに、FlameやZTEのFirefox OS Phoneを入手するか、シミュレータを使った方が良いでしょう。
ただ、これがあれば、これ一台で動きますので、余興には良いと思います。ブラウザも動きます。
DSCF2924

ただし、上にも書きましたが、タッチは反応しません。反応してもあさっての所にカーソルが出ます。マウスでないとまともに操作できません。
また、加えてホームボタンがありません。従って、アプリを起動してしまうと、終われませんwww

これらを含めた余興として、楽しみましょう。

まともな環境をお望みの方は、シミュレータや実(ry

以上、RPiビルドレポでした。

明日はYamasukeさんです!