ELGeiger APRS

Mark2を使ってAPRS Serverに放射線情報(Radiation)を送るためのFirmwareです.
測定した放射線情報をaprs.fiで位置情報と合わせて表示できます.
また,テレメトリに記録できますので放射線量の変化を確認することができます.

こばさんの作られたFirmwae20120819版以降でもAPRS対応していただきました.
APRS.CFGの詳細設定はこちらを参考にしてください.

APRSを使うためにはアマチュア無線の免許が必要です.


Version

Version Date Note
16 2011年10月9日 APRS-ISサーバをユーザが指定できるようにしました.
15d 2011年10月5日 四捨五入にバグありましたので,修正しました.
15c 2011年10月5日 MarkIのときCPM値が大きくなってしまうバグを修正.起動時のIPアドレス表示を整形.
15b 2011年10月2日 APRSのXフォーマットデータの四捨五入を修正しました.起動時のバージョン表示修正.
15 2011年9月25日 Pachubeにも同時フィードできるようにしました.
14 2011年9月24日 UIView32のWXステーション機能と連携できるようにしました.
13 2011年9月19日 APRSテレメトリーデータも同時に送るようにしました.
12 2011年9月17日 APRSのWXフォーマットに合わせて修正(測定データがなくてもGustとTemperatureのフィールドは入れないといけないようでした).
コメントを入れられるように修正.バージョンは小数点以下が面倒になったのと,LCD表示でなるべく文字数が少ないほうが良いので,一気に12にしました.
0.11 2011年9月14日 ネットワークにつながらなくても,その後測定値を継続して表示するように変更.
0.1 2011年9月10日 最初のバージョン

Version番号をクリックすると実行ファイル(*.bin)がダウンロードできます.


セットアップ手順

コールサイン,認証コードなどはAPRS.CFGファイルで設定します.

初めてインストールする場合は設定ファイルを含んだELGeiger一式(Ver.16)をダウンロードして解凍してください.

解凍されたフォルダにあるAPRS.CFGをNotepadなどで開いてください.

Callsign:JQ7ZZZ-13
Validationnumber:-1
Latitude:3716.94N
Longitude:13952.14E
Interval:20
Comment:APRS Geiger
Wx:1
Telemetry:1

上は私の例です.Callsign:以降のコールサインを自分のものと置き換えます.コロン「:」から左は変更しないでください.続いて,APRS-ISの認証コード5桁を-1のところへ設定します.コールサインがJQ7ZZZ認証コードが12345であれば,

Callsign:JQ7ZZZ-13
Validationnumber:12345

となります.

なお,#で始まる行はコメントになります.

経度(Latitude)と緯度(Longitude)はAPRSパケットと同じ形式で設定してください.ここを間違うと,おかしな場所にアイコンが表示されるかもしれません.ピリオドの位置に注意してください.上の例は北緯37度16.94分,東経139度52.14分を示しています.自分の緯度経度に書き換えてください.

APRS-ISにフィードする間隔(Interval)を設定します.上の例では,20分おきです.

Comment: のあとに文字列を入れると,各パケットの最後にそれら文字列を追加します.
(半角45文字以下)

Comment:APRS Geiger

Wx:1でWXパケットをAPRS-ISへ送ります.Wx:0にすると送りません. 同じように,Telemetry:1でテレメトリーをAPRS-ISへ送ります.Telemetry:0にすると送りません.Wx:やTelemetry:がAPRS.CFG中にないときは,デフォルトで両方とも送る設定になっています.

APRS-ISサーバはデフォルトがsrvr.aprs-is.net:8080ですが,ユーザが指定することもできます. APRS.CFGの中で

AprsServer:srvr.aprs-is.net
AprsPort:8080

のように指定してください.APRS.CFG中に,この指定がないときは,デフォルト値を使います.ただし,本ソフトウェアでは,APRS-ISへのフィードにUDPを使っていますので,UDPをサポートしているAPRS-ISサーバでなければなりません.日本のAPRS-ISサーバの中で,UDPをサポートしているのはtokyo2だけのように見受けられます.

APRS-ISサーバがUDPをサポートしているかどうかは,各サーバのステータスページを開き,半分くらいスクロールダウンしたところに,Available Portsという表があります.そこにUDP & HTTP Post PortsというエントリーがあればOKです.たとえば,Tokyo2であれば,ステータスページを開き,スクロールダウンすると下図のような表が見えます.Port Number 8080で,UDPがサポートされていることがわかります.

Available Ports
Port Number Description
14579
Japan Feed

14580

User-Definable Filter Port
It is recommended that ALL
APRS stations connect to this port.

8080

UDP & HTTP Post Ports
Good for mobile phones or
other send-only stations.
This server only passes position reports from verified amateur radio stations.

書き換え後,忘れずに,mbedのフォルダにセーブします.

プログラムファイルをこのページのVersion表のVersion番号をクリックしてダウンロードしmBedへ書き込んでください.mbedは自分のフォルダにあるBINファイルのなかから一番新しいタイムスタンプがついているプログラムを実行しますので,このページからダウンロードしたファイルがBINファイルの中で一番新しいタイムスタンプがついていることを確認してください.

放射線量はXというタグでWXデータに埋め込むことになっているのですが,aprs.fiでは,まだ,放射線のグラフ化はサポートされていないようです.findUでも,まだ,サポートされていないようです.


Pachubeへ同時フィード

もともとあるenv.iniのupdatetypeが2になっていると,Pachubeにもフィードします.

#
#Geiger Tube type
gmtype:sbm-20.ini
#
#Servery value update interval(min)
updateinterval:10
#
#updatetype 0=none 1=Twitter 2=Pachube
updatetype:2

#
#Firm up interval (hour)
firmware_update_interval:24
#
sound:0
#
timezone:9
#

Twitterへの同時フィードは未実装です

ただし,env.ini中のupdateintervalは無視します.フィード間隔はAPRS.CFGで設定されているIntervalを使います.つまり,APRS-ISへのフィードと同じタイミングになります.

PachubeのAPIKEYやFEEDIDはPACHUBE.CFGで設定されているものを使います.
設定用のパラメータはこちらを参考に取得してください.

PACHUBE_APIKEY=ここにpachubeのAPI Keyを入れてください
PACHUBE_FEEDID=ここにpachubeのfeed idを入れてください
nsv0=-1
cpm0=-1
nsvlong0=0
cpmlong0=1

ただし,nsv0, cpm0, nsvlong0, cpmlong0は無視します.Feed0がnsv, Feed1がcpm固定です.

こばさんのFirmwareへの移行方法

env.iniは以下の項目を変更します.
(コメントになっている場合,先頭の#を削除します)

cosm0=COSM.CFG
aprs=APRS.CFG

COSM.CFGPACHUBE.CFGと同じAPIKEY,FEEDIDをコピーします.

apikey=PACHUBE_APIKEYと同じAPI KEYを記述します
feedid=PACHUBE_FEEDIDと同じfeed idを記述します

APRS.CFGの記述方法は同じです.

その他の注意点

ネットワーク動作をできるだけ軽くするように,APRS-ISサーバへのフィードはTCPではなくUDPを使っています.UDPを受け付けるサーバは案外と少なく,いまのところはsrvr.aprs-is.netに固定しています.今後はユーザが選択できるようにするかもしれません.なお,UDPですので,送ったデータがAPRS-ISサーバへ到達することは保証されません.したがって,ときどきデータが落ちる可能性があります.

APRSのシンボル:R_(青い丸にRのオーバーレイ)を使っています.

APRSの放射線濃度フォーマットは以下のようになっています.

ガイガー管の設定値はもともとのファームウェアについてくるenv.iniとそこから参照されるファイル(sbm-20.iniなど)を使っています.もし,それらのファイルが見つからないときは,プログラム中に埋め込まれたデフォルト値を使っています.


今後の予定は未定 

ベータテスターの皆様より貴重なコメント,アドバイスを頂いております.

  1. 放射線データとは別にBTEXTを定期的にサーバへ送れるといいな.
    →とりあえずバージョン12で,コメントをパケットの最後に付けられるようにしました.
  2. srvr.aprs-is.net以外のサーバも指定できるようになるといいな.
    →バージョン16で対応しました.
  3. Twitter,Pachubeなどにも並行してデータを送れるといいな.
    →Pachubeへのフィードはバージョン15で対応しました.Twitterは未対応です.
  4. いろいろな設定を簡単に行えるようなGUIがあるといいな (TinyTrackOpenTrackerのような,,,,,).
  5. GPSやPCと接続してモバイル位置+放射線値測定ができるといいな.
    →バージョン14でUIView32と連携するようにしました.
  6. ネットにつながっていない時も放射線測定値を表示するといいな(Version0.1では起動時に一回ネットにつながっているかどうかチェックし,つながっていないとそれっきりエラーを表示しておしまいになっています,使い勝手がよくないですよね).
    →バージョン0.11で,起動時にネットワークにつながらなくても,測定値は表示するようにしました.ただし,まだ,ネットワークにつなげるときは再起動が必要です.
  7. APRSテレメトリーデータも送れるといいな.
    →バージョン13で対応しました.
  8. AGWPEを使ってAPRSパケットを無線機などから送出できるといいな.

デバッグ

PCとUSB接続し,シリアルドライバーをPCにインストールすると,mbedはPCにデバッグ情報をシリアル経由で送ります.いまは,デバッグ情報を1秒ごとに送るようになっています.見ても面白くないかもしれませんが.


TIPS

最近知ったのですが,mbedとシリアル(USB経由の仮想シリアル)でつないでおくと,PCからBreakを送ることでmbedをリスタートできます.いちいちmbedの上にくっついている小さなボタンを押したり,電源を入れ直したりしなくて済むので便利です.ハイパーターミナルならControl+Break,teratermならAlt+BでBreakを送れます.


Back to Mark2R2 Top

73 de ELGeiger
inserted by FC2 system