XASTIR で WX局 を運用する2007/08/10 21:41

近刊の別冊CQ誌 #1で「GPS&気象情報を無線で送るシステム」の特集が組まれるそうだ。

それに合わせて? 気象情報を One-Wire の気象観測ソフト: oww から直接 CWOP に送るのではなく,無線で送る XASTIR + oww の構成にn年ぶりに戻した。

XASTIR からは UDP で oww と通信する設定をしたが,何故か? XASTIR は気象データを取り込まない。Viewメニュー→Own Weather Data を選択したが,値はゼロしか表示されない。

ソースを調べて,納得!観測データ,XASTIRは19種類待っているが,oww からは12種類しか送っていない。XASTIRのバージョンアップで owwインターフェース仕様が変更されたらしい。

wx.c の wx_fill_data() から抜粋
       case (DALLAS_ONE_WIRE):
...
           if (19 != sscanf((const char *)data,
                   "%f %f %f %f %f %f %d %d %f %f %f %f %f %f %f %f %f %f %f",

足りない7個の観測値のうち,XASTIR が読み取るのは、現在の{湿度と気圧}だけなので、それらの値を構造体 wstruct から、残りの値をゼロで埋めて出力する改造を arne.c の arne_tx() に施した。気圧は mBar ではなく inHg で送る必要があるので注意。

以下が改造した oww の出力。ついでに3番目の最低気温が常時 -1000.0 ℃ だったので,これも直した。

31.8 39.1 28.4 0.0 0.0 0.0 -1 15 0.000 0.000 0.000 0.000 75.2 0.0 0.0 29.7266 0.0 0.0 0.0

最後の改造は,XASTIR の wx.c。当局は風向・風速計,雨量計を持っておらず,それのことを明示するため,風向・風速は値を . で埋めて,降雨量は値を出力しない改造をした。

これで完了...です。