MobileHackerz
HOME > ウェアラブル奮闘日記:2004/02


2004/02/28

NOAX Harddisk Player えーと…、買ってしまいました。NOAX HDD Player。2.5インチのHDDが入るHDDケースなのですが、なんとDivXなどの再生機能がついていて、単体で動画プレイヤーとして動作する代物です。
HDDケース兼動画プレイヤーとして一部で人気があるようですが…別の思惑もあって入手してみました。

CFカードを入れてみる とりあえず、まず最初に実験君。CF-IDE(2.5inch)変換基板(若松通商でだいぶ前に買ったもの)を経由してCFを刺してみます。これで動作すればシリコンビデオプレイヤーのいっちょあがり…のはず。

結果としては、認識はするが、どうしてもWindows(XP)上からディスクをきちんとディスクとして認識しない。しかし、CFをこのケースから抜いてCFとしてFAT32でフォーマットし、あらかじめファイルを入れておけばプレイヤーから再生することはできました。うーん、微妙…
とりあえず壊してもいいや、なSanDiskの16MBが今刺さってますが、MicroDriveや他のCFだとどういう挙動を示すかも興味深いところ。


久しぶりに登場Eyetop まぁ、全く使えないわけではなさそうだ、ということで、ひさびさにEyetop(改)を引っ張り出してきました。以前より脱落防止ストラップをゴムひもで新調して使い勝手がさらに上がってたりします。
NOAX HDD Playerは、これと組み合わせるといい感じかもー!というわけです。


Eyetop制御ボックス内部基板 さて、買ってしまってから半年以上、保証を考えていつでも戻せるような改造を中心にやってきましたが、そろそろ腹を据えて、制御ボックスそのものを部品として使うことにします(ひぃー


Eyetop制御ボックス内部基板・電池側 Eyetop制御ボックス内部基板・スイッチ側 Eyetopの制御ボックスを開けて、中の基板を取り出すと、このような一枚モノの基板が収まってます。大きさはちょうど2.5inch HDDくらい。電源スイッチやディスプレイが刺さるコネクタ、ビデオ入力端子、LED、そして電池ホルダーまですべて一枚の基板の表裏に実装されていて、 他にケーブルなどが一切ないとてもシンプルな構造になっています。

電源スイッチの無効化 今回、この基板を部品として使っちまえー、という決意(笑)をしましたので、余分なでっぱり(電池ホルダーやビデオ入力のピンジャック)などを全部取り外します。(なんというか、全面GNDベタ基板にやられたというか…熱が逃げて逃げて部品の外しにくいったら…)
ついでに、電源スイッチの部分をショートして、「電源が供給されたら常に電源入りっぱなし」という状態にしておきます。(このスイッチは本来トグル動作しますが、ショートするだけで意図したとおりに動いてくれました)


NOAX & Eyetop 基板表 NOAX & Eyetop 基板裏 さていよいよNOAX HDD Playerとの接続です。NOAX HDD PlayerはACアダプタ端子から給電された時のみプレイヤー動作をする(USBからの電源供給の場合はHDD動作)ので、ACアダプタ給電からEyetop側に電源をくれてやれば良い感じになりそうです。
というわけで、ACアダプタ側の電源からEyetopへ、そしてNOAXのビデオ出力をEyetopのビデオ入力にそれぞれ配線します。
この段階でテストしてみましたが、なかなかいーい感じに表示が出ました。よしよし。


NOAX & Eyetop 基板 というわけで2枚の基板を重ねてみます。絶縁はあとでしっかりやるとして、寸法は…うん、予想していたとおり基板の大きさが似たようなものなので、わりとしっくりきます。
HDDを入れずにCFを刺してみたのは、ここでスペースを確保できるからという狙いがあったのでした。


NOAX & Eyetop 基板 さあいよいよクライマックス…!
NOAX HDD Player基板+HDD代替CF+Eyetop基板をまとめて、NOAX HDD Playerの(それなりにかっちょよい)ケースに収めることができれば、相当使い勝手の良いビデオプレイヤーになるはず…!
と、これを期待して作業してきたわけですが…
…あああ、微妙に危惧していたとおり、ケースの高さがちょっと足りませんでした…(とほほ…


NOAX & Eyetop
しかたない、なんとか収まりのいいケースを別に探してこなければいけません。ので、現在のところはここで中断。
NOAX HDD Player + Eyetop + MyBatteryでウェアラブルビデオプレイヤーのひとつの到達点にできると思うんですけどねぇ…





2004/02/16

さてさて、そんなわけでリモコンの問題がだいぶ解決してきたので、次の極楽環境は「テレビでの再生」です。
なにがつらいって、動画を選択して再生したり、早送りや巻き戻しをしたりするのにいちいちマウスを触らなきゃいけないのが一番つらい。
ではどうしようか…?

そう、リモコンで全部操作できる動画プレイヤーがあればいーじゃないかー、と、そう思うわけです。

マウスに依存しない、家電っぽい動画プレイヤーを使えば…と思ってざっと探してみたんですが、探し方がわるかったのかどうにも見つからない。
うーん、どうしようかなぁ…

というわけで、無いもんはしょーがないということで、これも作ってみました。


家電ライク動画プレイヤー MovieSelecter Ver0.01


基本はフルスクリーンで、オールキーボードオペレーションです。しかも、キーボードとはいえ超低機能なので、使うキーはわずか6個。(方向キー+決定・キャンセル) リモコンへの対応もばっちり視野に入ってます。というか、これを前提にして(PCとの連携も視野に入れて)リモコンマシーンのファームウェアを汎用的にしておいたわけではあるんですが。

起動したあとはキーボードでファイル選択、再生。再生後はキーボードで早送り巻戻し(15秒単位)。あとはキーボードの操作をリモコンに置き換えるだけですヨ!
リモコンの受信装置は既に完成してますから、そこらのジャンクなUSBキーボードでもバラして、リモコン信号を受信したら特定のキーが押されるようにするだけでなんとかなりそうです。

MovieSelecter選択画面

…と、ここまでやったところでMyHTPCの存在を知りました(;´Д`)
あー、こっちのほうがいいじゃん!(笑)

まぁいいや、とりあえずプレイヤーがあればこっちのものです。あとはまさにキーボード操作をリモコンに置き換えるだけなので、 これはリモコンコンバータをきちんと作り直すのと同時に作業することにしましょう…。





2004/02/15

というわけで、2月の中旬になりました。
まだ完全に体が空いたわけじゃないですが、微妙に時間ができつつあるので色々な製作活動を微妙に再開しはじめました。


…んでは、まずはリハビリがてら簡単なものから…ってんで選んだのが次のテーマ。

自由にコクーンから動画を吸い出すことができるようになって、うちの家庭内メディアサーバPCには 今着々と動画ファイルが蓄積されつつあります。しかし、これを楽に鑑賞しようとなるとこれがなかなか…。
MPEG4化して通勤時間に見る、というのが実のところこのサイト的な到達点ではあるのですが(そしてこの日記の目標でもあるのですが(笑)) まずは疲れた体でリビングにごろんと横になってさあ動画ファイルを見るぞぉ……となると……ああ、面倒くさい(;´Д`)

で、面倒だなあ、と感じるポイントはどうやら次の通り。
・コクーンのリモコンでテレビ(モニタ)の電源ON/OFFやボリューム調整ができないため、リモコンを2つ持つ必要がある
(※うちのリビングのテレビはジャンクでゲットした富士通PDS4203Jという 業務用プラズマディスプレイなのでコクーンのリモコンの"テレビリモコン"がそのまま効かないのです)
・リビングのモニタをRGBにしても、メディアサーバに入った動画ファイルを見るためには結局マウスをつかんでファイルを開いて…と面倒
・動画を再生したあとも早送りや巻き戻しなどでマウスを…あー面倒
こう書くと一体なにを面倒がっているんだー、という感じもしなくもないですが、「楽をするための労力は惜しまない」のがアレゲ道ですから、さっそくこれらの諸問題を解決するための 方策を練ることにします。


まずはリモコンの問題。
要は手持ちのリモコン(コクーンのリモコン)が発することができるリモコンコードと、PDP側が受信できるリモコンコードに差があるのがいかんのです。
差があるなら、変換してしまえばいいじゃないか!

ということで、リモコンコード変換器を作り始めました。

最初はPICでやろうかとも思いましたが、PICはまだあまり慣れてないのでタイミングクリティカルなアプリケーションをばっちり組む自信がないのと、もうちょっと高級(?)な応用例も できたら面白いかもなー、という理由で(いつも使っている)H8/3664をベースにすることにしました。

実験基板 前に一回作って放置状態だった実験基板(秋月のH8/3664基板タイニーI/Oボードに、1行液晶をぶらさげたもの)の上に 簡単に赤外線受信モジュールと赤外LEDをぶらさげます。
回路図は…というのもおこがましいですな。秋月の2個300円赤外線リモコン受信モジュールをそのまま、データに書かれていた 例どおりに2SC1815を1段かませてH8/3664のP81(FTIOA)に、赤外LEDはそのまま抵抗入れただけでP76(TMOV)にそれぞれ繋いだだけです。

リモコン信号そのものについてはこのあたりなどを参考にしつつテストテスト、と…。


通信の様子 途中、「なんでソニーだけリモコンのフォーマットが違うんだーっ!(;´Д`)」などと絶叫しつつ、無事、約半日で送受信するコードが完成。

いろんなWebの赤外線リモコン関連記事を見ているとかなりゴリゴリなコードが多いようなので、せっかく自分なりに組みなおすんだったら、ってことでちょっと凝って(笑)、μITRON準拠のHOSを載せて、その上で独立して動くタスクとして赤外線リモコン送受信ルーチンを実装してみました。


H8/3664 赤外線リモコン送受信サンプル(ソース)


このコードはリモコンの送受信タイミングを見るのにH8/3664のタイマW、赤外線リモコン発信の38kHz変調にタイマVをかなりバリバリ使っていますので、他のCPUへの実装は結構難しいかもしれませんので注意。

実際の詳しい動作はソースをそのまま読んでいただくとして、概要だけ簡単に説明すると…

・リモコンの受信は、H8/3664のタイマWによるインプットキャプチャを使いタイミングを測定しています。割り込みコンテキスト内でリモコンのデータデコードまで行い、デコードが完了した段階で「リモコン送受信タスク」をイベントフラグで励起し、そこで固定長メモリプールを確保してデコードしたデータを書き込み、メールボックスでアプリケーションレイヤに通知します。

・アプリケーションレイヤはメールボックス経由でデータを受信したら、そのポインタに展開されているデータを読み、処理を行います。処理が完了次第アプリケーションレイヤ側でメモリプールの開放を行います。

・アプリケーションレイヤからリモコンの送信を行いたい時は、アプリケーションレイヤが固定長メモリプールから必要なメモリを確保し、そこに送信したいデータを書き込みます。その後メールボックス経由で送受信タスクへ通知し、さらに送信開始をイベントフラグで通知すると送受信タスクが送信を開始、送信終了次第送受信タスクがメモリプールを開放します

こう書くと小難しく見えますが、実際はアプリケーションレイヤと赤外線送受信レイヤが完全に分離しているので、自分で書いておきながらなかなか応用が効きそうでにんまりしています(笑)。
受信だけなら結線1本(データ線1本)でリモコンが一通り使えるので、入力I/Fに手ごろに使えるかもしれません。


…というわけで…

変換機完成

リモコンのコードを変換することができるようになって極楽作戦第一弾成功〜
まだケースにも入れてないバラック状態なので、そのうちケースを作りたいと思います。


…で、コンシューマっぽく(再コンパイルしないで)設定変更ができるように作りこむとしたらEEPROMが欲しいなぁ…、と思っていたら。
あ、あれっ!?

いつのまにか、秋月からH8/3664Nのボードが出ていましたか!Σ(゚Д゚;o)

しかもH8/3664ボードと80円差!。あちゃー、おうち在庫に3664ボード3枚ほど残ってますよ(;´Д`)EEPROMいいなあ…













管理人へのメールについてはこちら
MobileHackerz - It is not cracking but happy hacking!