hatayanlogで「Flash」と一致するもの
就職してからというもの、自宅で手を動かしたり勉強することがほぼなかった(特に今年は廃人だった)が、
最近ちょっと自分の中に変化が起こりつつあり、少しずつ手が動くようになってきたり、
休日に展示会に行く元気も戻ってきた。(IDEO展のマウスのプロトタイプは感動した!!)
この状態が長く続くといいなあ。
今はとりあえず、Flash AIRとOpenCV2.0+C#で簡単なサンプル作ったりしている。
結構文法とおまじないを忘れていてWEBの資料あさりつつちょっとづつ進めてる。
一番手間取ったのがmercurialの使い方だったりする所がとても情けない.....
おまけ:
仕事で使うちょっとした便利ツールを作ろうと考え中。
でもwavファイルのサンプリングレート変換の仕方がよくわからん。
フーリエ変換のフの字もよくわかってないので俺には無理か?
勉強してみようかな。
DSPの勉強も画像認識とかで必要なので、
信号処理に強いKさまにいい本でも紹介してもらうか....
FlashでFlickrの写真を表示させたり、スライドショーを作ったりするサンプルはたくさんあるのだけれども、Flickrに写真をアップロードしたかったのでas3flickrlib を使ってアップロードを試してみた。
サンプルswfのダウンロード
(FlickrUploadTest.zip)
※残念ながらwww.flickr.comのサーバーに"crossdomain.xml"がないので(api.flickr.comにはある。)swfをwebにアップした状態からはアップロードの処理がうまく動きませんでした。ローカルで実行してください。
AdobeMAX2007でもGainerと合わせて紹介されていて大きな反響を呼んでいたFunnelのビルド002がリリースされたので、ArduinoとFunnelを使ってActionScriptからArduinoを操作する方法を試してみた。
フィジカルコンピューティングの開発ボードはArduino,Wiring,MAKE Controller Kit,Gainer,古くはBasicStampなどいろいろあり、それらのボードをつかってPCと接続し使うための開発環境もいろいろあります。海外では、スタンフォード大学のHCI GROUPが開発しているd.toolsや、NADA(今は名前が変わってSketchtoolsなのか?)があり、Funnelは日本発のものになります。
FunnelはIAMASの小林茂さんが中心となって未踏ソフトウェア創造事業で開発しているもので、OSCに対応しているのでいろいろな言語から使うことが可能になることが特徴です。2007/11/07にビルド002がリリースされました。現時点では小林さん自身が開発しているFunnel I/Oモジュール、Gainerや、Arduinoに対応しています。
Arduinoがずいぶん前にATmega168に対応したのだけれども、ATmega168にBootLoaderを書き込む方法を忘れてしまっていたのでメモ
使用しているライター&書き込みプログラムはchaNさんのAVRSP
ストロベリーリナックスでライターの完成品が売ってる。(前回のATmega8の時と同様)
AIR beta1でWEBCAMの画像をjpgに保存するサンプル作った - hatayanlogをBeta2に対応させてみた。
保存できたjpgファイル
具体的に直したのはFileクラスを使う部分と設定ファイル部分。
証明書の概念がはじめて出てきたのでそこに注意した。
具体的には、Flile.resolve()というメソッド名がFile.resolvePath()というメソッド名に変更されたのでその部分を修正。
//f = f.resolve(fileName);Beta1
f = f.resolvePath(fileName);//Beta2
Beta2ではデジタル署名が加わったので設定ファイルを新しく作成した。
Flash Net Comport Connector ver0.1.5 をリリースしました。
■改良点
AS3に対応、ダメ文字があったのでAS2のAPIを修正
■注意点
ver0.1.5とそれ以前のFlashライブラリはダメ文字の修正のためにプロトコルが変わったので互換性がなくなっています。以前のプログラムを今回使うためにはライブラリの差し替えをしてswfを再コンパイルしてからお使いください。
下記サイトからダウンロードしてください。
AIRのFlash CS3用のAIR書き出しエクステンションのβ1版が公開されたのでいじってみた。
(注意!!:2007/10/09現在はβ2になっていますが、ここで配布されているAirアプリはβ2では実行できません。ソース自体はたぶん流用できます。 無理でしたBata2対応版はこちら)
hatayanlog: Apollo まとめの記事の時から我慢していたAIR(元Apollo)のプログラミングを修了したので遂にやってみた。
作ったのはWEBCAMの画像から静止画を保存して、jpgファイルに書き出すサンプル。
as3corelibのcom.adobe.images.JPGEncoderとAIRのファイルシステムのクラスを使って実装。
サンプルファイル AIRCamera
こんな感じの画面です
実際に保存した画像
Adobe CS3 シリーズにアップグレードしたらPremiere Pro CS3やAfter Effects CS3 、Flash CS3などなどのソフトの表示がちらついたり、がくがくなったりする不具合が出て困っていた。
原因がずっとわからなかったのだが、他人の環境ではおこらず、自分の環境だけで100%再現性があったのでもしかしたらとIntellipointをアンインストールしたらなんと正常に直った。
調べてみると色々なところでこの問題は報告されている模様。
マウスユーティリティ IntelliPointで不具合発生 (マイクロソフト IntelliPoint Ver.6.1) - Sony VAIO Hot Street
IntelliPointの6.xを入れると画面がちらつくので5.xに戻した(管理人日記) - むぅもぉ.jp
どうやらIntellipoint6.x系でのバグらしい。
Intellipoint5.x系に戻すとバグが解消されるとのこと。
追記(07/09/18)
その後、いままではLaser Mouse 6000をずっと愛用してきたのだけれど、そんな不具合や、断線で右クリックが時々利かない現象もあったので、これを機にVX Nano Cordless Laser Mouse for Notebooks に買い換えた。(Logicoolもドライバの不具合で有名なので怖いのだけど。)
Logicool VX ナノ コードレスレーザーマウス フォア ノートブック VX-N
現在は快適に動作中。
ワイアレスでもこんなに反応良くなったんだと感心。
ミシェル・ゴンドリーの監督最新作の映画。
複数の人から
「あんたが映画に出てた」
といわれた。
中には映画見たあとに僕にわざわざ電話してきた人も。
「恋愛睡眠のすすめ」の主人公が僕っぽいらしい。
僕が映画館でみてる時に心の中で
「この主人公痛々しくて自分と重なるけどこれは見てる人全員が感じるんだろうな」
と思っていたら他の人は「こいつはhatayanだ」と思っていたというオチ。
Link:映画「恋愛睡眠のすすめ」公式サイト
僕は邦題よりも原題の「science of sleep」のほうがしっくりきた。
変な映画だけど、ほんわかしたい人にはおすすめ。
以下ネタばれあり
トレンドたまごのジングル名を聞かれて曲名を調べたので覚書。
洋楽はすぐ曲名忘れますね。
トレンドたまごのジングルで使われてる曲はPat C というアーティストのVenha Agoraという曲で、
Saudade Suiteというアルバムに収録されいます。
サウダージ・スィート
パット・シー 
他にTVで有名なのは
加藤ローサが出演している佐川急便e-collectのCMで使われている曲
このCMの『年下の男の子』のカバーは、
Sunshine Suiteというアルバムに収録されてます。
Sunshine Suite~年下の男の子
パット・シー 
.........と色々久しぶりに調べてたら、いつの間にか彼女の新しいアルバムが出ていました。
気になる。
ROMANTIC
パット・シー 
よりくわしい情報はPAT C. オフィシャルWEBへ
忙しくていじれないので
くやしいからApolloの記事のまとめだけつくっておく
・公開の際の記事
アドビシステムズ,次世代アプリ実行環境「Apollo」のパブリックアルファ版と開発キットを公開:ITpro
・Adobe会長の公演
米アドビ社長が新アプリ「Apollo」デモ、「本当のWebサービスを提供」 - @IT
ナラヤン氏は将来のアプリケーションは「PC以外のデバイスを考えていかないといけない」と強調した。インターネットに接続しているデバイスの数で、携帯電話などの非PCデバイスがPCを抜いたことを説明し、「今後はいつでも、どこでも、どのデバイスでも情報を取得できるようにしないといけない。モビリティがキーだ」と話した。ただ、モビリティについては「シリコンバレーは遅れている」として、日本などアジアの技術革新に注目すると説明した。-引用
なるほど デバイス関連のFLASHの動向はFlash Devicesがくわしい。
・Apolloの立ち位置
【レポート】Web 2.0時代の仮想マシン - 「ApolloはSaaSの有力なクライアント」アドビ (MYCOMジャーナル)
ApolloはAjax・PDF・Flashを"マッシュアップ"するWeb 2.0時代の仮想マシンとして、Java VMがエンタープライズで圧倒的な地位を築いたように、有力なものとなりうる。特にSaaS(Software sa a Service)のクライアントとして活躍が期待される。ギャレットイルグ社長も「AdobeとしてSaaSには大きな期待を寄せている。様々な分野で取り組みを行うが、ApolloはSaaSのクライアントとして有力だ」とする。-引用
なんかWeb 2.0時代の仮想マシンって単語がかっこいい。
・ダウンロード元
Adobe Labs - Downloads
・各種BLOGやまとめサイト
Apollo Wiki - Adobe Labs
akihiro kamijo: Apollo Archives
■Apollo登場以前にオープンソースで開発されていたSWFディスクトップアプリ開発環境
・Sw3Sw4EntryPage - Sourcesecure Trac - Trac
よくFLASHをつかったスクリーンセーバーの開発で使われてる。
・The LocalConnection explained Open Source Flash
Localconnectionをつかっていろいろなものと通信するものC言語のソースコードなど
■Apollo for Adobe Flex Developers Pocket Guide
Apollo for Adobe Flex Developers Pocket Guide: A Developer's Reference for Apollo's Alpha Release (Pocket Guide)
Mike Chambers Rob Dixon Jeff Swartz 
以下のサイトでPDFファイルが無料で公開されている。
Apollo:Books:Apollo for Adobe Flex Developers Pocket Guide - Adobe Labs
その本の有志による翻訳プロジェクト
FrontPage - PukiWiki
シリアルポートとSWFを通信させたい方はこちらにまとまってます。
Flash for Mobile
クスール 
なかなかレアなFlashとPhidgetsを連動させたプログラムとか、PSPで動かすとか、携帯向けのFlashについての本。--観察と記述より
とのこと気になる。探して立ち読みしてみるか。
夏になり研究室の周りの森にもカブトムシが出没し始めました。
このカブトムシはヨーダの頭がお気に入りみたいです。
Paravie が ACM SIGCHI ACE 2006 のDEMO部門でSilver Awardを受賞しました。
国際学会へのデモの展示はいろいろ大変だったけれども貴重な体験になりました。
デモをみてくださった方々ありがとうございました。
Thank you for the people who saw the demonstration!!
■demoの様子
ちなみにGold AwardはVoodooIOだったのですが、このプロダクトを作っている、Nicolas Villarさんとお話しできてうれしかったです。
2006年06月14 日- 16日にかけてACEという学会で
現在作成中のプロダクトParavie!のデモを発表してきます。
こんなメンバーでやっています。
こんなプロダクトです。
詳しい情報は以下のサイトで、
NADAとかいうフィジカルインターフェースのラピッドプロトタイピングのツールがあるらしい。
I saw the NADA gang last week at Etech and I'm going to try and review this, it's a fast and easy way to control devices with Flash and Java.-
MAKE: Blog: NADA Rapid prototyping of physical interfacesの記事より
フィジカルインターフェースのキットとかっていろいろあるけどそれを全部一つのゲートウェイで処理できるようにするコンセプトっぽい。値段は$100.00 。
有料なのが痛いが、その甲斐あって、これからバージョンあがっていくと結構いいかんじのツールになりそうだ。こういうのが出てきたし、このニッチな市場もだいぶ枯れてきた感じがする。
同じ研究室のプロダクトビブリオロールがベストインタラクティブ賞受賞しました。
よかったねえと思ってたら、どうやらデモの実装に僕の作ったFlashNetComportConnectorを使ってくれたみたい。デモの期間中ずっと落ちないで動いていたらしいのでよかったよかった。こうやって自分が作った物を使ってくれる人がいるというのは幸せなものです。
Arduinoを自分で作るときに躓きがちなのがBootLoaderをインストールするところ。
そこの手順をまとめてみた。(竹ちゃんや翔に聞きかじったことをプルーフできたのでそのまとめ。)
使用しているライター&書き込みプログラムはchaNさんのAVRSP
ストロベリーリナックスでライターの完成品が売ってる。
※ATmega8に電源、セラロック(16Mhz)、ISPはもう実装済みとする。
※2006/03/17追記
ATmega8を確認
>avrsp -r
Detected device is ATmega8.
Device Signature = 1E-93-07
Flash Memory Size = 8192 bytes
Flash Memory Page = 64 bytes x 128 pages
EEPROM Size = 512 bytes
ロックビットの書き換え
>avrsp -l11111111
Detected device is ATmega8.
Lock bits are programmed.
ロービットの書き換え
>avrsp -fl11011111
Detected device is ATmega8.
Fuse Low byte was programmed.
ハイビットの書き換え
>avrsp -fh11001010
Detected device is ATmega8.
Fuse High byte was programmed.
ブートローダーのインストール
>avrsp ATmegaBOOT.hex
Detected device is ATmega8.
Flash: Erasing...Writing...Verifying...Passed.
ロックビットの書き換え
>avrsp -l11001111
Detected device is ATmega8.
Lock bits are programmed.
これでbootLoaderの書き込みは完了。
あとはRs232cドライバICを通してシリアルポートに接続するか、USBシリアル変換ICを通してUSBで接続するなりすればよい。
それができたら、Arduinoの開発環境からプログラムを書けば動くようになる。
FLASH8Playerの新機能を少しはFLashっぽく使うぞ!!
ということで前々から指摘されていた「金魚のFLASH」の影が変な部分をDropShadowFilterを使ったエフェクトに直してみた。
FLASH8Player以上じゃないと影が見えません
※重いので波紋を発生するのを止めています。
Flash Net Comport Connector ver0.1.3 をリリースしました。

■改良点
・すがちゃんが指摘していたLogの表示方法を変更(チェックボックスでOn Off & clear 可能)
・FLashClientへのGUIからのテスト送信を実装
・アイコンの変更
などです。
今回から配布用のページを設けたのでそちらからダウンロードしてください。
よろしくお願いいたします。
Amazonのcrossdomain.xmlってここにあるんだ。
知らなかった。いつの間に..。
http://xml.amazon.com/crossdomain.xml
2年前は、そんな物なくてプロキシみたいなPHPを作ってFLASHで遊んでたけど、
もうそんなことしなくて済むんだね。
またAmazonWEBサービスいじりたくなってきた。
ちなみにYahoo! JAPAN Webサービスのcrossdomain.xmlは
Flash Net Comport Connectorの専用ページを作りました。※先日公開したver 0.1.2 には send to serial ボタンが効かない問題 がありました。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
問題を修正したver 0.1.2.1を用意したのでそちらをダウンロードしてください。
なお、ver0.1.2.1の公開にあわせてver0.1.2の公開を中止しました。
ダウンロード
このバーションは古いバージョンです。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
Flash Net Comport Connectorの専用ページを作りました。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
ところで、もうちょっとフィードバックするとしたら(1)モニターのテキストフィールドがスクロールがいっぱいになっちゃうと、来てるのか来てないのか判断しにくいから、Clearボタンみたいのがあったらいいな、と思った。
(2)なんか、あれを立ち上げたままだとWindowsがシャットダウンしなかった。
とおっしゃっていたのでWindowsがシャットダウンしない問題を解決したバージョンを作成した。
すがちゃんのいっている(1)の問題はまた別のソフトの問題なのでそっちはそっちで解決する予定。
■改良した点

上図の通り「X」ボタンでフォームを非表示にするのをやめて「Display off」ボタンでフォームを非表示にする仕様にした。
■ダウンロード
※先日公開したver 0.1.2 には send to serial ボタンが効かない問題 がありました。
問題を修正したver 0.1.2.1を用意したのでそちらをダウンロードしてください。
なお、ver0.1.2.1の公開にあわせてver0.1.2の公開を中止しました。
ダウンロード
このバーションは古いバージョンです。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
ソースコードがほしい方はダウンロードしたZIPファイル内のreadme.txtに書いてある宛先までメールをください。
Flash Media Server2 にはローカルのファイルを読み書きするメソッド群がある。
それを今回のデモでつかったのだが忘れないようにその技術メモ。
ちなみに開拓者は臼井君 thanks!
重要となるクラスはFileクラス(API reference)
使い方はすごく簡単で単に
newFile = new File("test.txt");
newFile.open( "utf8", "read");
とかやれば読める。
新しくファイルを作って書き込む場合は
newFile = new File("test.txt");
newFile.open( "utf8", "create");
newFile.write("hogehoge");
newFIle.close();
とでもすればいい。
サーバー自体のインストール方法はこちら
こんなことがありましたよというメモとしては、最終発表のために作ったデモのプログラムではファイルをOPENする時に日本語が化けてしまっていたのだが原因は不明。ファイルをOPENしてそれを送信するところが原因ぽいのだがまだ手つかず。
Flash Net Comport Connectorの専用ページを作りました。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
この間リリースしたFlashNetComportConnector0.1.0をバージョンアップ。
すがちゃんがシリアルポートの読むタイミングがやだというので設定を選べるように少し改良。
■改良した点
1.シリアルポートでデータを受信するときのモードを選択できるようにした。

新たに「readmode」のタブを追加。
それぞれのモードの意味
Normal = いままでと同じモード バッファにたまった文字を送信する。
Byte=バッファにためずにそのまま送ってきた1byteのデータをそのまま送信する。
Char=バッファにためずにそのまま送ってきた1文字のデータを送信する。
ASCII=バッファにためずにそのまま送ってきた1文字を送信する。
Line=改行コードが送られてくるまでデータをバッファにため続け改行コードがきたらまとめて送信する。
※いずれのモードも2バイト文字には非対応
2.おまけで、同梱のFLASHサンプルも少し改良。
■ダウンロード
ダウンロード
このバーションは古いバージョンです。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
今までのWEBでの技術の共有は各個人が自分でサイトを作るか、フォーラムにはいってメーリングリストで意見を交換するか、CVSなどを通じて大規模な開発に参加するかなどいろいろなやり方があった。そんななかで、技術的なTIPに焦点をあてるのではなく、できたプロダクト単位でその作り方を共有するSNSが去年から今年にかけてどんどん出てきているのがおもしろい。
自分の作ったFLASHやproce55ingの作品とコードを共有するSNS
http://www.codetree.org/index.php
自分の作ったプロダクトの作り方を共有するSNS
http://www.instructables.com/
Blogなどの手軽に制作記事をUPできる仕組みとSNSの仕組み、Day感覚で使用できるハードとソフトの高度なkitやtoolが広まってきたこと、さらにcreativeコモンズへの理解などの文化が、このような形の挑戦を可能にする世の中の流れはすごく興奮する。
ただこういう世界的なサービスを自分が利用する場合、英語で書くのがすごくおっくうで、しかも後で見返すときに母国語じゃないとしんどいのが難点。でも日本国内でやっても世の中の流れについて聞けないなぁ。使えるtoolはほぼ英語圏の物だし。英語できるようになりたいと0.1秒ぐらい思った。
Flash Net Comport Connectorの専用ページを作りました。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
この間作ったflashComportConnectorはネット越しにシリアルポートをみることができなかったので微妙に不便だったので、flash.external.ExternalInterface を使わずに、XML通信でやりとりをするFlashNetComportConnectorを作った。
ついでにC#からC#2.0に開発環境を移した。
シリアルポートのライブラリがあるのは便利。すごくいい。
作ったはいいけど、僕にプログラミングの能力があまりないのでどうしても高負荷時のスレッドの処理でエラーが出てしまう。こういったノウハウは、ラピッドプロトタイピングではつかないなと思った。
まだ未完成でα版ですらないのですが人柱のかたどうぞ。
ダウンロード
このバーションは古いバージョンです。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
堅実なひとはこちらから同じようなソフトをダウンロード
XMLSocket越しにFlashとcomportの通信を可能にするソフト、Flash Net Comport Connectorというソフトをつくってみました。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
あけましておめでとうございます。
去年のクリスマスに合わせてネタでC#でflashからシリアルポートと通信するソフトをつくって公開しようとすまきといっていたのにぼーっとしてたらもう年が明けてました。クリスマスに間に合わなかったけど、なんだかもったいないのでこの機会にUPします。
WinXP限定です。α版なのでサポートなしです。
flashComportConnector alpha版
※flashComportConnectorを終了するにはタスクバー上に出るアイコンを右クリックして終了してください。
※FLAファイルのコンパイルにはFLASH8が必要です。
ちょこっと作ってみた。
XMLソケットで自室に設置したPhidgetsの温度センサーを読みにいっている。
久々すぎて、Phidgets云々よりもBINDの設定にとまどった。
詳細はまた今度。
Flash Net Comport Connectorというソフトを自作してみました。
最新版は以下のページから入手してください。
Flash Net Comport Connector - Rapid prototyping tool series
ActionScriptではシリアルポートを直接たたくことができない?(たたけるとの噂も)
のでC#をつかったり、XMLソケットをつかうなりの迂回策が必要だ。
XMLソケットをつかった方法を今回試すことにした。
Wiringのプロジェクトでも有名なHernando Barragán さんが Network / Serial port Interfaceというものを公開しているので早速つかってみた。
少し使ってみたところ、FLASH→シリアルの通信はうまくいくのだが、シリアル通信→FLASHがうまくいかない。なぜだろう。
ちなみにシリアルのポートの設定は"interface.properties"のファイルの内容を編集することで可能。
ビットレートなどの設定は、19200 bps, no Parity, 8 StopBit, 1 Lengthで固定。
今年もクリスマスがやってきます。
クリスマスと言ったらサンタの次にツリーを抜かしてプレゼントのこのご時世。
何をもらおうか、何をあげようかとみなさん考えていらっしゃると思いますが、
そんなこの世の中に対して法王様が怒っていらっしゃいます。
@nifty:NEWS@nifty:ローマ法王、「クリスマスの精神汚す」と物質主義を批判(ロイター)
日本人の場合結果は見えている気がするけど、世の中の男はローマ法王のいってることに耳をかたむけるか、それとも自分の彼女の言葉に耳をかたむけるのか?どっちなんでしょうか?
前々回のエントリーでいじってみたPhidgetRFIDのサンプルをいじって
RFIDのあるなし、ある場合はIDを表示というAction Scriptを書いてみた。

ソース
/*
PhidgetRFIDをPhidgetFLASHAPIを通して使うサンプル
@author hatayan
http://www.hatayan.org
2005/12/06
*/
var rfid:PhidgetRFID;
var idcheck:String = "";
var count = 0;
rfid = new PhidgetRFID ();
rfid.onAttach = function (phid:Phidget) {
trace ("Attach Event: " + phid.getDeviceType ());
//デバイスタイプの表示
rfid.setOutputState (3, true);
//RFIDの読み取りを許可する
rfid.setOutputState (2, false);
//内蔵LEDを消す
};
rfid.onDetach = function (phid:Phidget) {
trace ("Detach Event: " + phid.getDeviceType ());
};
rfid.onError = function (desc:String, code:Number) {
trace ("Error Event: " + desc);
};
rfid.onTag = function (tag:String) {
if (idcheck != tag)
{
//もし読んだタグと記憶しているタグが違っていたら
//trace ("タグ発見このタグは: " + tag+"です");
rfid.setOutputState (2, true);
//内蔵LEDを光らす
exist_txt.text = "タグあり";
//タグありの表示をする。
idcheck = tag;
//タグを記憶する。
tag_txt.text = tag;
//タグIDを表示する。
}
else
{
//trace ("同じタグを読んでいます。");
if (count < 2)
{
count++;
//countが0より大きい場合はタグがあるとする。
}
}
};
rfid.openRemoteIP ("localhost", 5001, -1, "hoge");
onEnterFrame = function () {
if (count > 0)
{
count--;
//onEnterFrameが実行されるたびにカウントを減らす。
}
else
{
//もしカウントが0より小さかったら
rfid.setOutputState (2, false);
//内蔵LEDを消す
exist_txt.text = "タグなし";
//タグなしと表示
idcheck = "";
//記憶したIDをクリア
tag_txt.text = "";
//タグIDのテキスト表示をクリア
}
};
Phidget Flash Library(ASファイルがたくさん入ってるやつ)とおなじディレクトリでコンパイルしないとエラーが出るので注意。
母の見舞いから帰ってきて一息ついたので昼間やったことの更新つづき。
いちいちコマンドプロンプトを立ち上げてPhidgetWebService.exeを起動させるのがだるかったのでバッチファイルを書いた。
わざわざWEBに載せることではないのだけど自分で忘れるので以下覚え書き。
バッチファイルの中身
rem PhidgetWebService.exeを起動するバッチファイル
rem パスワードはhoge
PhidgetWebService.exe hoge -v
このバッチファイルをPhidgetWebService.exeと同じディレクトリ(僕の場合は"C:\Program Files\Phidgets\")においてバッチファイルのショートカットをディスクトップに作れば起動が楽ちんになる。
前回のエントリーで書いたリファレンスを参考にライブラリ、ドライバのインストールを行う
僕はWINDOWS XPでインストールしているので、他のOSの人はそれぞれのマニュアルを参考にしてください。
1.Phidgets Inc. -- Downloads betaにある Phidget Flash Library Version: 1.0.0 と Phidget.msi Version: 2.0.8をダウンロードする。
Description: Installs libraries on your Windows 2000 or XP computer. This includes the COM Library, C API Library, .NET Library, and the PhidgetWebService.
とPhidget.msiのところにあるので、前回試したときにはC#とJAVAのドライバが違ったがすでに統合されてわざわざ言語を変えるたびに再インストールしなくてもよくなったみたいだ。
2.Phidget.msiをダブルクリックしてインストールする。
僕はdefaultの"C:\Program Files\Phidgets\"にインストールした。
インストールがおわると"C:\Program Files\Phidgets\"以下に
PHIDGET.dll PhidgetsNET.dll PhidgetWebService.exeの三つのファイルが出来る。このうちPhidgetWebService.exeがflash API を使うためには必要なプログラム。
3.サーバーの実行
FLASH API manualに
PhidgetWebService requires you, at minimum, to specify a password that will be used to authenticate any clients; such as your .NET application
とあるのでパスワードを引数に入れないといけない。
実行の例(全部 PhidgetWebService.exeと同じディレクトリでコマンドプロンプトを実行していると仮定してください。)
例えばパスワードが"hoge"の場合:
PhidgetWebService.exe hoge
と入力する。
また、末尾に -vと引数をつけるとデバッグモードになる。
例えば:
PhidgetWebService.exe hoge -v
とつければよい。
デフォルトではサーバーのPortは5001 serialnumberは0となっている。
任意に設定したい場合は
PhidgetWebcervice.exe "パスワード" "serialnumber" "Port"
と入力すればいいので
例えばパスワードがhoge serialnumberが1000 ポートが5002の場合:
PhidgetWebcervice.exe hoge 1000 5002
と入力すればよい。
※PhidgetWebService.exeを実行するとNorton Antivirus のインターネットワーム防止が騒いだので、僕の場合は以下のように、インターネットワーム防止でPhidgetWebService.exeを許可する設定をした。
![]()
4.FLASHで実際に動くかテスト
ダウンロードしてほったらかしていたPhidgetsFlash.zipを任意の場所に解凍する。
すると大量のASファイルが入ったディレクトリが展開されるのでその中のtest.flaを開く。
デフォルトではサーボモーターのスクリプトが実行されるようになっているので自分が持っているphidgetsプロダクトのところのコメントアウトをはずし、サーボモーターのスクリプトをコメントアウトする。
僕の場合はPhidgets RFIDでテストしたいのでvar rfid:PhidgetRFID;~のところのコメントアウトをはずした。
ここで自分のPhidgetWebcerviceの実行環境にスクリプトを合わせる。
僕の場合はサーバーを"PhidgetWebservice hoge 1000 5001 -v"と起動したので
ローカルのswfファイルでPhidgetWebcerviceに接続するには、
rfid.openRemoteIP("localhost",5001,1000,"hoge");
とすればいいはずだがなぜか、
rfid.openRemoteIP("localhost",5001,-1,"hoge");
としなければつながらなかった。バグだろうか?
ともあれこれでちゃんと動くことが確認できたので今日はこれでおしまい。
最後のserialnumberで手こずったけど後は楽だった。
長らく放置していたPhidgets関連ですが、HCI at Stanford University: d.toolsとかにも使われてるしphidgetsあいかわらず盛り上がっているみたいですね。このエントリーにコメントが来たのを切っ掛けに久しぶりにサイトをみたら、FLASHAPIが追加されていた。
原理的にはWEBサーバーをローカルにたててそれ経由でFlashからPhidgtesにアクセスしている感じ。
なんかこれどっかでみたことあるやり方だがプロダクトの名前を忘れた。
奥出研のだれかがすでにいじりまくっていると思うが、ドキュメントがないので洗濯機が回っている間に少しいじってみることにする。
リファレンス:
・How to Make a Flash Movie Interact with a Phidget-PDF
・Flash API manual-PDF
内容
Adobe Photoshop® CS2 日本語版
Adobe Illustrator® CS2 日本語版
Adobe InDesign® CS2 日本語版
Adobe GoLive® CS2 日本語版
Adobe Acrobat® 7.0 Professional 日本語版
Version Cue® CS2 日本語版
Adobe Bridge 日本語版
Adobe Stock Photos
Dreamweaver® 8
Flash Professional 8
Fireworks® 8
Contribute™ 3
FlashPaper™ 2
....なんか究極の全部入りだな。入りすぎてて怖い。
windowsにIEが標準で搭載されるのが独占禁止法にふれるとかアメリカで問題とされていたけど、
僕はこっちの方がはるかに恐ろしい。
時代の流れを感じるとともにここからどのソフトが淘汰されていくのか、
ハラハラドキドキ。
たのむからFireWorksなくならないでほしい。
赤い折り紙を検出してる様子。赤色を検出して、その重心を割り出す。
ラベリング処理などは行っていないので複数の物体があるときはその複数の物体の重心が表示される。
swf -- flashplayer8以上,webcam必須 ※遅いパソコンだと固まるかも.......試してません。
赤色の検出なんか簡単だろうと素人考えで思っていたのだがそうではなかった.....
折り紙の赤を検出しようと思ったのだけれど普通に色域を指定してやろうとしたら
うまくいかなかったので我流で検出している。
以下その部分のソースコード
my_bd.draw(my_video); green_bd.copyChannel(my_bd,my_rect,my_pt,2,1); blue_bd.copyChannel(my_bd,my_rect,my_pt,3,1); blue_bd.draw(green_bd, new Matrix(), new ColorTransform(), 'lighten'); //ブルーとグリーンを合成。明るい方の値が優先される。 my_bd.draw(blue_bd, new Matrix(), new ColorTransform(), 'subtract'); /*元の画像の赤色から他の色を合成した値を引く。 この際、赤-他の色がマイナスの値をとらないようにdifferenceではなく、subtractをつかう。 */ my_bd.applyFilter(my_bd, my_rect, null, noiseReduction); my_bd.threshold(my_bd, my_rect, my_pt, '>', 0xff500000,0xffffffff); my_bd.threshold(my_bd, my_rect, my_pt, '!=', 0xffffffff, 0xff000000); /* ここで赤の値が高い物を白に置き換える。閾値は0xff500000としとく。 (環境によって変化させる必要あり)その後二値化処理(白以外は黒に) */
こんなので本当にいいのか?一応できているけどもっと簡単にできるはず。
重心の検出部分は
var x=0
var y=0
var count=0
//重心を求める際のx y と標本の数を入れるcountの定義
for(i=0 ; i < my_cam.width ; i=i+5){
//5pixel刻みにカメラの画像の横の長さまで
for(e=0 ; e < my_cam.height ; e=e+5){
//5pixel刻みにカメラの画像の縦の高さまで
if(0 != my_bd.getPixel(i,e)){
//もし画素が黒じゃなかったら
x+=i;
//その画素のiをxに足す
y+=e;
//その画素のeをに足す
count++;
//標本した画素の数を記録
}
}
}
/*
上のfor文のあとに
x/count
y/count
を求めることによって重心の座標が求まる。
*/
と適当に書いている。
今日はとりあえずここまででおしまい。
ノイズをとるためにmedian filterでも入れるかな。
今日は調子を取り戻したので、久しぶりに物をつくってみようかなと思い立った。
せっかくだから、UML2.0の勉強もかねて。最近はUMLより模型の方が研究室では有効だけどね。
何となく見せ所は想像できたので、シチュエーションとデザインのしっくり感をさぐりつつ、煮詰まったらUMLのお勉強。Judeで図を書こうと思ったのだが、どうやらJudeはUML2.0対応していないのでこまった。
UML2.0が書けるツールはないものかとさくっと調べると最近はEnterprise Architectというモデリングツールが安くていいらしい。UML2.0に対応してる上にC#やJava、PHPのソースの入出力にも対応している。ここのAS2.0のテンプレートを追加すればAS2.0のコードも生成出来るのでFLASHの設計にも使えるらしい。(またまたFlaxCoderさんより)ソースコードの読み込みに対応しているアカデミックプロフェッショナル版のは13,650円か。買えそうで買えないなあ。
とりあえず必要になるまで保留だなぁ。それまでは手書きで練習かな。そんなに大きな物は設計しないしね。それよりも模型の試行錯誤と製図だな。
ExternalInterface - Macromedia Flex 2.0 MXML and ActionScript Language Reference
Macromediaによるflash.external.ExternalInterface とC# を使った連携のサンプルの情報
ソース元
FlexCoder - Flex 2.0 と C#の連携より
通信のシリアライズ化まで踏み込んだサンプルはプログラミング力が貧弱な僕にとってかなりうれしい。
Macromedia - Developer Center : Embedding and Communicating with the Macromedia Flash Player in C# Windows Applications
や
sappari.org - C#の中にFlashを埋め込む
にならぶためになる情報
1.Macromedia - Flash Media Server 2から本体をダウンロードしてインストールする。
2.Flash Media Server 2 ComponentsをMacromedia - Developer Center : Flash Media Server 2 Componentsからダウンロード
3.zipの中に入っているCommunicationComponents.flaをC:\Program Files\Macromedia\Flash 8\ja\Configuration\Componentsディレクトリ以下にコピー(win flash8 使用の場合)
4.zipの中に入っているscriptlibフォルダの中身をC:\Program Files\Macromedia\Flash Media Server 2\scriptlib内にコピー、元々あるファイルを上書きする。
実装の苦労で苦い思い出ばかりが残る Flash Communication Serverですが、バージョンアップしてMacromedia Flash Media Server 2になったようです。発売日は2005年11月9日とプレスリリースされていましたが、どうやら11月24日に発売延期されていたみたいでした。
(2005/11/23日にMacromedia japanのページにて確認)
バックエンドシステムとの連携 newFlash Media Server 2 は Remoting 、 ファイルオブジェクト、XML オブジェクト、ソケット、Jabber® XML スト リームを含む各種ストリームをサポート しているので、アプリケーションサーバーとさまざまな方法で連携できます。 また、メタデータの情報を取得するため にメディアアセット管理システムとも連 携できます。-Macromedia - Flash Media Server : 機能より引用
新機能としては、On2 VP6 コーデックで録画できるようになったこともうれしいし、上記の引用内容のようにJabberにも対応したことが気になる。最近Google Talkにも採用されたしね。
自分でおもしろいビデオを撮りながら、すぐに友達に公開したいときにはRssではなくてIMにブロードキャストした方がおもしろい気もする。最近のニュー速VIPもその傾向にはしってる(「今から~するから」とスレたてて、アンカー指定で命令実行系)からね。オンデマンド的なVideo配信ではなくて、トラジションとかも作れるようになったんだし、インタラクティブなオンラインvideo作成編集環境とかFLASHで出来るようになるといいなぁ。というかそのためのJabber対応なんだろうけど。
Flash Media Server コンポーネントはここからダウンロードできる。
FLASHでWEBCAMを使った動きの検出をしてみた。
参考はFLASH 8 : threshold() >> Motion detection... - jeanphiBlog
ここにあるソースを参考に、二値化処理に注目して勉強した。
Flash でwebcam を使った動きの検出 swf -- flashplayer8以上,webcam必須

今回のPointは
now_bd.draw(before_bd, new Matrix(), new ColorTransform(), 'difference');
now_bd.threshold(now_bd, my_rect, my_pt, '>', 0xff111111, 0xffffffff);
の処理。
drawメソッドを呼ぶ際にblendModeObjectをdifference指定してbefore_bdとnow_bdを合成する。diffrerenceは明るい色から暗い色を引くモードなので、差分がない部分は0x000000になる。その後に0xff111111(黒にちかい)を閾値とし0xffffffff (白) 差があるところを白くすることで二値化処理をしている。
二値化処理した後ノイズが乗るのでどうしたらいいのか勉強中。
flashを使ってwebcamで映像を入力するといつも汚くなって困ってしまっていた。
いろいろしらべていたら Camera オブジェクトの .setMode()メソッドで入力解像度を操作できることを知った。
メソッドの使い方は
public setMode([width:Number], [height:Number], [fps:Number], [favorArea:Boolean]) : Voidパラメータ
width:Number (オプション) - 必要なキャプチャの幅 (ピクセル単位)。デフォルト値は 160 です。
height:Number (オプション) - 必要なキャプチャの高さ (ピクセル単位)。デフォルト値は 120 です。
fps:Number (オプション) - 必要なデータキャプチャレート (1 秒あたりのフレーム数)。デフォルト値は 15 です。
favorArea:Boolean (オプション) - 指定要件に合うネイティブモードがカメラにない場合に、幅、高さ、フレームレートをどのように操作するかを指定するブール値。デフォルト値は true で、キャプチャサイズを維持することを示します。このパラメータを使用すると、width 値と height 値に最も近いモードが選択されます。ただし、これによりフレームレートが低下し、パフォーマンスに悪影響を及ぼすことがあります。カメラの高さと幅よりも最大フレームレートを優先するには、favorArea パラメータに false を指定します。
とあったので、.setMode()メソッドを使った簡単なサンプルをつくって、早速実験してみた。
.setMode()メソッド検証用SWF -- flashplayer8以上,webcam必須
※使用しているWEBCAMによっては最大解像度がそれぞれ違うので、640 x 480 以上は表示できない場合あり。
.setMode()メソッドをつかって、それぞれ 160 x 120 、1280 x 960 の解像度でキャプチャーしてみた。画面の出力は640 x 480 で固定。
![]()
flashのデフォルト入力値である160 x 120の解像度のキャプチャー画像。かなり画像が荒い。
![]()
1280 x 960の解像度のキャプチャー画像 画像はきれいになっているがfpsが8まで落ちている。
いろいろ実験してみると、帯域の問題が結構顕著に表れた。
1280 x 960 ではfpsが8までおちてしまいすこしかくかくした感じになってしまう。
960 x 720だと 15fpsくらいで再生できるのでローカルでwebcamの入力を使うときはこのくらいの解像度がベストという気がした。
詳しいメソッドのつかいかたやサンプルソースなどはMacromediaのサイトへ
先日のに続いてついでに発掘up。
なぜかAnd検索がうまくいかなかったが、理由はいまだにわからない。
ちょっと前にflickr apiをいじって作ったFLASHがあったので、バグを少しなおして公開
下のテキストエリアにFlickrのusernameを入れるとその人の画像がランダムで表示される。
FLickrはアマゾンや他のwebサービスとちがって、FLashのクロスドメイン問題に対応している。
このページでFlickr API Keysを登録する際に
Domain For Flash applications:の蘭に自分のFLASHをおきたいドメインを入力することで、そのドメインにおいたswfファイルがflickr.comへ通信することが可能になる。
Flickr APIのページで公開されているflickr_api (doc)を使って使ったのだがバージョンが古いのかAPI自体にバグが多かったので、ソースのASファイルに潜って直して使った。
話は変わるが、ActionScriptでなぜかときどきloadMovieが効かない時があるのはなぜ?
ロードした容量をみてもロードは完了しているはずなのに表示されないことがある。
なぜだろう。
懐かしい話題。
nisshi.yugopより
スクリーンセーバーといえば、ScreenweaverがOpenSource化しましたね。ナイス。
とのこと。
Screenweaver久しぶりにインストールしてみよう。
どうやら flash8の英語のトライアル版がダウンロード開始したみたいだ。
早速インストールして使ってみよう。
FLASH講座これを使って何かしようかな。
iTunesが5.0に更新されたので、なんか発表されたのかなと思ったら
iPod nano がでたみたい。
あぁついにFLashメモリーのiPodでも写真を持ち歩ける時代が..FLashメモリー内蔵で 2GB と4GBWEBサイトみてると、あわせてiPod mini がラインナップから消えてる。iPod miniはもっと色が合ったと思うけど、今回は2色ラインナップみたい。電池は14時間もつみたいだからいいね。
最近iPodをいじりながら運転していていつ事故るかわからん状態なので個人的にはこのページがきになった。
Apple - iPod nano - iPod Your Car
前回の巻き戻しの点を改良すべく多少スクリプトを軽くするように改造したものを用意した。
巻き戻しの早さの確認のために一つのMovie版を作ってみた。
巻き戻しが一つの方が断然スムーズだ。スクリプト自体は文法的にはあっているっぽい。
やはり、FLASHのPLAYERが重くなってしまうのだろうか?
-------------------------------------------------------------------------
以下ソース
FLASHのビデオ関連のメソッドを使ってみた。
LA滞在時にバスに乗車中で暇だった時に撮ったMOVEを9つ再生、早送り、巻き戻しするFLASHを作ってFLASHPLAYERのえぐり具合を見てみた。
マウスを右に持って行くと早送り。左に持って行くと巻き戻し。
早送りは難なくこなしているが、巻き戻しは結構きつい。何でだろう。僕のスクリプトが悪いんだろうか?
flaファイル(loaderなし) authoring: flash mx2004
きょうtyonbori_rabbitは、参考したかったみたい。
*このエントリは、BlogPetの「tyonbori_rabbit」が書きました。
■FLASHとPHPでRSSを解析する意味
FLASHのActionScriptでRSSを読もうとする場合問題となるのは、
1.RSSというのがXMLではなく、RDFという文法でかかれていること。
2.FLALSHが外部サイトからXMLを読み込むことができない。
ということです。
そこで、自サイト内でRSSをFLASHで読みやすいXMLに変換してくれるような疑似webサービスのようなPHPを書いたら簡単にFLASHでRSSを読むことができるようになるのではないかと思いました。
■製作
1.PHPでRSSを解析する
サーバーでpearがつかえないので、MagpieRSS: RSS for PHPをつかってRSSを解析する。
リファレンス
MagpieRSS - PHP で使える RSS パーサー。-設置の仕方
v.70以降の日本語の文字化けに関して
2004-12-10 (Fri) 00:32:40 kabuguide? : magpierssの最新版(ver0.7)だと、rss_parse.incの54行目、536行目、552行目が悪さをしているようですね。それで文字化けが起こってしまいます(日本語が????となってしまう)。文字コードの変換を勝手にやってしまっているようです。対応策としてはver0.61を使うか、普通にver0.7をダウンロードしてみてrss_parse.incだけver0.61のrss_parse.incで上書きしたモノを設置してみるか…ですね。後者は私自身のサイトで実行してみたらうまくいきました。-MagpieRSS - PHP で使える RSS パーサー。より-
2.MagpieRSSを設置したディレクトリに以下のPHPスクリプトを利用。
上記のサイトにあったスクリプトを改造して設置。
http://www.hatayan.org/rss/rss.php?url="パースしたいRSSorAtom"
と引数を渡すことでXMLで値が帰ってくる。
php file
3.FLASHで読み込んでみる。
XMLconnectorをつかってやってみる。
なぜか空のノードがXMLオブジェクトの直下に一つできてしまう以外は完成。
■デモ
■v0.7
変更点:
藻を自動生成するようにした。
金魚の泳ぎのアルゴリズムを変更。ちゃんとぱたぱた泳ぐようにした。
■v0.6
変更点:
おっきな画面で泳ぐ金魚がみたいので大きい画面用のv0.6を作成しました。
swf file
ネットワークがないところで眺める用のstandalone版のv0.6も用意しました。
Download file
■v0.5
swf file
変更点:
金魚の数を変えられるようにした。
※あんまり数を増やすとFLASHPLAYERが固まります。100匹位までが妥当かも。
小川のせせらぎを追加した。小川の音はトゥキャンの素材を使わせてもらいました。
FLASHの動画って録画するのにわざわざコミュニケーションサーバーつかってたけどいらなくなるかも。
http://ffmpeg.sourceforge.net/index.php
FLASHでリモートメソッドなどを違うドメインから呼び出すときには以下のようなファイルをリモートサーバーのルートに必要がある。
*どこからでもアクセス可能な設定の場合。
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
※ちなみに悟がみつけたんだがここのマクロメディアのサイトはスペルミスしていところがあるので注意。×domein→○domain
FlashPlayer7r19からは例のcrossdomain.xmlファイルの置き場所がサーバーのルートじゃなくてもよくなったらしい。
System.security.loadPolicyFileというAPIをつかって指定します。
System.security.loadPolicyFile("http://www.hogehgoe.com/hoge/myPolicy.xml");
とかね。
ていうかSOAPってリモートメソッドなのになんでリモート側にこんなファイルをおかなきゃいけないんだ??SOAPの利便性をマクロメディアははき違えてるんじゃねーのか?
何でないんだろうと思っていたらやっぱり誰かが作っていました。
SchemaWeb - SOAP Web Service
これでキモイFLASHがたくさん作れるぞー!!
マクロメディアのサイトでMX2004シリーズの日本語体験版が出たよー
http://service.macromedia.co.jp/membership/membership_traialdown.asp?login=1&shori=freetraial&flag=ST2004_T
ここでーす。
奥出研の合宿のFLASH工房で、FLASHでブログの最新記事を表示する物を作ったので。
β版をためしに公開。
ここ
画像があるときは画像も読み込んで一応表示します。(jpegだけ)
追加機能として
・URLのリンク
・GIFファイルのときのHTMlへのリンク
・複数BLOGの表示
・トラックバックによるつながりの視覚化
を追加していこうと思っています。
flashmx2004のプロフェッショナル版にはタイムラインが存在しないらしい。
しかもコンポーネントになにやらWEBサービスコネクターのアイコンが。
パワポ禁止の奥出研のみんなに朗報なのは
プレゼンのスライド専用のインターフェースができたっぽいこと。
なんか画像を見る限りパワポライクなインターフェイスなので
いままでFLASH初心者がてこずってたFLASHでのスライドが楽チンになるかも。
英語版だけどtryalあるからインスコしてみようかな。
マクロメディアの本家のサイトを久しぶりに見たらMXシリーズ2004が出るとのこと。
なかでもやっぱり気になるのはFLASHMX2004
スクリプト面ではどんな機能が追加されているのかなあ。
それにしても名前がややこしい。MXなのか2004なのかどっちかにしてほしい。










