PDAで無線LANを扱う(仮)

アイデアノートとして。 中古でPDAを購入したときにクレードルは付いていない。ので、なんらかの形でPCと連携/通信する手段が必要。というか、クレードルに置かないと通信や同期ができないのは面倒だし、家や会社の両方にクレードルを置いて同期(?)をさせるのも、お金が必要だし(昔ThinkPadを使っていたときはクレードルを2台買ったが)。 # というよりも、中古PDAでも最新のwindows mobileでも動くようにするわけだから、このあたりは、通信手段としては無線LANかBluetoothが有用。 PDA同士のP2P通信は別に考えるとして、 ■PDAがクライアント、PCがサーバーの時 – .NET Remote を使ってPCへ通信 – WEBサービスでも良いが、PC側にIISが必要(SQL Serverでも良いけど)になるので大袈裟。しかも業務アプリっぽい動きしかできないのでパス。 WEBサービスを利用すれば、Amazon API を叩くこともできるのですが、PDAからモデム通信をしないといけないので、ちょっと躊躇。お金が掛かるからね。 Amazon のサービスを呼び出すならば、 – 無線LANがあれば、PC経由でAmazon APIを叩いて、PDAで表示。 – 無線LANがなければ(戸外にいれば)、既に取得済みのデータベース(SQL Server Compact)を使って検索して表示。 な具合が課金的にはよろしい。google map とか他の検索機能も同じ。というか、その場で検索ってのはモデム通信をしないとできないので、課金的に得策とは言えない。別の使い方をしたほうがよい。 その点、PDAからPCをリモートで操作、ってのはお手軽にできる。 PCを使っているんだからキーボード/マウスは手元にあるはず(椅子に座っているはず)なのだが、 – 単に映画を見ているとき – 単にゲームをしているとき – ブラウザで閲覧 なんてときは、手元にキーボードは必要ないし、マウスぐらいでいい。実際、無線対応のマウスを使うとこの点は便利。 だが、もうちょっと細かい操作をしようと思うと、マウスだけでは足りないので、PDAで作った「リモコン」がいい(これは携帯でもok)。スタライスで文字をぽちぽち打つのはやめ!鬱陶しい!ので、ボタンは9個(iPhoneもそんな感じ)。切り替えて表示すればok。何をPCで動かすかは未定ではあるが。 今度は逆 ■PDAがサーバー、PCがクライアントの時 PDAがサーバーの場合は、 – .NET リモート – WEBサービスのサーバ – TCP/IPのサーバ と色々できる。無線LANを使っている間は電気を大量に食うのであるが、利用用途としては、 – PCのサブ画面 として使うことになるので、電源をコンセントに刺した状態で使う。使い方は、動画をサブ画面で流すことも考えられるが、これだけだとつまらない。単にTVを付けるか、サブ用の液晶ディスプレイを買えばOKなので。 もうちょっと凝った一案として、 1.サブ画面に「葉書」で来たようにメールの着信を表示する [...]

PDA で SQL Server Compact 3.5 を使う

PDA自体にデータベースを乗せる簡単な検証をしてみました。 極小SQL Server Compactでデータベース・アプリをお手軽作成 http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_01.html 利用方法としては、 – データベースをあらかじめ作成しておいて SD メモリに置く。 – アプリケーションからPDA上のDB(SDFファイル)を参照する。 – 無線LANなどが使えるときは、適宜DBをアップデートする。 ってな感じを想定しています。 DBのアップデートに関しては、地図や電話帳みたいな固定データは丸ごとPCからコピーしてもOK。 PDAで編集したメモ書きなんかは、適宜PCでマージしてやって(PDAでマージでもOK)、DBに書き戻すという方法がよいでしょう。 ActiveSync に関しては保留。中古でPDAを手に入れると大抵クレードルがありません(スタライスも無いことが多い)。なので、PDAとPCとのデータのやり取りは、 – SDメモリ経由 – CFカード経由 – 無線LAN – Bluetooth に限られます。赤外線でもいいけど、昨今のノートPCには赤外線が乗っていない機種が多いのでパス。 勿論、PDA自体に無線LAN/Bluetoothが乗っていない場合もあるわけですが、それはそれで(今時の)使い勝手を考えて現在保留。 さて、本題ですが、PDAでSQL Server Compact 3.5 を使うときは、System.Data.SqlServerCe 名前空間を使います。この中に SqlClient と同等のクラスが含まれています。 参照設定に「System.Data.SqlServerCe.dll」を追加します。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlServerCe; namespace [...]

デジタルフォトミニアルバム(仮2)解析

デジタルフォトミニアルバム(仮)解析 の続き SPTIによる制御法 http://azuco.smallnews.net/fao/doc/spti.html DeviceIoControl-SCSI_PASS_THROUGH_DIRECT keeps giving Error 87 http://social.microsoft.com/Forums/en-US/Offtopic/thread/56529bff-ef02-4b67-8dae-bef7a7be0dfd SCSI read disc structure C++ help http://cboard.cprogramming.com/cplusplus-programming/113878-scsi-read-disc-structure-cplusplus-help.html アーカイブ: USB ストレージ – ドライバおよびハードウェア開発者向けの FAQ http://www.microsoft.com/japan/whdc/archive/usbfaq.mspx Japan WDK Support Blog : アプリケーションからSCSIコマンドを発行する方法 http://blogs.msdn.com/jpwdkblog/archive/2009/04/15/scsi.aspx DeviceIoControl と IOCTL_SCSI_PASS_THROUGH_DIRECT をキーワードにして探していくと↑なところに行きつきました。 最初は、SPTIによる制御法を参考にして、直接組んでいたのですが、やっぱり Windows Device Kit(WDK)が必要なようです。つーか、そこにサンプルがあります。 WDKをインストールして、 C:WinDDK6001.18002srcstoragetoolsspti を見ると、spti.c なソースに IOCTL_SCSI_PASS_THROUGH や IOCTL_SCSI_PASS_THROUGH_DIRECT を指定したサンプルがあります。ちなみに _DIRECT あり/なしの違いを簡単に言うと、読み書きするときのバッファの取り方が違います。_DIRECT なしの場合は、いったんドライバー内部のデータに読み込んだ後にユーザーの指定バッファに転送、_DIRECT ありの場合は、ドライバー内部を経由せずに直接ユーザー指定のバッファに転送します。ってのが、spti.htm に書いてあります。 WDKの入手先は、Microsoft Connect Web [...]

“ミニマム インターフェース展” YCAM

site hirac : サイトハイラック http://hirac.info/site/ minimum interface http://minimum.ycam.jp/ 直接コンピュータ(キーボードなど)に触れることなく、コンピュータの機能を使って現実と仮想を組み合わせる試みです。有名なところでは、iPhone の2本指による拡大/縮小/回転などがあるのでしょうが、私としてはこっちの紙の上に穴を空けたパンフレット(?)を使って、机に案内を表示する、っていう発想のほうが面白い。 仕組み的にはバーチャルの画像と立体を組み合わせる、ポイントを認識する仕組みと同じでしょうから、 1.紙を WEB カメラで移す。 2.穴の位置を認識して、傾きを測定する。 3.穴がふさがれた状態を認識して、対応する案内/ガイドを持ってくる。 4.穴の位置に会うように画像をスライドで表示する。 という具合(だと思う)。 私にとって一番「面白い/楽しい」と思うのは、物理的な「紙」を使っている、ところです。wilcoom 03 のタッチパネルや PDA を使っていて不満に思うところは、それに物質感がないところです。常にすべすべ。昔、科学技術館(だったか)、液晶にざらざらする触感を与える展示がありました。確か、数年前にアルプス電子(だったかな)が液晶を波打たせる技術を開発/販売していたと思います。これを使うと、若干ですが指先で感じられるほどボタンが盛り上がったり、ざらざらした感触が得られます。DS のようにタッチペンで主に操作するときには別に触感はいらないのですが、携帯電話の場合「数字」を打つときの触感が結構重要です。物理的なボタンを使ったときは、くぼみや、5番の中点(中心を知らせる仕組み)を利用して、ボタンを見なくて押せますが、液晶パネルの場合にはこれができません。なので、液晶だけのほうが見た目は美しいかもしれませんが、いまいち使いづらいのです。極論を言えば「機能美を優先しすぎた、アールデコ的な反動」を感じるのです。 と私的な意見はこれくらいにして… さて、これは紙に印刷して来場者に配る、のですからパンフレットとして使えます。 YCAM で使われたパンフレットは非常にシンプルなものですが、カラー印刷もできます。 穴は穴じゃなくても良い訳でなんらかの認識しやすいカラーでもいいわけです。 認識の方式としては、 – カラー階調による認識 – 形状認識 が考えられますが、形状認識のほうは画像にエンボスを掛けて認識させるんでしょうが、誤認識が多そう。色調と組み合わせて、触感的には形状(丸とか四角とか星型とか)をあわせると人間にわかりやすいかな。 ブロックにマーキングを付けて認識させる方法は確立されているので、あとは – どんなブロックを使うのか? – どんな紙/マーキングを使うのか? – 映像との組み合わせは、どのくらいが適切か? の感覚的な組み合わせでしょうか。

OpenLDAP

シングルサインオンを実現する方法としては、 a) 各アプリ/OSSの認証用のDBを直接読みに行く。 b) 何らかの方法で Active Directory を使う。 c) 何らかの方法で LDAP を使う。 という方法が考えられると思います。 # 他にもあるんでしょうが、 私自身 LDAP をよく知らないので、a) の方法を考えていたのですが、よく Active Directory と LDAP が比較されているので、ちょっと調べてみました。 技術評論社のページにいいものがあります。 そろそろLDAPにしてみないか? 中満英生 http://gihyo.jp/admin/serial/01/ldap 2007年6月4日から月1ぐらいのペースで連載されています。ちょうど、日本LDAPユーザ会 http://www.ldap.jp/ が出来た頃みたいです。 この OpenLDAP http://openldap.org/ は Linux 上で動きます。実は Windows 上も2008年4月ぐらいまでは公開されたみたいなのですが、現在は公開が中止されています。 2007年10月4日 OpenLDAP for Win32 – その1. http://lightmaterial.blogspot.com/2007/10/openldap-for-win32-1.html なので、OpenLDAP を試すためには Linux を立てなくちゃならない、え~、面倒臭い。訳ですが、まあそのあたりの(私の愚痴)は無視して話を進めます。 # ちなみに、当然のことながら商用のLDAPもあります。商用のLDAPは試したことがないので、どれだけ使いやすいか/値段がどうなのか、なんてのは分かりませんが、OSS を使うのに商用のLDAPを使うのは本末転倒な気がするので、OpenLDAPを使うことを前提にして考えています。 このLDAP(Lightweight Directory [...]