日記ブログ、または雑多なメモ
見栄子LINEスタンプ
広告

 天神さんに行ってきた。 出る前は雨どしゃぶりでどうなるやらと心配したが、結局すぐやんだ。 おかげで気温がさがって良かったかも。 屋台をぶらついて花火をちょろっと見て混まないうちに帰ってくるつもりだったが、花火にはまってるうちに結局だだ混みに捕まった。 までもおはやしを聞きつつ焼きそばを食って、真近で花火見て、としっかり堪能できた。 ということで今年の初の祭りは終了。


 使ってる携帯で写真を転送する手段は赤外線通信だ。 で、Linuxで赤外線通信する方法が具体的にわからなかったので今まで放置していたのだが、いいかげん携帯に画像がたまってきたのでちょっと調べて通信できるようにしてみた。 以下まとめ。


携帯(NEC n50*)からLinux(ThinkPad X31)へ赤外線通信でファイル転送
概略:VNOTE形式のデータを赤外線シリアルポートで携帯からPCへ転送

*必要な物、準備など
X31のBIOS設定で赤外線ポートを有効にしてIRQとアドレスを確認
カーネルモジュールirtty_sir(kernel-2.6)をモジュールでコンパイル
irda-utilisをインストール
ircp+ 保存時エラー回避 パッチ(必須)をインストール
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3 

を作る。 うちでは開始アドレス0x2f8なので/dev/ttyS1を使用

*通信の準備
# modprobe irtty_sir
# setserial /dev/ttyS1 irq 3
# irattach /dev/ttyS1 -s


*通信開始
% ircp -r
Waiting for incoming connection

(ここで携帯から転送開始する)

Incoming connection
Receiving nec.vnt...done
Disconnecting


これで、完了。 VNOTE形式のデータnec.vntがカレントディレクトリに保存される。 さらにこれをデコードしなければいけない。 QUOTED- PRINTABLEの部分を取り出して(もしくはそれ以外の部分を削除して)、

% mimencode -u ファイル > 新しいファイル


とすればデコードされる。
とはいえ、これを毎回手動でやるのはかなわんので通信開始からファイル名取り出し、デコードまでを自動でやってくれるシェルスクリプトを作った。 ~/tmpで作業、~/Desktopにデータが取り出される仕様。 やっつけスクリプトだが、Winで配付されてるファイル転送ソフトより便利なのが以下略。 ヘッダの解釈部分をちょっといじればシャープの携帯とかでも使えるかも。

*その他備考
赤外線ポートを生かしたままサスペンドすると赤外線ポートが死亡するので、サスペンドスクリプトなどであらかじめ手動で切っておく必要がある。 前記の通信の準備部分のスクリプトと以下の終了時処理とあわせて起動スクリプトにしておけばstart/stopでいけるけどまだしてない。

*終了時の処理
# kill -9 `cat /var/run/irattach.pid`
(自動でやるならここで sleep 1)
# rmmod irtty_sir
# rmmod sir_dev
# rmmod irda
#
rmmod crc_ccitt


今回いちばん悩んだのが、実際は筐体左側にセンサーがあるのに右側にあると思い、延々と30分ほど何もないところに赤外線発射してたところなのは秘密。
- C'sGallery Blogっぽく見えるシステム3.2 -
小武 (管理人) eta2@tim.hi-ho.ne.jp