Mark2を使ってAPRS Serverに放射線情報(Radiation)を送るためのFirmwareです.
測定した放射線情報をaprs.fiで位置情報と合わせて表示できます.
また,テレメトリに記録できますので放射線量の変化を確認することができます.
こばさんの作られたFirmwae20120819版以降でもAPRS対応していただきました.
APRS.CFGの詳細設定はこちらを参考にしてください.
APRSを使うためにはアマチュア無線の免許が必要です.
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 |
|
|
14580 |
It is recommended that ALL APRS stations connect to this port. |
8080 |
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でも,まだ,サポートされていないようです.
もともとある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は以下の項目を変更します. (コメントになっている場合,先頭の#を削除します)
|
COSM.CFGにPACHUBE.CFGと同じAPIKEY,FEEDIDをコピーします.
|
APRS.CFGの記述方法は同じです. |
ネットワーク動作をできるだけ軽くするように,APRS-ISサーバへのフィードはTCPではなくUDPを使っています.UDPを受け付けるサーバは案外と少なく,いまのところはsrvr.aprs-is.netに固定しています.今後はユーザが選択できるようにするかもしれません.なお,UDPですので,送ったデータがAPRS-ISサーバへ到達することは保証されません.したがって,ときどきデータが落ちる可能性があります.
APRSのシンボルは:R_(青い丸にRのオーバーレイ)を使っています.
APRSの放射線濃度フォーマットは以下のようになっています.
ガイガー管の設定値はもともとのファームウェアについてくるenv.iniとそこから参照されるファイル(sbm-20.iniなど)を使っています.もし,それらのファイルが見つからないときは,プログラム中に埋め込まれたデフォルト値を使っています.
ベータテスターの皆様より貴重なコメント,アドバイスを頂いております.
PCとUSB接続し,シリアルドライバーをPCにインストールすると,mbedはPCにデバッグ情報をシリアル経由で送ります.いまは,デバッグ情報を1秒ごとに送るようになっています.見ても面白くないかもしれませんが.
最近知ったのですが,mbedとシリアル(USB経由の仮想シリアル)でつないでおくと,PCからBreakを送ることでmbedをリスタートできます.いちいちmbedの上にくっついている小さなボタンを押したり,電源を入れ直したりしなくて済むので便利です.ハイパーターミナルならControl+Break,teratermならAlt+BでBreakを送れます.
Back to Mark2R2 Top