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

site hirac : サイトハイラック
http://hirac.info/site/
ci090526100505

minimum interface
http://minimum.ycam.jp/

ci090526100513

直接コンピュータ(キーボードなど)に触れることなく、コンピュータの機能を使って現実と仮想を組み合わせる試みです。有名なところでは、iPhone の2本指による拡大/縮小/回転などがあるのでしょうが、私としてはこっちの紙の上に穴を空けたパンフレット(?)を使って、机に案内を表示する、っていう発想のほうが面白い。

仕組み的にはバーチャルの画像と立体を組み合わせる、ポイントを認識する仕組みと同じでしょうから、

1.紙を WEB カメラで移す。
2.穴の位置を認識して、傾きを測定する。
3.穴がふさがれた状態を認識して、対応する案内/ガイドを持ってくる。
4.穴の位置に会うように画像をスライドで表示する。

という具合(だと思う)。

私にとって一番「面白い/楽しい」と思うのは、物理的な「紙」を使っている、ところです。wilcoom 03 のタッチパネルや PDA を使っていて不満に思うところは、それに物質感がないところです。常にすべすべ。昔、科学技術館(だったか)、液晶にざらざらする触感を与える展示がありました。確か、数年前にアルプス電子(だったかな)が液晶を波打たせる技術を開発/販売していたと思います。これを使うと、若干ですが指先で感じられるほどボタンが盛り上がったり、ざらざらした感触が得られます。DS のようにタッチペンで主に操作するときには別に触感はいらないのですが、携帯電話の場合「数字」を打つときの触感が結構重要です。物理的なボタンを使ったときは、くぼみや、5番の中点(中心を知らせる仕組み)を利用して、ボタンを見なくて押せますが、液晶パネルの場合にはこれができません。なので、液晶だけのほうが見た目は美しいかもしれませんが、いまいち使いづらいのです。極論を言えば「機能美を優先しすぎた、アールデコ的な反動」を感じるのです。

と私的な意見はこれくらいにして…

さて、これは紙に印刷して来場者に配る、のですからパンフレットとして使えます。
YCAM で使われたパンフレットは非常にシンプルなものですが、カラー印刷もできます。

穴は穴じゃなくても良い訳でなんらかの認識しやすいカラーでもいいわけです。

認識の方式としては、

– カラー階調による認識
– 形状認識

が考えられますが、形状認識のほうは画像にエンボスを掛けて認識させるんでしょうが、誤認識が多そう。色調と組み合わせて、触感的には形状(丸とか四角とか星型とか)をあわせると人間にわかりやすいかな。

ブロックにマーキングを付けて認識させる方法は確立されているので、あとは

– どんなブロックを使うのか?
– どんな紙/マーキングを使うのか?
– 映像との組み合わせは、どのくらいが適切か?

の感覚的な組み合わせでしょうか。

カテゴリー: 雑談 | “ミニマム インターフェース展” 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 Access Protocol)、何をするのかを簡単に言えば、ユーザ認証をします。ユーザ認証だけなれば、RADIUSサーバなんてのや、普通のWindows認証を使ってもいいのですが、LDAPの場合なんらかの付加情報を持つことができます。付加情報ってのは、

– そのユーザはどんなグループに属しているか?
– そのユーザはどんな権限を持っているか?
– そのユーザの名前は?メールアドレスは?

ってな感じですね。内部的にはDBを持っていて検索しているだけなので、何でも入れられると言えば入れられる。似たものとして Active Directory がありますが、これも似たような情報を持てます。仕組みは違うけど、まぁチープに使っている分には似たようなものです。

ここで使っている WordPress もそうですが、ユーザ認証は内部のDBに持っています。管理ユーザや投稿ユーザという「役割/role」が付けられますが、それを設定するのは wordpress の admin 画面で設定します。また、ユーザを追加したり削除したり、パスワードを変更したりする機能も admin 画面で行います。

投稿するユーザを特定した後、roleを比較して何ができるのか/何ができないのかを判断するのはアプリに独自に必要でしょうが、ユーザを特定するところ(認証するところ)は、各アプリほとんど〃ことをやっています。

– ユーザ名とパスワードを入れてログイン
– 内部のDBで比較
– ユーザを特定する。

OSS に限りませんが、ユーザーを特定する必要のあるアプリケーションはほぼ似たようなことを独自にやっています。まぁ、単体で動かすのですから当然です。
ですが、このようなユーザー認証が必要なアプリを複数集めて「連携」させようとした時に、ここがネックになります。これを解決するのが「シングルサインオン」なわけですが、では具体的にどうやって「連携」させるのか?が問題です。
アプリは独自にユーザー認証のDBを使っているので、無理矢理連携させるためには冒頭に書いた、

a) 各アプリ/OSSの認証用のDBを直接読みに行く。

ってことが必須になりますなぁ。

ところが、うまいことLDAPに対応していれば連携が取りやすくなるはずです。

WordPress de LDAP
http://www.neo.ie.u-ryukyu.ac.jp/~joma/sblog/index.php?m=11&y=07&entry=entry071120-175349

ってのもあるそうです。となると、他のOSSアプリでもLDAP対応のものがありそうです。

というわけで、複数のOSS + LDAP → グループウェア化? という図式が浮かんでくるわけです。
# もっと検討が必要ですが、シングルサイノン関係は LDAP を使えばいけそうだ、という見通しをば。

以下は読んで(私が)参考になったもの。

第1回 まずは使ってみよう
http://gihyo.jp/admin/serial/01/ldap/0001
第7回 ApacheのBasic認証をLDAPで
http://gihyo.jp/admin/serial/01/ldap/0007
第8回 LDAPデータ管理
http://gihyo.jp/admin/serial/01/ldap/0008?page=3

カテゴリー: 開発 | OpenLDAP はコメントを受け付けていません

オープンソースのグループウェアを探す

先のエントリのスクリプトを動かした結果が↓です。

MOONGIFT: » 日本向きなWebベースのグループウェア「Aipo4」:オープンソースを毎日紹介
http://www.moongift.jp/2008/03/aipo4/
一番使えるグループウェアはこれだ!: フリーかつオープンソースのグループウェア【Web2.0 ソースコード完全提供】
http://sysphonic.blogspot.com/2007/07/blog-post.html
『アイポ4』 ユーザーコミュニティ – 日本発オープンソースグループウェア
http://user.aipostyle.com/
ゼロ円でできるグループウェア(1/4)
http://www.atmarkit.co.jp/flinux/special/aipo4/aipo4a.html
インストールマニアックス2009 | Ryuzee.com
http://www.ryuzee.com/installmaniax2009/
Customizable Post Listings | coffee2code.com
http://coffee2code.com/wp-plugins/customizable-post-listings/
web os とは – Google 検索
http://www.google.co.jp/search?hl=ja&q=web+os+%E3%81%A8%E3%81%AF&lr=lang_ja
WebOSはビジネスになる?――XMLコンソーシアムが研究成果を発表:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20070523/272071/
SSMTP でメール送信しよう! – WebOS Goodies
http://webos-goodies.jp/archives/50645131.html
シスフォニック株式会社 Sysphonic Co., Ltd.
http://sysphonic.com/ja/index.html

グループウェア調査をしているのですが、サイボウズを始めとして本当に必要なグループウェアの機能とは何か?を考えています。考えた上で、何かを選定するか/あるいは自作するか/組み合わせるか、というスタイルを取ります。

それで思い至ったのは、

– 無償となると Apache + PHP + MySQL の組み合わせが良い。
– 手軽さは、Windows XP/Vista に載せるのが良い。
– オールインワンタイプではなくて、OSS の組み合わせでも良い。
– 組み合わせの場合は、シングルサインオンが必須。
– 組み合わせの場合は、画面の統一感が必須。

なところです。

(私の場合)グループウェアの導入で躊躇するところは、

– お試し/テスト運用でも価格が高い。
– 環境構築/調査に手間取るのは嫌。
– どこまで使うか分からない機能が満載、でもあまり意味がない。
– 自分に必要な機能が、そのグループウェアに入っていない。
– 現在使っているモノ(ブログや掲示板など)との連携はどうするのか?
– 利用するときには、技術先行が好きな人ばかりではない。現状の業務スタイル/カラーに合わせたい。

の点があり、いまひとつグループウェアの利用という点に不満があります。

オールインワンタイプのグループウェアが多い(というかほぼ全てがそれ)のは、連携に手間取るからでしょうし、収支を考えたり、(重要ではありますが)開発者のスタイルに固執しすぎたりするのではないか、と考えています。となれば、この逆を考えればいいわけで。

というわけで先の「思い至った」ところに至ります。

カテゴリー: 雑談 | 1件のコメント

IEで開いているURLとタイトルの一覧を取得する

その名の通り、IEで開いているURLの一覧を取得するための WSH のスクリプトです。

'IEで開いているURLとタイトルの一覧を取得する。
set fso = CreateObject("Scripting.FileSystemObject")
txt = ""
for each br in CreateObject("Shell.Application").Windows
  pname = fso.GetFileName( br.FullName )
  if  LCase( pname ) = "iexplore.exe" then
   if br.LocationURL <> "about:blank" then
    txt = txt & br.Document.Title & vbcrlf
    txt = txt & br.LocationURL & vbcrlf
   end if
  end if
next
wscript.echo txt
ClipBoardSet txt

'クリップボードアクセス
'http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/dec04/hey1215.mspx
sub ClipBoardSet( s )
 Set objIE = CreateObject("InternetExplorer.Application")
 objIE.Navigate("about:blank")
 objIE.document.parentwindow.clipboardData.SetData "text", s
 objIE.Quit
 set objIE = Nothing
end sub

既にあるような/ないようなもので簡単なのですが、一応晒しておきます。
要は、調べ物をしているとタブを大量に開くんですよね。で、いらないものをぽちぽちと消して行って大体参照できたものを残す。その後にブログに残すか、メモ帳に残すか、お気に入りに分類するか、にするわけですが。このときにタイトル&amp;URLをワンセットで残すのが面倒臭い。

– お気に入りの場合は、タイトル&amp;URLでワンセットになるがメモが掛けない。分類も面倒。
– ブログに晒しておくときは、整形に手間が掛る。特にタイトルがコピーできない。
– メモ帳に残しておくときも同じで、整形に手間が掛る。

# 探し物/調べ物をしているわけですから、なんらかのメモ書きが必須なんですよ。

実行時にクリップボードのアクセスでダイアログが出ますが気にしません。
後、クリップボードのアクセスは Microsoft TechNet に載っているので、そこそこ有名な方法みたいです。

カテゴリー: 開発 | 1件のコメント

More wiki in a jar

More wiki in a jar

jarファイル1個で wiki が動きます。
tomcat も apache も iis もいりません。

SourceFoge の方
http://morewikiinajar.sourceforge.net/
http://sourceforge.net/projects/wiki-in-a-jar

だけだと、あまりにチープなので moongift の紹介記事
http://www.moongift.jp/2008/10/more_wiki_in_a_jar

そもそも、このブログのタイトルは最初はBTS(bag tracking system)を作る予定だったのですが、この発想元には「iis上では動かず、単体でtracのようなBTSを動かしたい」というのがあります。そう、USBメモリ一本で動く、という具合です。これの場合、java が必要ですが(asp.netでも.net frameworkが必要なんだけど)apacheのようなhttpサーバが要らないといういう手軽さがミソです。また、ファイルが1個だけというのが手軽です。

ソースをダウンロードして眺めてみました。
本体の Wiki_in_a_jar と、HTTPD を司る XRays_Web_Framework に分かれています。

フォルダ パスの一覧

D:\DOWNLOAD\WIKI-IN-A-JAR
├─Wiki_in_a_jar
│ └─trunk
│ ├─src
│ │ └─org
│ │ └─rgse
│ │ └─wikiinajar
│ │ ├─controllers
│ │ │ AdminController.java
│ │ │ CalendarController.java
│ │ │ FindController.java
│ │ │ IndexController.java
│ │ │ TabController.java
│ │ │ TagController.java
│ │ │ VcardController.java
│ │ │ WikiController.java
│ │ │
│ │ ├─helpers
│ │ │ │ DateUtils.java
│ │ │ │ TextUtils.java
│ │ │ │
│ │ │ ├─vcard
│ │ │ │ MimeConverter.java
│ │ │ │ Utils.java
│ │ │ │
│ │ │ └─wiki
│ │ │ └─render
│ │ │ │ LineByLineFilter.java
│ │ │ │ RenderEngine.java
│ │ │ │ WikiLink.java
│ │ │ │
│ │ │ └─filters
│ │ │ BreakFilter.java
│ │ │ Filter.java
│ │ │ HeadingFilter.java
│ │ │ HrFilter.java
│ │ │ HtmlTagsFilter.java
│ │ │ IntendedFilter.java
│ │ │ ListFilter.java
│ │ │ NoWikiCaptureFilter.java
│ │ │ NoWikiInsertFilter.java
│ │ │ SectionFilter.java
│ │ │ StrongerFilter.java
│ │ │ StrongestFilter.java
│ │ │ StrongFilter.java
│ │ │ TableFilter.java
│ │ │ UrlFilter.java
│ │ │ WikiLinkFilter.java
│ │ │
│ │ ├─models
│ │ │ ITaggable.java
│ │ │ Month.java
│ │ │ Settings.java
│ │ │ TagTree.java
│ │ │ Vcard.java
│ │ │ WikiArticle.java
│ │ │
│ │ ├─server
│ │ │ Server.java
│ │ │
│ │ └─views
│ │ ├─admin
│ │ │ ShowAdminPageView.java
│ │ │
│ │ ├─calendar
│ │ │ MonthView.java
│ │ │
│ │ ├─tab
│ │ │ TabTagView.java
│ │ │
│ │ ├─tagtree
│ │ │ ShowTagTreeView.java
│ │ │
│ │ ├─vcard
│ │ │ ShowVcardView.java
│ │ │
│ │ └─wiki
│ │ EditWikiArticleView.java
│ │ ShowWikiArticleView.java
│ │
└─XRays_Web_Framework
├─branches
└─trunk
│ .classpath
│ .project
│ build.xml

├─src
│ └─net
│ └─sf
│ └─wikiinajar
│ └─xrays
│ ActionMapping.java
│ ControllerResponse.java
│ HttpServer.java
│ IServerSettings.java
│ NanoHTTPD.java
│ PublicController.java
│ Request.java
│ View.java
│ Xml.java

.NET Framework に移植するのであれば、
– HttpServer.java や NanoHTTPD.java を .net web hosts クラスに書き換え.
– ファイルアクセス部分を書き換え
– 内部で持っている(であろう)*.xmlのリソース参照部分を書き換え。

というところでしょう。
サイズ的にはどのファイルも 300行ぐらいの小さなものなので移植するのもいいかなぁ。

ちなみに開発のほうは、ひとりで作っていて、最近5か月ぐらいはアップデートしていません。
v0.8 となっていますが、v1.0 になることは無いのではないかな。

カテゴリー: 雑談 | More wiki in a jar はコメントを受け付けていません

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

デジタルフォトミニアルバムを手に入れました。

画面が1.5インチという狭さ、画面が128×128 ドットで内蔵メモリ 1MB。56枚格納できます/しか格納できません。
接続はPCとUSBのみ。拡張性は全くと言っていいほど無いわけですが、値段が2,000円弱ですからね。遊びにしては十分安い。

海連 Photty ホワイト PHOTTY-SQ15-WH

通常のフォトフレームの場合 USB メモリから読み込むのですが、このミニアルバムの場合は内臓のメモリにPCから書き込みます。つまり、USB の使い方が逆。

ミニアルバムを付属のUSBケーブル(20cmぐらいしかありません)に接続すると、ミニアルバム内に入っているアプリケーションが立ち上がります。私の vista の場合は、自動起動しなかったので、マイコンピュータから起動させます。

20090521_01

20090521_02

20090521_03

そう、画像を見るとわかるんですが、ドライブとして認識されています。

ということは USB メモリと似た動きになっているので、付属のアプリを使わずに画像を書き込むことは可能ではないか? と思うのですが、そうはいきません。いくつか画像を入れたのですが、それらしいファイルは無いし、データファイルも更新された様子がありません。試しに、アプリ(DPFMATE.EXE)をエクスプローラから消そうとしましたが、消せません。プロパティでは読み取り専用になっています。これも変更することはできません。

そう ROM になっているみたいです。

な~んだ、これだとこの付属アプリを使うしかないのね。つまらん。というブログもありました(場所を失念)。
さて、ここで止まってしまうとプログラマ魂が廃る(廃ってもいいけど)ので、もうちょっと調べてみます。
付属アプリが起動して、何か編集して、何処かに書き込んでいます。ミニアルバムはこの何処か(内蔵メモリ)を読み込んで画像を順番に表示しているわけです。と、いうことは、付属アプリと内臓メモリとの間で何かやりとりをしているハズ。

一番簡単なのはファイルで書きこんでいるハズですが。
で、windows からファイルの書き込みを監視する process moniter(procmon.exe)を使います。
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

これを使うと、アプリからレジストリやファイルの読み書きを監視することができます。カーネルレベルのファイルアクセスを監視するので、読み方にちょっとコツが要りますが。

このログをみると、

C:\Users\masuda\AppData\Local\Temp\PicsInMiniDPF

なるところにbmpファイルを作って転送しています。一旦

C:\Users\masuda\AppData\Local\Temp\ForShowBMP.bmp

なるファイルにコピーしているところがミソです。
# ここら辺から想像するに、ドライバの人とアプリの人が違う人なんだなぁ、というのが分かります。

ここでアクセスを詳細に見ていくと、付属アプリを起動したときにミニアルバムが接続されているドライブに対して

Operation: DeviceIoControl
Control:   IOCTL_SCSI_PASS_THROUGH_DIRECT

ってのが頻発しています。これが何かを調べると、
Windows Driver Kit: Storage Devices
IOCTL_SCSI_PASS_THROUGH_DIRECT
http://msdn.microsoft.com/en-us/library/ms803668.aspx

ってな具合に SCSI アクセスのための関数なわけです。
DeviceIoControl 関数は、デバイスに対して直接読み書きをするためのraw関数です。

と、USB メモリなはずなのに SCSI アクセスって何?と思って、ドライブのプロパティをみるとCDドライブになっています。ファイルシステムは「CDFS」です。

20090521_04

つまり、

– ミニアルバムの内臓メモリは CDFS のフォーマットで読める。
– 読み込みは DeviceIoControl 関数を使って、セクタ単位で読み込んでいるらしい?

ってことが分かりました。

なので、想像するに、

– ミニアルバムの内臓メモリは CDFS のフォーマットで書ける?
– 書き込みは DeviceIoControl 関数を使って、セクタ単位で書ける?

のかなぁ、と。

因みに、この DPFMATE.EXE、いくつかのデジタルフォトフレームで使われています。
バージョンも「v3.8.2.9」なので、ミニアルバムだけじゃなくて他にも色々ありそうですね~。
というわけで、もう少し解析すれば HACK ができそう?

カテゴリー: 雑談 | 5件のコメント

Visual Studio 2010 Beta1

MSDN サブスクリプションで「Visual Studio 2010 Bata1」が出ていたので、早速ダウンロード&インストールしました。
英語版なので、メニューの類は英語なのですが、ソースコードは UTF-8 なので日本語でコメントを書くことができます(また、関数名や変数名も日本語で…やらないけど)。

VMWare + Vista Ultimate で動かしています。画面キャプチャはリモートデスクトップ。

.NET Framework v4.0 を入れるので何度かリブートするので、PCに付きあってあげないと駄目です(いちいちログインしないといけない)。

プログラムメニューから

20090520_01

これが起動した状態

20090520_02

Visual C#でwindowsプロジェクトを作成します。

20090520_03

最初のフォームです。

20090520_04

ブラウザコントロールを貼り付けて、デバッグ起動させたところ。

20090520_05
 

C:\Windows\Microsoft.NET\Framework をみると、v4.0.20506 があります

20090520_061

ひとまず、これでVisual C++の実験ができそうです。

カテゴリー: 開発 | Visual Studio 2010 Beta1 はコメントを受け付けていません

SPARK Your Imagination

このタイトルだとなんだか分かりませんが、Windows CE と実験機が安く手に入るという企画です。
http://www.microsoft.com/windowsembedded/ja-jp/products/spark/hardware.mspx

アイコップのSPARKプログラム
http://www.icop.co.jp/spark.asp

“SPARK Your Imagination” 本プロモーションはアイコップテクノロジーとマイクロソフト Windows Embeddedが共同 で提案しております。 アイコップが持つ低消費で小型のコンパクトPCシリーズと、Windows Embedded CE 6.0 R2 とVisual Studio 2005 Professionalのフルバージョンの組合せ、それが SPARK Your Imaginationです。 パワフルなハードウェア、 開発ツール、そして技術資料が最も理解しやすい構成となり、開発者であるあなたをソフトウェアのプロフェッショナルに導きます。今日からあなたの想像力をかたちにして下さい。

何でこんなのを探しているかというと、

– Windows CE 本体の中身が見たい。
– T-Engine でもいいけど手元の PDA を活用するなら Windows CE
– T-Engine のキットだと10万円強する。「遊び」には辛い。
 http://www.t-engine4u.com/
– Mac mini の中古を物色中だった(笑)

英語圏で買うと、195ドルなのに、日本圏だと 35,280円って、う~む。添付されているものが違うのかな?
パートナー会社だからですかね?よくわからん。
http://www.wdlsystems.com/modperl/view_services.cgi?r=detail&prod_num=1EB23SK&aisle_id=1061
http://www.com-flex.com/mart/spark.html

さて、このパートナー会社のJCNet E-Shop を眺めると、
コンパクトPC っていうジャンルがあります。

http://www.com-flex.com/mart/compactpc.html

<画像>

ci090520105827

価格的には3万から6万円ぐらいですねぇ。昨今のネットブックが5万円を切る価格帯なので、業務用にいいかどうかは難しいところなのですが、この小ささは魅力だと思います。mac mini みたいにね。

電力消費や場所を考えると、HTTP サーバーを社内で立てる場合、こんなふうなのがいいわけですよ。最近はサーバー機も安くなって(OS無で5万円とか)いるわけですが、なんせファンがうるさい。というか、年間の電力消費量がバカにならない。24時間つけっぱなしだと月2000円弱は掛かるそうです。そうなると、年間の維持費として 2.4万円は掛かるわけですから、リーズナブルかどうか疑問です。

ネットブックの消費量は調べていないのでわかりませんが、手持ちのノートブック vaio type-T の場合、16V x 3.4A = 50W ぐらい。サーバー機だと100Wは下りません。PCを代用したときはモニタもあるわけですから、200W ぐらいになるかも。

で、先のコンパクトPCの場合は、電源が 5V x 3A = 15W なわけです。
これがどれだけ小さいかというと…うまい資料が見つからないのすが、サーバー機の10分の1か5分の1ぐらいですね。そうすると 24時間つけっぱなしだとしても、2000円ぐらいなわけです(これが高いかどうかは別として)。年間2.2万円ぐらいお金が浮く計算になります。こうなると、差分が2万円ぐらいならば1年間で元が取れてしまう。買いですよ!買い!奥さん!、って、奥さんに売っても仕方がないのですが…

閑話休題。

まぁ、OS が何が動くか分かりませんが、windows xp か 2000 ぐらいですかね。eBox48xxシリーズは、windows xp が動くようです。

中小企業で考えたとき(個人事業主でもいいけど)、

– ファイルストレージ
– HTTP サーバ
– 無線LAN/有線LAN

があれば十分です。

ファイルストレージは皆の共有ファイル置場として。個々のPCに入れておくんじゃなくて、共有フォルダに置きます。ルールを決めておけば、さほど混乱しません。
HTTP サーバは、社内の情報をブラウザで見えるようにします。グループウェアがうごけばそれを使ってもいいし、マニアックなところでは trac を使っても OK。大規模なものはいれません。というか買えないし、入れられない。
あとは、LANで繋がっていれば、どこからでも見れる、

というわけで、サーバー機(コンパクトPC)には iis か apache が適度に動けばいいし、ストレージがあれば OK。USB 2.0 が付いてれば、USB 接続のHDDを買っておけばOK(あ、価格があがるけど。HDDはどうなっているのかな。このシリーズ)。

ってなハード構成にしておけば、ランニングコストの安いサーバーが組めます。
# まぁ、リスク管理とかバックアップとかをさぼるけど。

OS を linux にして、apache + PHP で運用するとか、あ、そうそう、USB linux を使って運用(ってUSBから起動できるのか?)というのも考えられます。この場合、USB 起動のほうがバージョンアップとか楽かもね。あらかじめ USB に OS + 運用アプリケーション一式を入れておいて、テスト。そして客先へ USBメモリ1本を納入。というスタイルができる。USB を 2本差して、片方にコピーしておけば定期バックアップになるし、アプリケーションのインストールも、現場ではなくて USB のコピーを持ち帰ってテスト、現場で即運用、って手段が取れる。

windows 運用の場合だと、USB メモリでの運用は難しいかな?
アプリケーションやデータは USB 自体に移すことはできるけど、レジストリや windows 配下の DLL がややこしいので、USB 経由の HDD 運用がベターだと思う。OS やアプリで使うストレージと、先の共有ファイル用の HDD を分けておけば、運用に支障なくアプリケーションをアップデート/導入が可能になるでしょう。

そう、先のインストールマニアックスで感じたのだけど、

– PHP on IIS は結構いい感じで動く。
– PHP の OSS はブラウザ経由で管理ができるので、ユーザー(顧客)が管理することも可能。
 日本語化されていないものは、PHP を直接書き換えちゃってもOK。
 セキュリティ周り(バージョンアップ周り)は、閉鎖環境(社内環境)であれば気にしないことにすればOK。
– Windows + Apache + PHP の組み合わせでも OK。
 IIS であっても Apache であっても、利用者(一般ユーザ)が設定を触ることはないので、どちらでも構わない。
  納入先に IT に詳しい人がいれば、GUI が使える IIS のほうがいいかも。
  あるいは、apache にして httpd.conf をしっかりコメント付きで書くか。

カテゴリー: 雑談 | 2件のコメント

USB マスストレージクラス

デジタルフォトにはUSBやSDメモリを差し込んで、その中にある画像や動画を表示させます。
で、USBがあるんだから無線LANがつかれば、HDDストレージから直接データを読み込めるのでは?

と思ったら、最近のデジタルフォトには無線LAN付きがあります。
http://buffalo.jp/products/catalog/multimedia/photoframe/pf-50wg/

なるほど、直接外部のHDDを読みに行って、そこの画像や動画を表示できるようです。
どのような順番かは詳しく書いていませんが、それぞれデジタルフォトフレームに内蔵されているアプリケーションを使って設定するようです。

# OS はなんだろう?と思うと、# Window CE や linux みたいです。

USBの規格を調べていって、USBのストレージ関係は「USB マスストレージクラス」という規格で統一されています。

USB マスストレージクラス(usb mass strage class)
http://www.atmarkit.co.jp/icd/root/20/27382620.html
http://e-words.jp/w/USB20Mass20Storage20Class.html

おそらく、無線LAN無しのデジタルフォトフレームの場合

デジタルフォトフレーム
 ↓
なんらかんのアプリ
 ↓
画像読み込み
 ↓
USB 接続(USB mass strage): Client
 ↓
USB メモリ(USB mass strage: Server
 ↓
画像ファイル

な流れで読み込んでおり、

無線LAN付きのデジタルフォトフレームの場合

デジタルフォトフレーム
 ↓
なんらかんのアプリ
 ↓
画像読み込み
 ↓
無線LAN 送信
 ↓
無線LAN 受信
 ↓
HDD ストレージあるいはPC
 ↓
画像ファイル

と、なっているはずです(たぶん)。

で、デジタルフォトフレーム本体は大量生産品で安価なほうが良く、できるかぎり部品が少ないほうが安くできます。あるいは標準規格のものを使うと安く作れます。

また、画像の選別、あるいは動画の表示、テキストの組み合わせ、なんているアプリケーションはデジタルフォトフレーム本体に乗せるよりも、無線LANで制御できるならば、サーバー機(PC側やHDDストレージ側)で制御できるほうが更新などの管理が楽です。wwwサーバーと同じですね。

ということは、

デジタルフォトフレーム
 ↓
なんらかんのアプリ
 ↓
画像読み込み
 ↓
USB 接続(USB mass strage)
 ↓
★1 ここで、擬似的ストレージアクセスをTCP/IPに変換
 ↓
USB 無線LAN
 ↓
無線LAN 受信
HDD ストレージあるいはPC
 ↓
★2 画像切り替えアプリケーション
 ↓
画像ファイル

な、形も可能ではないかと思ったのですがどうでしょう?

無線LANのところは有線LANでもいいし、ひとまず USB ケーブルで PC に接続する方法で実験したっていいのです。
要は、

– ひと世代前(無線LAN無しの)安価なデジタルフォトフレームを使う。
– USB さえあればデジタルフォトフレームの本体が大きくならないで済む。

まぁ、無線LAN付きのデジタルフォトが安くなられば、★2のところでアプリを組めば画像の切り替えは楽になります(現在、画像の切り替えタイミングはデジタルフォト本体に乗っているので、本体に依存して手が出しにくい領域になっているため)。

という訳で、

USB mass storage class の 機器側のほう(USBメモリ側のほう)をPCでエミュレートするアプリケーションはないかな?と。USB メモリを使う側じゃなくて、USBメモリを使われる側のほうの情報を探索中。

カテゴリー: 雑談 | USB マスストレージクラス はコメントを受け付けていません

地図を日本の部分だけ持って来てPDAで表示させる

これは妄想の域なので、実現する/させるかどうかは別ですが。
# 特にゼンリンの地図関係の権利がなぁ。個人で使う分にはゼンリンを買えばOK?
昔の PDA を使ってごにょごにょしようとしているのですが、現在の携帯よりも PDA の画面は広いです。まあ、その広い画面が負に働いたのかもしれませんが、携帯電話でちまちま地図をスクロールするよりも、PDA でもたもたスクロールするほうが楽だったりします(できれば)。

当然、昔のPDAですから、CPUパワーがちょっと足りません。ネットワークもモデム経由で Google Map にアクセスするとかなりもたつきます。いや、そもそも PDA で google map は動くのか?

と思ってアクセスすると、javascript が動かない固定画像のバージョンが拾えますね。

09-05-19_11-08
で、それは別として。

古いPDAではありますが、CFメモリやSDカードが使えます。最新規格は使えないので2GBしか(!)メモリを差し込むことができあませんが、2GB分のデータを扱えます。

当時、CFメモリは非常に高かったので、おいそれと増設はできなかったのですが、最近の SD メモリの投げ売り状態と言ったら。早速買ってきたのですが、1GB の SD メモリが 500円という、なんという安さ。というか在庫処分。

高解像度の写真を扱うならば 1GB は小さいでしょうが(小さいのか?)、データベースとして扱うには 2GB のメモリは非常に大きいのです。だって、SQL Server 2008 の1ファイルが最高2GBですからね(いくつも繋げれば大きくできますが)。

PDA 自体で扱えるプログラムのメモリは小さい(64MB以下とか)のですが、SD メモリのメモリは巨大。当然、実メモリとしては(多分)使えませんが、データベースとして扱うならば十分です。

さて、.NET Compact Framework には ADO.NET をアクセスクラスがあります。
SQL Server 2008 の mobile バージョンをアクセスするわけですが、

.NET Framework クラス ライブラリSqlConnection メンバ
http://msdn.microsoft.com/ja-jp/library/system.data.sqlclient.sqlconnection_members.aspx

mobile バージョンを使うと、SQL Server のデータファイルを直接読み込むことができる「はず」です。
# ここは検証していないので、よくわからない。

つまり、画像データやテキストデータなどを、アプリケーション独自で管理するのではなくてデータベースに任せることができる。かつ、昔の小さなメモリではなくて、最近の巨大なSDメモリ(!)を使えば、結構な量のデータを扱うことができます。
# 思ったのだけど、Windows CE って マップドファイルってどこまでサポートしているんだろうか?
# マップドファイルを使えば、SD メモリをすべて使い切るのも難しくはない。
で、これと google map と何が関係するのか?と言えば、ですね。

– 地図を見るに、いちいちモデム経由でデータを取る必要はない(カーナビがそうです
– 地図は、日本だけで十分(カーナビのDVDとかもそう)
– 必要な情報だけ、モデムや無線LAN経由で取ってくればOK。
– 持ち歩きの PDA で見るときにストリートビューとか、航空写真はいらない。
– 日本地図ぐらいだったら、SD メモリ(2GB)に入るんじゃない?

PDA や willcom 携帯で電源を食うのはモデム/Bluetoothです。理由を簡単に言えば、

– 電波を飛ばしているから
– 受信データはポーリングだから

なのですが、先のマイコン工作実験のブログによれば 500mA ぐらいかかるそうです。
余談、とここまで書いて。

ゼンリン地図+ナビ いつでもガイド
http://www.its-mo.com/

ってのを見つけました。

よく行くところをキャプチャしておいて、PDA で見るって方法はできそうですね。

カテゴリー: PDA | 地図を日本の部分だけ持って来てPDAで表示させる はコメントを受け付けていません