トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Java/Serial Communication

シリアル通信

多くのGPSデバイスはシリアル通信で決まった形式のデータを出力する.I-O
DATA USBGPS2/SMD9 も同様.このデバイスとシリアル通信する場合は下記のよ
うに設定すればよい.ボーレートが 4800 である点に注意.これを間違うとま
ともに受信できない.

baud rate: 4800
data: 8 bit
parity: none
stop bit: 1 bit
flow control: none

例えばTera Term等で上記パラメータで接続すると下記のようなデータが取得
できる.

$GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76
$GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78
$GPRMC,002903.030,V,,,,,,,291006,,,N*4A
$GPGGA,002904.030,,,,,0,00,,,M,0.0,M,,0000*5A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,12,20,00,000,,10,00,000,,31,00,000,,27,00,000,*7C
$GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76
$GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78
$GPRMC,002904.030,V,,,,,,,291006,,,N*4D
$GPGGA,002905.039,,,,,0,00,,,M,0.0,M,,0000*52
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,12,20,00,000,,10,00,000,,31,00,000,,27,00,000,*7C
$GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76
$GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78

Javaシリアル通信

Java Communications APIのWindows実装をSUNが出さなくなったらしいので,
下記のオープンソース実装であるRXTXを利用する.APIは一緒なので使い方は
変わらない.

サンプルプログラムとしては,例えば下記のものが使える.シリアルポート設
定部分と,ボーレート設定部分を適当に書き換えること.

java TwoWaySerialComm

で,データが取得できる.