やりたいことは、 電話がかかってきた際にアロハPC1(ナンバーディスプレイ)から 着信番号を受信して、 番号に該当する会員情報(DBから)をWEB画面に表示したいのです。 SerialDebugというソフトを使って、情報は取得できていると思います。 下記のような感じでいろいろ出てきます。 [TEXT] こ0ア3アイアイク090ア6ア5クキ00 [CHAR] _sp _sp 0 _sp 3 _sp _sp 0 _sp _sp 0 9 0 _sp 5 _sp 9 _sp _sp 5 5 _sp _sp _sp _sp _sp _sp _sp _sp _sp _sp [DEC] 130 177 48 177 51 177 178 48 178 184 48 57 48 177 53 57 57 184 183 53 53 160 160 160 160 160 160 160 160 160 3 [HEX] 82 B1 30 B1 33 B1 B2 30 B2 B8 30 39 30 B1 35 B1 39 B8 B7 35 35 A0 A0 A0 A0 A0 A0 A0 A0 A0 03 この時点で、このわけの分からないデータ(信号?)をどうすれば着信番号になるのかさっぱりです。 [HEX]の " 30 39 30 B1 35 B1 39 B8 B7 35 35 " から 09015198755 というテストに使っている携帯番号が取れるのが分かります。 (ここに書いてある番号は適当です。) とりあえず、このデータはどういう風に解析して正確な着信番号にすればいいのでしょうか? また、これをJavaのRXTXライブラリを使用して取得したいと考えていて、 下記、サンプルソースを真似して実行してみました。 http://www.javainthebox.net/JavaForFA/08-09CommAPI/No.08/samples/samples.zip の中の./src/DumbTerminal.java すると、イベント処理ルーチンのデータの読み込みのときにエラーが発生してしまいます。 java.io.IOException: Underlying input stream returned zero bytes at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) at sun.nio.cs.StreamDecoder.implRead(Unknown Source) at sun.nio.cs.StreamDecoder.read(Unknown Source) at java.io.InputStreamReader.read(Unknown Source) at java.io.BufferedReader.fill(Unknown Source) at java.io.BufferedReader.readLine(Unknown Source) at java.io.BufferedReader.readLine(Unknown Source) at SerialTest.serialEvent(SerialTest.java:67) at gnu.io.RXTXPort.sendEvent(RXTXPort.java:732) at gnu.io.RXTXPort.eventLoop(Native Method) at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575) こんな感じです。 これは何が原因なのでしょうか? 少ない情報で申し訳ありませんが、 よろしくお願いいたします。
↧