0

chumbyを9V電池で動かす

2週間ぐらい前にchumby nightというイベントが恵比寿であり、俺もchumby持って参加した。

会場では初めてyoggyさんに会って、9V電池をくれてe-mobile+macbookでWiFiも建ててくれてお世話になりました。

chumbyの底部をあけると9V電池のコネクタがあり、「サポート対象外」みたいな事が書いてあるが普通に動く。

DSCF2250

もらった電池。けっこう高そう。

Hacking hardware for chumby – ChumbyWikiにも電池の事が書かれていて、ER-PHOTOというデジタルフォトフレーム用の電源がそのまま使えるとのこと。入力は9〜12Vで、2000mAhのER-PHOTO用バッテリで3時間もつらしい。

9V乾電池はだいたい200mAh程度の容量なので、10分の1として計算するとだいたい18分。

たしかに会場では20分ぐらいで電池切れた。(WiFi使用、USBからwidget読み込み、音楽再生なし)

DSCF2259

ちなみにふだんは千石電商の入って左で売ってる70円の9V電池が安いので常用してるんだけど、コイツでは新品でもchumbyは起動しなかった。chumbyにはきっかり9V以上出る電池じゃないと駄目みたいだ。

(普段は5Vに落とした回路を作ってるので、9Vきっちり出て無くても十分だった)

0

3980円ジャンク液晶モニタ

CoCoNet液晶工房で5インチぐらいの液晶買ってきて組み立てたら動いた。

3980円は安いし、1980円のミニRGBコンバータも入っていたのでじゃあ液晶本体はいくらなんだよと思いながら迷わず購入。日曜の時点でまだ何個か在庫はあった。

この店は秋葉原の北東側のジャンクエリアのはずれの公園のあたりにある店で、ワク無しの液晶やタッチパネルが単体で、ずば抜けて安く手に入る貴重な店。あとバラでは手に入りにくいフィルムケーブルがバラ売りされててとても良い。

Wiiに接続してマリオカートやってみた。小さいので姿勢が変わって脇が閉まった細かいハンドリングになる。普段はもっとコントローラ振り回してます



それなりの画質で出てるけど、文字を見るのにはつらい。ブラウン管のテレビぐらいの画質だった。動画見る分にはそんなに問題ないし、サーバー監視モニタにしたりchumbyを自作したり色々使い方はあるかも。コンポジット信号くらいならマイコンから作ることもできるしな

3980円で液晶、制御基盤、RGB信号/コンポジット信号コンバータの3つがついてくる。

この写真でははんだづけした後だけど、この線は自分ではんだづけしろとの事なので説明書に従ってはんだつけた。

完成品は5980円で売ってた。

DSCF2285

R、G、B、Sync、VCC、GNDの5つを接続するだけ。付属のケーブルが10芯ぐらいあったが、使わない線は全部切って捨てた。

DSCF2286

VCCとGNDはこのケースの下にある。一見どこから開けるかわからなかったけど、思い切ってペンチなどを突っ込んだら簡単に外れた

DSCF2281

電源にACアダプタ12Vを接続して起動。8〜15Vなら起動するらしい。秋月の店先で500円ぐらいで売ってた12Vで動いた。

手近なコンポジット信号(黄色い端子ね)を出すものがWiiだったので接続してみた。

緑がキツいが、RGBコンバータの半固定抵抗を回すことでRGB比、ブライトネス、コントラストなどを調整できた

RGB比以外は液晶側の制御基盤でも調整できる。

DSCF2283

Mac miniにもコンポジット出力があるので接続してみた。文字はつぶれて読みにくい。

あと、かなり見る角度によって色が変化する。安いんだからしょうがないか。

DSCF2289

DSCF2290

0

chumby用ふぁぼったーwidget

ふぁぼったーのwidgetを作った。

ダウンロード → Favotter Widget (Flash AS2 / CS3)

favotter on chumbyDSCF2209

■設定方法

今回もUSBメモリから起動するんだけど、特に設定項目も無いのでzipの中身をそのままUSBメモリに入れてchumbyに刺して、しばらくしてからchannel -> reloadで良い。

人気favと注目favをそれぞれ表示するために、swfが2つ入っている。

前のTwitter widgetと共存させるには、同梱のprofile.xmlを見れば2つのwidgetを読み込ませる設定の参考になると思う。widget_instanceのidが重複しないように注意。

■ダイナミックテキストにHTML表示とか

実装は、前のTwitter widgetの時とほぼ同じというか見た目を白黒にしただけなんだけど

ふぁぼったーのFeedにCDATAでHTMLが埋め込んであるので、せっかくなのでそれを利用する事にした所だけが違う。

FlashのダイナミックテキストのhtmlTextプロパティにHTMLを突っ込むと、そのままwebブラウザのようにレンダリングしてくれる。何のエンジンを使っているかは不明だけど、とりあえずそのまま突っ込んでみたらfont colorやimgは読み込めていた。

で、そのままだとchumbyの画面には文字が小さすぎるのでfont size=”22″ぐらいまで大きくしたいんだけどAS2に正規表現などがなかったのでsplitとstrReplaceでがんばった。

あとCDATA内のHTMLは>が>のように実体参照になっているが、それを変換するメソッドがAS2に無かった。

無かったのだが、ダイナミックテキストのhtmlTextプロパティに代入してからtextプロパティから読み直すとなぜか変換されている事を発見、解決した。

0

chumbyで日本語TwitterにIPAフォントを埋め込んだ

Flashにフォントそのものを埋め込むのはライセンス的にどうなのかよくわからなかったのでchumbyで日本語twitterの時はswfの公開はしていなかったのだけど、IPAフォントならライセンス的にokだとわかったので埋め込んで再公開しました。

これでFlash CS3を持っていない人も、chumbyでTwitterを日本語で読めますね!!

ダウンロード → Chumby Twitter Widget (AS2 / Flash CS)

DSCF2213

設定の仕方は変更無し。

s.h.log chumbyで日本語Twitterを読めるwidgetを作った

profile.xmlのusernumの数値を、自分のtimeline用に書き換える。これはtwitter上でのID。

twitter.com/homeで、自分のRSSフィードを見ると 123456.atom みたいな感じになっているので、その数値に書き換える。

intervalの秒数だけ、次の記事を読むまでwaitがかかる。デフォルトは8秒。

そしてUSBメモリから起動してください

ちなみにこないだchumby用に、PQI製の超小さいUSBメモリを買ったんだけど相性なのか、認識しなかった。MacBookでは普通に使えているので、財布にも入るサイズだし重宝してるけどどうしようかなあ…USBメモリが正直邪魔だ。

0

chumbyでLDR未読数を表示するwidget

LDR unread countがchumby.comのwidgetとして公開された。

Livedoor Readerのアカウント名を設定すると、未読数が表示されて焦らされるが、1万超えたあたりからどうでもよくなった。

アップロードしたwidgetは基本privateで、publicにした後審査が入ってwidgetsの検索画面から他のユーザに使ってもらえるようになる。今回はだいたい4時間ぐらいで審査が通ったみたい。

DSCF2199

ダウンロード → SourceCode(Flash AS2 / CS3)

(うおお、前の記事書いてから1週間たってる・・・)

前のTwitter widgetより前に作って投稿してあったものなんだけど、これは数字が出るだけなので、Flash的にも手抜き。

Flashは手抜きだけど、chumby widget固有のノウハウである

1.クロスドメイン許可されていない外部のサーバーのデータを読みに行く

2.chumby.comにデータを保存できる設定画面を作る

3.chumby.comに保存したデータをwidgetから読み込む

という事をやってみたので、まとめておこう。

■1.クロスドメイン許可されていない外部のサーバーのデータを読みに行く

Livedoor Readerの未読数を取得するAPIを使う。

パラメータにuser=shokaishokaiなどすると未読数が出てくる。

特にXMLとかではないので、AS2の場合LoadVarsを使えば良い。

ローカルドメインで動かす分にはこれで構わないが、セキュリティの事もあってサーバーに置いてあるFlashは別のサーバーにあるデータを読みに行く事ができないようになっている。そのため、rpc.reader.livedoor.comを読みに行けない。前のtwitterで使ったXMLクラスなんかは例外。

そのため、大学院棟のサーバーにchumby.comからのアクセスを許可するcrossdomain.xmlを置いて、RubyでproxyするCGIを置いてそれをchumby上のFlashから読むようにした。

crossdomain.xml











*.chumby.com からのアクセスのみ許可すればよい

このサーバーにRuby適当に作ったproxyを置いて、Flashから読ませる。

これで外部ドメインのデータを読めるようになった。

■2.chumby.comにデータを保存できる設定画面を作る

widgetの管理画面で、設定値を入力するダイアログを出すようにした。

データはchumby.comに保存され、自作widgetがchumby上でロードされたしばらく後に設定値が_root直下の変数として現れるという仕様らしい。

LDR unread count customize

この辺のドキュメントを参考にした。

サイズは320×240 pixelで、Sample Parameter Example(AS2)に同梱されてた com.Chumby.WidgetParams.as を使うのが楽らしいので作ってみた

configure.fla

まあ今回はユーザ名を保存するだけなのでサンプルを削っただけなんだけど、送信が終わったらgetURLでjavascriptを呼んで自分自身を閉じたりとかしていて面白い。

■3.chumby.comに保存したデータをwidgetから読み込む

chumby.comに保存されたデータは、widgetが画面に読み込まれてからしばらくたってから、_rootに現れる。

どうやら毎回読み込みに行っているらしい。

値が_rootに現れるまで待たないと、undefinedになってしまうので待つ。

this.onEnterFrame=function(){

if(username==null)return;//待ちます

ldr_loadUnread(username);

deletethis.onEnterFrame

}

こんな感じで、chumby+サーバーサイドができました。