About this site
このサイトは、航空・宇宙コンピュータ電子工作といった時代の最先端のことから、登山といった文明生活から遥かにかけ離れたことまで、思うがままに書いてあります。写真も大好きです。
興味がある方にしかおもしろくないと思いますが、どうぞ楽しんでいってください。あと、MovableTypeのカスタマイズ情報を提供しています。

If you are interested in "Super Sylphide", an autopilot system for small UAVs, please visit this page.

最後に、はてなアンテナやRSSリーダーで読む場合はこちらからどうぞ。
Entries @ recently

November 18, 2008

Tracにガントチャートプラグインを導入

某所で新プロジェクトの立ち上げをした都合、Wikiやリポジトリビューワを統合した包括的コミュニケーションツールとでも呼べばよいのでしょうか、Tracを導入しました。その際にガントチャート、いわゆる線表を生成してくれるTracGanttCalendarプラグイン(オリジナルはこちらのようですが、リンク切れのため紹介ページへリンクしています)をいれてみることにしました。この記事は四苦八苦しながらプラグインを導入した顛末です。

導入したTracは日本語化されたTrac-0.11.1.ja2です。展開してsetup.py build、steup.py installし、trac-adminで初期設定をすると特にトラブルもなくトップページが表示されるようになりました。しかしながら、そこにさらにTracGanttCalendarをダウンロード、同じようにsteup.py build、setup.py installし、trac.iniを編集してプラグインを有効したところ、エラーを吐くようになりました。

TypeError: decoding unicode is not supported

TracGanttCalendarプラグインにあるunicodeがどうやら悪さをしているようです。エラーコードの上にはどこでエラーが発生したかスタックトレースが表示されていたので、それを頼りにソースコードを修正してみることにしました。

結果からいうと、TracGanttCalendarプラグインが想定していたTracのバージョンが古く、HTMLのレンダラがgenshiに変更になったことによる問題であったようです。修正用のパッチganttcalendar-0.0.1.patchを作ってみました。パッチを適用後は正常に動作をしているようです。

00:38 fenrir が投稿 : 固定リンク | このエントリーを含むはてなブックマーク | この記事をLivedoorでクリップ! | この記事をdelicious.comでブックマーク | この記事をドリコムRSSにクリップ | コメント ←ここから投稿できます!! | トラックバック (0)
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/675

November 10, 2008

Make: Tokyo Meeting 02に行ってきました

[Timely]

Make: Tokyo Meeting 02お疲れ様でした。如何わしいSuper Sylphide名刺をつけて会場をブラブラしたのですが、どなたにも捕まることがなかったので正直ほっとしています(笑)。次回こそは何か出したいです、それでもってSuper Sylphideはおまけ程度に連れて行きたいところです。

adder.jpg
今回ツボだった、全加算器物理モデル。全部メカ、ケーシングも素敵。

101hatsune.jpg
圧巻!! の101匹はちゅねチャン

arduino_mini.jpg
Arduino Pro Mini + USBモジュール。

Arduinoをとうとう入手しました。これでChumbyでArduinoをFlashからコントロールできるか検証できます、ヤッタ!!

23:31 fenrir が投稿 : 固定リンク | このエントリーを含むはてなブックマーク | この記事をLivedoorでクリップ! | この記事をdelicious.comでブックマーク | この記事をドリコムRSSにクリップ | コメント ←ここから投稿できます!! | トラックバック (0)
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/674

November 07, 2008

fonを導入してみたが繋がらない orz

ブームに乗り遅れた感がありますが、fonが楽しそうだったのでこの度導入してみることにしました。La Fonera+をamazonで購入し、設置したネットワークにあわせて設定を行った後、登録作業までかこつけました。しかしながら、何故か公衆アクセスポイント(FON_AP)からネットに繋がらなく、登録作業が完了できません。ローカル(MyPlace)からは繋がるので、とても変な気分です。そこで問題解決に繋がれば、と、我が家の少し変わったネットワーク環境を晒してみることにします。

fon.png

製品としてのブロードバンドルータを使用しておらず、ルータ兼サーバとしてMac Miniがインターネットの入り口にあるのが特徴です。そこではルータとしての機能を実現するため、natd + ipfwが協調して動作しています。この設定に問題がある可能性が高いのですが、fonのローカル側(MyPlace)からネットに繋がることを考えると、fon自体に問題がある可能性も捨て切れません。もし何かアドバイスがありましたら、コメントいただけると大変ありがたいです。よろしくお願いいたします。

23:58 fenrir が投稿 : 固定リンク | このエントリーを含むはてなブックマーク | この記事をLivedoorでクリップ! | この記事をdelicious.comでブックマーク | この記事をドリコムRSSにクリップ | コメント(5) | トラックバック (0)
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/673

November 01, 2008

Make: Tokyo Meeting 02 すいません m(_ _)m

[Timely]

Make Tokyo Meeting 02にでたいなぁ、とかいっておきながら、見せ方の見通しがたたず結局出品を断念したことをここで報告しておきたいと思います。期待をしてくださった方、特にコメントまで寄せてくださったKobayashiさんには申し訳ないがきりです。しかし来場はする予定ですので、一緒に回ってくださる方(またodawaraさん、いかが?)の募集や、会場で偶然遭遇してしまい『Super Sylphide見てみたい』と危篤にも申し出てくださった方には現物にて対応をしたいと考えております。

それでは皆さん、来週現地にてお会いしましょう。次回こそはっ。

21:44 fenrir が投稿 : 固定リンク | このエントリーを含むはてなブックマーク | この記事をLivedoorでクリップ! | この記事をdelicious.comでブックマーク | この記事をドリコムRSSにクリップ | コメント(2) | トラックバック (0)
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/672

October 26, 2008

ChumbyでArduino等をFlashからコントロールする方法 (XMLSocketが使える?)

時計デバイスChumbyと戯れています。前回の記事『FTDIチップ経由でマイコン等と通信するためのCGI』では、Chumbyに接続したFTDIのUSBシリアル変換チップを経由して、更にその先に繋げたマイコンのコントロールをcgiプログラムを使ってFlashから行おう、というものでしたが実はもっといい方法があるようです。今回の記事ではその方法を紹介しようと思います。なお手元にArduino等の環境がないので、この方法自体の完全な検証が済んでいないことを記しておきます(どなたか貸してください、笑)。

方法ですが、サーバを立ててFlashとソケット通信を確立します。これはデスクトップPCでよく行われている、Flashからシリアルポートをたたく方法(TECH Matari 『Flash(AIR)でシリアル制御する方法まとめ』によくまとめられています)なのですが、この方法は前回紹介したcgiプログラムを使う方法に比べて、1) 接続が保たれるので、受信に素早く簡単(=コールバック関数を使える)に対応できる(cgi版ではいちいち一定間隔ごとに受信ありますか?と尋ねにいく必要あり)、2) 負荷が軽い(cgiは起動コストが大きいです)、という利点があります。運用上でセキュリティによる制限を考慮する必要があるものの、それでも魅力的です。

じゃあなんで前回のcgiを使う方法を紹介していたかというと、Chumbyのフラッシュプレーヤは貧弱でXMLSocketなどできないと思っていたからです。現在Chumbyが対応しているのはFlash Lite 3、つまりはストリーム通信(XMLSocketなど)がサポートされています。よく調べましょう、というオチでした。言い訳をさせていただくと、Chumbyの開発段階で搭載されていたフラッシュプレーヤ(Flash Lite 2の機能限定版)にはXMLSocketがサポートされていなかったことが、本家Wiki(Summaryの項目)で明記されています。

このソケット通信を確立するために使うサーバプログラムですが、Arduino開発環境に付属のserproxyを使ってみることにしました。同じ方法をとっているgainarのFlash用のソース(ソフトウェア・ライブラリのFlash内にあるserial_proxy)をポートしても良かったのですが、こちらはJava+JNI(Java Native Interface)で書かれていたので、Pure CなArduinoに軍配をあげました。少し修正を加えればCygwin上のChumby開発環境でなんなくビルドが通り、またChumby上でも動作しました。後はPC用に作られたArduinoのFlashがChumbyでも走ることを確認できればよかったのですが、これは今後ということにしたいと思います。そういうわけで今回の記事ではserproxyの修正点をまとめたパッチ chumby_serproxy.patchを公開することで、お茶を濁したいと思います。

23:04 fenrir が投稿 : 固定リンク | このエントリーを含むはてなブックマーク | この記事をLivedoorでクリップ! | この記事をdelicious.comでブックマーク | この記事をドリコムRSSにクリップ | コメント ←ここから投稿できます!! | トラックバック (0)
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/671

October 23, 2008

FTDIチップ経由でマイコン等と通信するためのCGI

Linux時計ガジェットChumbyからFTDIのUSBシリアル変換チップでマイコンをコントロールしようと企んでいます。そこで、大本のコントロールはChumby上で実行できるFlashを考えているのですが、Flashからハードウェアを直接叩くことが満足にできにないので、間にCGIプログラムを噛ませることにしました。そこでできたのが今回のプログラムです(車輪の再発明な気もしないでもないですが、笑)。

ソースはftdi_cgi.cppで、C++で書いてあります。C++ということでバイナリ効率が物凄く悪い(40KBytes近くになりましたorz)ですが、動けばいいので気にしていません。クロスコンパイラのg++(以前の記事『CygwinでChumbyの開発環境』で開発環境を作っているならarm-linux-g++)でコンパイルしてChumbyの/psp/cgi-bin/に転送後、ブラウザからURLを適当に叩いて動作テストをしましたが、動いているようです。

非常に単純で、URLに送信や受信設定を書いて送ると、ポートをその通りに制御するまでのプログラムです。例えばhttp://cumby_url/cgi-bin/custom/ftdi_cgi?to=10&bl=0&push=00010203&pull=4のようなURLでアクセスすると、読み出しタイムアウト10[0.1sec]、最低読み出し待ち文字0バイト、送信文字列4バイト{0x00, 0x01, 0x02, 0x03}、受信期待文字バイト数4バイト、といった具合です。

次はFlashなので、ActionScriptを久しぶりにやるか、といったところです。

※Chumbyでも使えるもっといい方法があるようですぜ

10:53 fenrir が投稿 : 固定リンク | このエントリーを含むはてなブックマーク | この記事をLivedoorでクリップ! | この記事をdelicious.comでブックマーク | この記事をドリコムRSSにクリップ | コメント ←ここから投稿できます!! | トラックバック (0)
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/670

October 20, 2008

ChumbyにFTDIのシリアルUSB変換チップを認識させる

ここ最近時計ガジェットChumbyにはまっているわけですが、比較的スムーズにChumbyでFTDIのシリアルUSB変換チップを起動時から有効化させるためのスクリプトが、この度ようやく完成しましたのでお知らせします。まだまだ不親切設計(正常に作業が進行しているのか、作業中不明)なので、中・上級者向けのツールであることをはじめに断っておきたいと思います。なお詳細は『ChumbyでFTDI』の記事をどうぞ。

使い方の説明を以下にします。動作確認をとった環境はChumbyのSW:1.6.0(メニューからSettings - Chumby Infoで確認可能)です。

まず前回の記事『Chumbyだけで設定ファイルを編集』にあるツール類をまとめたzipファイル(chumby_tools_20081020.zip)をダウンロードしてください。それと今回追加で作成したスクリプトのzip(chumby_make_ftdi_activated_ROM.zip)もダウンロードしてください。これら2つのzipファイルを、Windows等で読み書きできる(つまりフォーマットがFATに準拠している)128MB以上のUSBメモリのルートに展開してください。展開後、USBメモリのルートには3つのディレクトリ cramfs_tools, ext2_tools, mount_util と5つのファイル debugchumby, diff, ftdi_activate.patch, patch, zip ができているはずです。

このUSBメモリを電源が切れている状態のChumbyにさし、Chumbyの電源スイッチをいれます。普段と比べて起動までに相当(5分くらい)の時間を要し不安になりますが、ここで内部的に作業が進行しています。その作業が終わると正常に起動するはずです。正常に起動したらChumbyの電源を落として、USBメモリを抜いてください。
全てがうまくいっているのなら、USBメモリ上に新たにいくつかファイルやディレクトリができています。特にupdate2/rfs1.bin.zipというファイルが有れば、全ての作業がうまくいっています(WIndows機等にUSBメモリをさして中をのぞいてみてください)。そのファイルがない場合はなんらかの問題を抱えているわけですが、この時点では本体のファイルをUSBメモリにコピーして作業をしているので、Chumbyに危害は加えていませんので安心してください。諦めることができます(笑)。

最後にそのUSBメモリを電源が切れた状態のChumbyにさし、指で画面を抑えたまま起動してください。『Countinue to PRESS this screen (省略)』なるメッセージがでると思いますが、画面を押さえたままにしてください。少しすると、『loading special option』というメッセージが表示され、画面がカラフルになっていき(ならない場合はChumby自体が問題を抱えている可能性があります、下記参照)、最終的には『Install updates』という選択肢があるメニュー画面になると思います。『Install updates』を選択し、さらに次の画面で『Install from USB flash drive』を選択すると、FTDIデバイスが起動時に有効化されるようにしたバージョンがROMに書き込まれることになります。このときは画面の指示どおり絶対に電源を切らないでください。書き込みが完了すると自動的に再起動しますので、これ以降はFTDIデバイスが起動時に有効化された状態になります。ということで、作業完了です。

なお、『loading special option』でとまってしまう場合はChumby本体のROMにバットセクタが発生している可能性があります。一度、このような状態になって焦りましたが、Chumbyのフォーラムの文章を参考に修正用ファイルをUSBメモリに展開して起動を繰り返したところ、何とか治ったようです。

※FTDIチップをFlashから叩くため、cgiプログラムを作りました

00:57 fenrir が投稿 : 固定リンク | このエントリーを含むはてなブックマーク | この記事をLivedoorでクリップ! | この記事をdelicious.comでブックマーク | この記事をドリコムRSSにクリップ | コメント ←ここから投稿できます!! | トラックバック (0)
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/669