2013年9月10日火曜日

Latitude10とポメラ(QRコードの読み取り)

ポメラのQRコードによる文章転送機能は、ちょっとした文章を入力して利用したいときに便利です。気楽なのですよね。送りたい文章の一部(もちろん全部でもいい)を選択して、QRコードボタンを押して、あとは読みとればよいだけです。IDEOSも、ほとんど、このQRコードの読み取りに利用しているようなものです。ケーブルの接続もいらない、Bluetooth接続を確立する必要もない、いつも通り
の手慣れた写真を撮るという操作だけで済むというのが気楽です。

Latitude10では、Bluetooth転送で、文章の相互転送ができますが、気軽にQRコードで文章を送りたいと思うわけです。実は、Bluetooth接続で、ポメラの電池残量がどんどん減っていくのが気がかりなのですが。

というわけで、Windows8のアプリでなにかよいQRコードリーダーがないかとストアを覗いたのですが、読みとった文章を利用できるものが見つかりません。Windows用のソフトウェアはどうかと探してみました。Webページなどにある画像のQRコードを読み取るソフトはあるようですが、Webカメラを使って読み込むのは、手頃なものが見つかりません。そこで、自分用にwxPythonで作ってみました。QRコードを読みとる部分は、AndroidでおなじみのZXingを利用します。IDEOSでもポメラの連結QRコードを読み込む実績がありますしね。

ZXing-2.1のzipアーカイブには、コンパイル済みのcore.jar、javase.jar、w.warファイルがあるので、これらを使えば、コマンドラインでZXingを利用できますので、それを呼び出す部分さえ作ればよいわけです。

ZXingをコマンドラインで使うには、前述のファイルを一つのフォルダにコピーして、

java -cp javase.jar;core.jar com.google.zxing.client.j2se.CommandLineRunner target.png

とするとtarget.pngが解析されます。Windowsではクラスライブラリを指定する区切りがセミコロン;ですので注意が必要です。com.google.zxing.client.j2se.CommandLineRunnerが実行するクラスです。

pythonから、このコマンドをsubprocessで呼び出して、QR_CODEとして認識されたときだけ、文字列を得るようにしました。

Webカメラは、VideoCaptureモジュールを使って、画像を取り込みました。
このモジュールをインストールするには、単に対応するバージョンのフォルダをPythonのフォルダに投げ込めばよさそうなのですが、DLLsおよびlibsにばらばらに入ってしまいそうです。そこで、Python27\Lib\site-packagesにVideoCaptureというフォルダを作って、DLLsやLibにあるファイルをコピーしました。さらに、site-packagesにVideoCapture.pthというファイルを作成して、中にVideoCaptureと記述しました。これで、VideoCaptureモジュールが利用できるようになります。VideCaptureは、Python Imaging Libraryが必要なので、こちらもインストールしておく必要があります。

Latitude10で、Device番号0が外側カメラでした。解像度448x252pixelで取得できましたが、640x480は設定できませんでした。実際に試してみると、448x252pixelという解像度でも、ポメラの連結QRコードを読み込んでくれました。これで、Latitude10もまたひとつ便利になりました。







2013年9月5日木曜日

Latitude10でWacomのドライバー

Wacomのドライバーを試してみました。
Enhanced Tablet Driver 7.1.1-16というEnhanced Tablet Driver 7.1.1-12より
新しいものがあったのでスリープ時の LED点灯の不具合いが治ってないかと思い
インストールしてみました。
残念ながら、 LEDの点灯不具合は、治っていませんでした。
しかし、デジタイザペンの挙動が良くなった気がします。
高速起動スイッチを入れて、使用しない時間が長くなるような時は、
シットダウンして様子を見てみようかと思います。
ジェスチャー入力の gPadも、いくぶん動作が快適になったような、、、
こちらは、スクリプトも少しいじってしまっているのでどの程度効果があったのか分かりませんが。

2013/10/13追記 バージョン7.1.2-9でスリープでLEDがちゃんと消えるようになりましたね


2013年9月4日水曜日

Windowsでgraffitiっぽいの

NetWalkerのgraffitiっぽいものをwindows用としてわりきって
キーボードにしてみました。
一応、入力に使えますが、デジタイザペンとの相性はいまいちなところ。
ゆっくり目にストロークを描く必要があります。
ここまで書いてだいぶ慣れてきました。
windows8の手書き入力は、とても快適ですので、そちらを主に利用することでしょう。
入力欄が隠れてしまう時には、このような入力も良いかと思います。

ここまで、gPadで書きましたが、Windows8の手書き入力で続きを書きます。
gPadは、wxPythonで記述しましたが、もう少し速く動作するようにしたいところです。
ストロークの取りこぼしが少し目立ちます。


Latitude10とポメラDM100

Latitude10とポメラDM100との連携を試してみました。

ポメラDM100のファームウェアバージョンはVer.1.2.10.0です。
Latitude10のBIOSバージョンは、A05です。

まずはキーボードとして接続してみました。
普通にBlutoothデバイスを追加する方法で、接続できます。
ただし、Latitude10のキーボード配列は、Wikiを参照してレジストリをいじって
日本語106キーボードにしてありますので、その影響はあるかもしれません。
主なキーの配列は、DM100のキートップに記述してある通りでした。

しかし、以下のキーがずれています。

ポメラのキー <=> Latitude10に入力されるキー
@キー <=> ^キー
[キー <=> @キー
]キー <=> [キー
\キー <=> ]キー
^キー <=> 半角全角キー
Caps Lockキー <=> 半角全角キー
無変換キー <=> Windowsキー

Latitude10のBIOSをA06にアップデートしましたが、とくに違いはありません。
\および|キーの入力できませんので、少し問題ありといえます。


次に、ファイル転送です。
Windows8上で、DM100とBluetooth転送する情報は、なかなか見つかりません。
こちらを参考に、試してみました。

(1) とにもかくにもキーボードとして一度ペアリングしておきます。

(2) コントロールパネル>ハードウェアとサウンド>デバイスとプリンターを開くと、デバイスにキーボードのアイコンでDM100があります

(3) DM100のアイコンを右クリック>プロパティでDM100のプロパティが開きます

(4) DM100のBlutoothのファイル転送を開始して、接続先検索の状態にします。

(5) ここで、DM100プロパティのサービスタブを開くと、ファイル転送のサービスが表示されるので、チェックし、適用、OKします。

(6) デバイスにあるDM100のアイコンを右クリック>コントロールを押す。DM100のコントロールパネルが表示されます。

(7) (時間的に接続失敗がでていると思いますので)DM100のBlutoothのファイル転送を開始して、接続先検索の状態にします。

(8) DM100(切断)と書かれているアイコンをダブルクリックするとDM100のフォルダが開く。このときに、ポメラ側の接続が完了します。

(9) ポメラ側の内部メモリやSDカードが表示されるので、通常のフォルダ操作を行います。

ポメラ側のファイルをLatitude10側にコピーしたり、Latitude10上のファイルをポメラ側に転送できました。

デバイスとプリンターの中にあるDM100のアイコンのショートカットをデスクトップ上に作成し、
それを右クリックすることで、素早くDM100のコントロールパネルを開くことができます。

(5)番目の操作で、サービスを追加するところが大切な点だと思います。

というわけで、Latitude10とポメラdm100の連携は、キーボードに一部問題がありますが、できそうです。

ポメラとdm100のUSBケーブルでの接続は、普通にできそうなので、試していません。
Latitude10は、SDカードが使えるのでdm100用のSDカードを直接差すことも可能ですね。

Windows8のQRコードリーダーアプリは、よいものが見つかりません。

2013年8月31日土曜日

Latitude10にPythonとwxPythonをインストール

DELLのLatitude10でイメージビューアのpythonスクリプトを動かしてみるために、Python2.7.5とwxPython2.8およびPython Imaging Libraryをインストール。イメージビューアのスクリプトをダブルクリックすると、なんの問題もなく動作する。Windowsのデスクトップ環境は、普段使いのPCと同じ環境がそっくり利用できるという点がすばらしいと思う。

イメージビューアのストローク入力は、静電式のタッチパネルでも、デジタイザペンでも問題なく動作している。画面が自動回転しても、矛盾なく動作しているので、一安心。
(その後、全画面で自動回転すると復帰した後、画面サイズがおかしくなる様子)

PyInstaller 2.0をインストールして、実行形式に変換してみた。
これまで、PyInstaller 1.5.1を使っていたが、PyInstaller 2.0は、Configure.pyがなくなった様子。
どうやって使うのかと思ったけど、utilsフォルダの中に、MakeSpec.pyやBuild.pyがあるので、1.5.1で使っていたバッチファイルをほぼそのまま利用できた。以下、Windowsアプリと、コンソールアプリを実行形式に変換するバッチファイル。
cドライブ直下のscriptsフォルダの中にスクリプト名のフォルダを作って、その中にスクリプトやアイコンファイルicon32.icoを配置していることを前提としている。

makewin.batの中身(2行)
python utils\Makespec.py -F -w --icon=d:\scripts\%1\icon32.ico d:\scripts\%1\%1.py
python utils\Build.py %1\%1.spec

makecmd.batの中身(2行)
python utils\Makespec.py -F -c d:\scripts\%1\%1.py
python utils\Build.py %1\%1.spec

コマンドラインから、PyInstallerのフォルダに移動して、このバッチファイルをスクリプト名をつけて
実行するとよい。

Windows用スクリプトなら、
c:\pyinstaller-2.0> makewin.bat スクリプト名

コンソール用スクリプトなら、
c:\pyinstaller-2.0> makecmd.bat スクリプト名

問題なければ、
 pyinstaller-2.0フォルダにスクリプト名のフォルダが作成され、その中のdistフォルダに
実行形式のファイルができているはず。

バッチファイルはたったの二行だけど、スクリプト修正のたびに繰り返したりするので、
けっこう便利です。







2013年8月29日木曜日

DELLのLatitude10を入手しました

とうとうWindows8タブレットを手に入れました。小型のものに惹かれたのですが、NetWalkerがまだ使えるので、いろいろ試せそうなDELLのLatitude10を購入しました。

さっそくリカバリーディスクを作ろうと、Dell Backup and Recoveryを起動したのはよいものの、
用意したUSBメモリを認識しません。USBメモリ上にファイルを作ったりできるので、いちおう認識しているのですが、Recoveryのソフトウェアのほうで認識しない様子。
再起動するとよいという情報を得たので、さっそく再起動したところ、画面が真っ黒のままになりました。USBメモリを抜いて、再び再起動させたところ無事に起動してくれました。USBメモリを指したまま再起動はだめな様子(最初だけかな?ちゃんと試していません)
再起動後は、無事にRecoveryソフトのほうで、USBメモリを認識してくれました。

いろいろアプリケーションをインストール中です。



2013年8月3日土曜日

IDEOSにOCNのdLTE980のSIMを入れてみた

IDEOSには、b-mobileのU300のSIMを利用していたのですが、利用期間が過ぎたのでチャージせずに、OCNの980円定額SIMを使ってみました。APNに説明通りに3G端末用のAPNを設定をすると問題なく利用できました。
写真をメールで転送したり、ポメラのQRコードを読み取ってメール転送やDropboxを利用する程度ですから、1日30MBで通信速度が200kbpsに制限されても十分です。U300SIMを利用していたので、それに比べると非常に速くなったと感じます。NetWalkerのルータとしても利用してみましたが、とても快適になりました。