今月のSoftware Design を立ち読みして、 オープンソース・ハードウェアのBug Labsから最初の写真 http://jp.techcrunch.com/archives/first-pics-of-bug-labs-open-source-hardware/ Bug LabsのモジュラーなデバイスでGoogleのAndroidが走るらしい http://blog.browncat.org/2007/11/bug_labsgoogleandroid.html Bug Labs: modular, open source hardware http://www.buglabs.net/ BUGbase 先行出荷版はWiFiなし、「Hiro P」バージョン http://japanese.engadget.com/2008/01/21/bugbase-wifi-hiro-p/ LEGOのような組立ガジェット「BUG」- 開発者向けの予約受付開始 | パソコン | マイコミジャーナル http://journal.mycom.co.jp/news/2008/01/23/005/index.html 【ETech続報】まだまだ進化途上にある“オープンソース・ハードウエア”,効果はこれから… – 家電・PC – Tech-On! http://techon.nikkeibp.co.jp/article/NEWS/20080311/148822/ Latest BUG Releases – BUG Wiki http://bugcommunity.com/wiki/index.php/Latest_BUG_Releases Showing posts » BUG Community | Bug Labs http://community.buglabs.net/blog 2008年だから2年程前になるけど、レゴブロックみたいに組み上げるモバイルデバイスの話。 – 組み込み Linux で動作 – [...]
PDAで無線LANを扱う(仮) http://www.moonmile.net/blog/?p=208 の続き PDAがクライアント、PCがサーバーのパターンとして、PDAからPCをリモコン操作することを考える。つまりは、クラサバを作ってやれば良いわけで、作ってみたのがこれ。 PDA クライアントのソースはこちら using System.Net; using System.Net.Sockets; namespace RemoCon01 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.pictureBox1.Size = this.Size; this.pictureBox1.Image = Properties.Resources.peorth; } private string HOSTNAME = [...]
Android 搭載ケータイでのGoogleモバイルサービス http://www.youtube.com/watch?v=WJMMSCn2M64&eurl=http%3A%2F%2Fwww%2Egizmodo%2Ejp%2Fweb%2Fbrowser%2F&feature=player_embedded Androidの売りは「指先で操作できる」とこにあると思う。指先で操作するためには、ある程度のボタンと画面の大きさが必要で、いままでの携帯電話の小さな画面だとちょっと扱いづらい。(日本独特の?)親指文化はそれはそれでいいので、このあたりは別ものとしてUIを扱う必要がある。 で、中古PDAでもInternet Explorerが付いているわけで、Google検索も当たり前のようにできる。が、何が使いづらいって、そりゃ、IEを立ち上げないとGoogle検索ができないのが面倒。 つまり、何か検索しようとすると 1.IEを立ちあげる。 2.お気に入りからGoogleを開く。 3.検索文字を入れて、検索! ってな感じで3ステップが必要。だから、 1.Google検索アプリを立ち上げる。 2.検索文字を入れて、検索! でもいいわけで、試しに実現したのがこれ。 ソースはこちら namespace GoogleSearch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private string SEARCH_NULL = "Google検索"; private void textBox1_TextChanged(object sender, EventArgs e) { } // [...]
アイデアノートとして。 中古で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でデータベース・アプリをお手軽作成 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 [...]