Chumby(チャンビー)とは、アメリカ・カリフォルニア州サンディエゴに本社を置く Chumby Industries, Inc.社が開発、販売するWifi情報端末です。ベッドサイドに置くアラーム時計の2.0版といったコンセプトで開発されたChumbyは、Flashで作成されたウィジェットと呼ばれるプログラムを組み込むことで、ニュース、天気予報を始め、写真共有サイトにアップロードされた画像や、お気に入りのブログ、YouTubeなどを3.5インチのタッチスクリーン上で楽しむことのできるガジェットです。
日本においては正規代理店より、日本語化、ソフトウェア&ハードウェアのローカライズ仕様の研究・開発、カスタマーユースや企業における専用ツールの企画、デザイン、開発が推進されています。また、通信事業者と連携を進め、マイホームにおける無線LAN環境のスマートな提供等、Chumbyは今、日本のマーケットに向けて、どんどん便利で楽しい機能が追加され続けています。
ssh 192.168.1.100 -l root
SlimServer (SqueezeCenter) を使えば chumby に向けてストリーミングで好きな音楽を流すことが出来る!
(省略. 必要そうなら誰か訳してください)
chumbyは起動時にport 80で小さな http サーバを起動します。基本的にはワイヤレスの状態を表示するだけです。このページを見るには、chumby の IPアドレスを確認した上で、http://あなたのchumbyのIPアドレス/にPCのブラウザからアクセスします。
このWebサーバにはCGIスクリプトを置くことが出来ます
これらのスクリプトには URL http://あなたのchumbyのIPアドレス/cgi-bin/custom/name_of_your_scriptでアクセス可能です
より完全な Web サーバが必要であれば、ChumbyをWebサーバとして使う を参照してください。
内蔵されているアラームの音が気に入らない場合、任意のmp3ファイルで上書きすることが出来ます
コントロールパネル 2.6 以降では週の曜日毎に別々のアラームを設定することが出来る。ファイル名はalarmmon.mp3, alarmtue.mp3, のようにする。
スタートアップ時に再生されるアニメーションを変更するには
自分独自のコントロールパネルを作成し、元のものと置き換えることもできる
WARNING - sshdを常時起動することによるセキュリティリスクを承知の上で行うこと!
USBドライブを指した場合のみ実行するには、以下のようにする
リモートファイルシステムをNFSマウントするには以下のようにする
# mount -t nfs -o nolock 192.168.1.115:/root/chumby /mnt/nfs
例:
mount -t nfs -o nolock 192.168.1.101:/root /mnt/nfs
コントロールパネルからのキャリブレーションが行えないくらいにタッチスクリーンの動作が狂ってしまった場合、USBドライブに 'ts_settings' と言う名前でファイルを作成し、以下のような記載をする
136,3768,3835,-3540
...USBドライブを差し込みchumbyを再起動する。これによりタッチスクリーン設定は出荷時の状態に戻るため、改めてコントロールパネルからキャリブレーションを行う。
以下のテクニックはchumby client version 1.4.0 upgrade では動作しない!!
USB-Ethernet アダプタとしては the Linksys USB200M 及び Trendnet TU-ET100C で動作が確認されている。設定は以下
Linksys USB200M - Linksys USB200M USB Ethernet adapter のみで動作を確認しているが、*おそらく* 他のものでも動くだろう。以下の記載は DHCP を利用する場合のもの。
#!/bin/sh insmod /drivers/usbnet.ko insmod /drivers/asix.ko udhcpc -t 5 -n -p /var/run/udhcpc.eth0.pid -i eth0 ifconfig rausb0 inet 127.0.0.1 /usr/chumby/scripts/sync_time.sh
Trendnet TU-ET100C - Trendnet USB 1.1 10/100 USB dongle, model TU-ET100C でのみ動作が確認されている。 H/W:C3.2 for a minimal get-in-going debugchumby file. (add more options like sync_time as necessary). The Chumby's OS/Kernel already has the necessary drivers installed and enabled for this device.
#!/bin/sh /sbin/udhcpc ifconfig rausb0 127.0.0.1
主にレオネットぐらいだと思われる。
#!/bin/sh ESSID="" WEPKEY="s:" LOG=/mnt/usb/wifisetup.log TARGET="" ID="" PASSWORD="" fbwrite "Connecting to Wi-Fi netowrk ${ESSID}....\n" echo >>${LOG} date >>${LOG} iwconfig rausb0 essid ${ESSID} key ${WEPKEY} >>${LOG} 2>&1 udhcpc -t 5 -n -p /var/run/udhcpc.rausb0.pid -i rausb0 >>${LOG} 2>&1 ifconfig rausb0 >>${LOG} 2>&1 fbwrite "Authenticating on Network....\n" curl -u ${ID}:${PASSWORD} ${TARGET} >>${LOG} 2>&1
現状、fbwriteがかぶって表示される。
以下の手順は特に日本語フォントを内包したFlashなど、サイズが大きいためアップロードできないwidgetの利用に有効
chumby がサーバからchannel情報を読み込む際、同時にUSBドライブ上(/mnt/usbにマウントされる) のprofile.xml が参照される。このファイルに記載されたwidgetは、サーバから取得されたchannelの設定情報に加えて取り込まれる。
例:
<profile> <widget_instances> <widget_instance id="1"> <access access="private"/> <mode time="30" mode="timeout"/> <widget_parameters> <widget_parameter> <name>zipcode</name> <value>90210</value> </widget_parameter> <widget_parameter> <name>phonenumber</name> <value>867-5309</value> </widget_parameter> </widget_parameters> </widget_instance> </widget_instances> </profile>
各フィールドのうち、 name, description, thumbnail href, movie href を必要なものに置き換える。href フィールドは ’’’*.chumby.com 以外の外部サーバを crossdomain としてセキュリティサンドボックス上で扱うものになる事に注意。widget_instance ノードは複数記載することが出来るが、その場合には別々の id を個々に割り当てる必要がある。
この方法により、chumby のスクリーンショットを用意に得ることが出来る
/psp/cgi-bin/image と言うファイルを以下の内容で作成する
#!/bin/sh echo "HTTP/1.1 200 ok" echo "Content-type: image/jpeg" echo "Refresh: 5; #" echo "" /usr/bin/imgtool --quality=100 --mode=cap --fb=0 -
改行形式はUNIX方式に従うこと。
作成したスクリプトは実行パーミッションを与える。
chmod a+x /psp/cgi-bin/image
作成後はPCのブラウザで http://ip.of.your.chumby/cgi-bin/custom/image にアクセスすることで、chumby の画面イメージを表示することが出来る。ただしここでは widget は表示できても Control Panel は表示することが出来ない。また内容は(スクリプトの Refresh に従って) 5秒毎に更新される。
セカンダリフレームバッファを表示したい場合は以下のようにする。こちらでは Control Panel が表示できるが Widget は表示されない。
#!/bin/sh echo "HTTP/1.1 200 ok" echo "Content-type: image/jpeg" echo "Refresh: 5; #" echo "" /usr/bin/imgtool --quality=100 --mode=cap --fb=1 -