hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

ノートPCでポメラみたいにQRコードを表示させてiPhoneと連携する(後編)


スポンサーリンク


ポメラとかに搭載されているQRコード化機能をPC上のエディタに実装すれば、ケータイしか通信手段がない状態でも普段持ち歩いているノートPCで文章書いてブログにアップしたり長文メール送れちゃうじゃん、なエントリ後編。


とりあえず、Rubyを使ってQRコードが生成することができるのはわかった。
テキストエディタであるVimは設定ファイルにRubyスクリプトを埋め込むことができるので、それを使えばVimで書いた文章をQRコードに変換できるはず。
QRコードを生成するためには、Rubyのrqrライブラリを使用します。
rqr
RubyからVimにアクセスするためには、VIMRubyインターフェース付きでビルドされている必要があります。Rubyインターフェースへのアクセス方法、使い方はこの辺を参考に。
Vim documentation: if_ruby


というわけで、.vimrcにこんなコードを書いてみた。

"Ruby require
ruby << EOF
require 'rubygems'
require 'rqr'
require 'date'
EOF


" QRコード出力
function QRcode()
ruby << EOF
$KCODE = "SJIS"
filename = "C:/usr/temp/qrcode_#{DateTime.now.strftime("%Y%m%d%H%M")}.png"


cb = VIM::Buffer.current # カレントバッファを設定
line_num = cb.count      # バッファの行数を取得
data = ""
1.upto(line_num) do |i|  # 全行数を読み取り
     data << cb[i]
end


# QRCodeを生成して保存
RQR::QRCode.create do |qr|
     qr.save(data, filename)
end
EOF
endfunction


" バッファの内容からQRコードを生成
nmap <F9> :cal QRcode() <CR>

これで、F9を押すとバッファの情報を含んだQRCODEのPNGファイルがフォルダC:/usr/temp/に生成されるようになりましたよっと。


後は生成されたQRコードiPhoneで読み込むだけ!
iPhoneでの読み取りには、「サクッと交換」という有料版アプリを使っています。iPhoneは初期状態ではQRコードに対応していないのでなにかしらのアプリの導入は必須です。


これで、いつでもどこでも*1ノートPCのフルキーボードを使ってブログの更新ができる!


ただ、バッファの文字数が増えるとQRCodeが大きくなります。
そうなるとカメラなどで読み取る場合、認識に時間がかかってしまったり読み取れなくなる可能性があります。
文字の数とQRCodeの大きさについては、このページが詳しいです。
QRコードドットコム|株式会社デンソーウェーブ


前編の記事をVimに貼り付けて読み出そうとしましたが、読み取れませんでした。半分くらいに分割したら読み取れました。
いくらでも長文が書ける!と思ったのに、それが難しいのでちょっと寂しい結果に・・・。


その辺もポメラと同じようにQRCodeがある程度の大きさに収まるよう分割して出力できればいいかもしれません。必要になったら改造してみます。


関連:ノートPCでポメラみたいにQRコードを表示させてiPhoneと連携する(前編) - hellkite 日記と雑記とメモ。

*1:ケータイが圏外でなければ