Mark2 拡張ファームウェア
オリジナル版との違い
オリジナル版から削除した機能
ファームウェアの自動更新
- オリジナル版の更新は今のところないようですが、不意に更新されてしまうことを防ぐため削除しました。
- microSD に作成するファイルへのタイムスタンプ付与はできるようにしたのですが、内蔵フラッシュディスクへは何故だかタイムスタンプが書き込みできません。
この状態でファームウェア自動更新を実装すると、(視覚的に)面倒なことが起きるので、タイムスタンプの問題が解消するまで、当面は再実装の予定ありません。
波形サンプリングモード(mode=1)
- 放射線の入線強度を調べる試みとしてβ版として実装されているのだと思いますが、ちょっと一般的でなく、校正する手段もほぼないことから、メモリー容量を確保するために削除しました。
追加・拡張した機能
省電力モード
- 内蔵CPUのクロックダウンおよびLANとUSBを停止することで、50mA以下の消費電流(標準は150mA台)で動作する省電力モードを実装しました。
- 省電力モード時にはLANが停止しますので、ネットワークに依存した Twitter/Pachue/WebPost/UdpSend/NTP時計合わせ
は使用できなくなります。
- LoggingサービスおよびGPSとmicroSDは使用できます。
- LANが発していたノイズも大幅に削減しますので、GPS の捕捉感度が大幅に向上します。
特にLANコネクタの上に設置するなどして内蔵させていた場合には劇的な効果を発揮します。
- 視認性と省電力性を両立するためバックライト輝度を制御できるようにしました。(ただし液晶の換装と別途配線が必要です)
GPS
- GPSレシーバーの初期値に合わせて通信速度を自由に指定できるようにしました。
- GPS からの受信を、割り込みを用いた非同期通信処理にすることで、「GPSデータ受信待ち」が起きないようにしました。
- GPS から受信した時刻データをもとに時計合わせするようにしました。
- オリジナル版に潜在していた経度の計算バグを修正しました。
- 本来の仕様通り、GPS から受信したデータのチェックサムを計算して異常データは排除するようにしました。
- 一般的な GPS ロガーと同じようなログファイル(NMEA 形式)を microSD に作成することができるようにしました。
軌跡情報としてカシミールなどに読み込ませることが出来ます。(カシミールの場合、ツール→NMEAファイル読み込み)
通常の位置情報のほかに、線量(cpm 数と μSV/h 値 と 累積カウント数など)もDMDRTセンテンスとして一緒に出力されます。
- 2機のGPSレシーバーを接続してプライマリ(主たる)GPSが衛星を見失ったときセカンダリ(従の)GPSを使って位置を取得することもできます。
シリアル出力対応(Bluetooth対応)
- シリアルインターフェースを有する市販の Bluetooth モジュールを接続することで、測定値をリアルタイムに Bluetooth 送信できるようになりました。
- GPS を接続している場合は位置情報もNMEA互換のフォーマットでリアルタイム送信できるので、Google Earth や Super Mapple Digital など GPS
受信機能を持ったソフトで位置を表示させることが出来ます。
- Bluetooth のほか、OpenLog などのシリアルロガーを接続してログを保存することができます。
保存されたログは市販の GPS レシーバーが作成するログと互換性があります。
(NMEA形式ログとして、カシミール等で読み込ませることが出来ます)
- NMEA 形式のログのほかに、自由な書式を指定してのテキスト形式でログ作成することも可能です。
押しボタン対応
- 押しボタン(プッシュスイッチ)を接続することで、運用中に液晶の表示レイアウトを変更、ミュートモードの設定ができるようになりました。
- microSD
書き込み中に電源が落ちるとファイルシステムが壊れる場合がありましたが、押しボタン長押しで書き込みを終えてから安全にリセット作動するようになります。
ネットワーク
- 固定IPアドレスを付与しての運用ができるようにしました。
- DHCPサーバーにIPアドレスを要求する際に自らのホスト名を名乗れるようにしました。
- DHCPアドレスのリース期限到来に伴う再リース要求処理も行うようにしましたので、数ヶ月単位の長期連続稼働でも安定して動作します。
NTP
- 時計合わせに使用する NTP サーバーを自由に設定できるようにしました。
- 時計合わせする間隔も自由に設定できるようにしました。
Twitter
- Tweet する内容を自由に設定できるようにしました。
ハッシュタグも好きに埋め込め、日本語を含むツィートも大丈夫です。
(オリジナル版だと GPS から取得した位置情報も勝手に Tweet してしまうので、かなり危険です)
- SuperTweet のほか StewGate を経由してのツィートにも対応しました。
- 閾値として設定した線量(10分平均のμSV/h)を超えたときのみツィートする機能を設けました。
Cosm(旧Pachube)
- cpm、nSV/h のほか、μSV/h の値も送信できるようにしました。
- pachube.com の後継、cosm.com に正式対応しました。
- 気圧センサーや温度センサーのほか、アナログセンサーの値も送信できます。
Logging サービスを追加
- 内蔵フラッシュディスクに、線量および位置情報をファイルとしてログ記録できるようにしました。
- microSD ソケットを装着させた場合は、microSD カードにも記録できます。
WebPost サービスを追加
- 任意の Web サーバーに対して、線量および位置情報をリアルタイムに POST することができるようにしました。
- 基本認証に対応していますので、認証の必要なサイトへの POST もできます。
- POST時のヘッダーに独自の項目値( X-APIKEY=xxxx など)を挿入することができます。
UdpSend サービスを追加
- 任意のホストに対して、線量および位置情報を UDP パケットで送信できます。
(一般的なSyslogサーバーを用いて受信できます)
Twitter/Pachube/Logging/WebPost/UdpSend 全般
- それぞれの各サービスの遅延起動および起動間隔は自由に設定できます。
- 各サービスは別々に3つのアカウントや条件を指定でき、すべてを同時利用できます。
液晶表示
- 標準的な液晶表示(上段に日時、下段に線量) のほか、タイムソース(GPS/NTP)の表示をするモードを選べるようにしました。
- 上段に60秒平均の線量を表示するモードを選べるようにしました。(下段は10分平均で変更ありません)
上下の値を見比べることで、線量が上昇傾向にあるのか下降傾向にあるのかザックリ把握することができます。
ただし低線量地域(特に0.2μSV/h以下)では、60秒平均の値は誤差が大きすぎるため、線量変異の傾向を読み取るには適しません。
- 周辺線量やGM管の感度に応じて平均化処理時間を自動適正化させるレコメンドモードを lcdLayout=1 に実装しました。
初期値は、200cpm時で30秒平均、600cpm時で10秒平均、ですが測定精度と応答性のバランスは調整できます。
- 光センサー(CDS)に基づいてバックライトの輝度を自動調整する機能を盛り込みました。
設置環境の明るさに連動してバックライトの輝度が可変します。
PC 接続 (USB-Serial ドライバ併用)
- USB 経由で PC とシリアル接続したときの通信速度を 460800bps 以外の自由な速度に設定できるようにしました。
- 出力をある程度整形し、PC を接続してのロギング運用に多少の配慮をしました。
(ただし主たる用途がデバッグおよび動作のモニタリングなので、PCでリアルタイムにログ収集する際には Web サーバーを立ち上げて WebPost
サービスを利用したほうがいいです)
アナログ汎用入力
- 温度計や湿度計など、測定値を電圧として表すセンサー類の同時測定が可能になりました。
- スプライン補間処理を実装していますので、出力が非線形なセンサーであっても誤差の少ない計測が可能です。
- 測定値は全てのサービスで利用できます。
I2C 接続センサー
- 温度計や湿度計や気圧計など、測定値を I2C 形式のデータで出力するセンサー類の同時測定が可能になりました。
- 測定値は全てのサービスで利用できます。
その他
- リチウム電池を接続することで、NTP や GPS から時刻が取れない環境においても、正しい時刻でログ保存できるようにしました。
ただし、mbed の内部時計はズレが大きい(1日で1分は平気でズレる)ので、NTP や GPS を全く使わずに長期運用することは避けて下さい。
- 指定した線量(cpm数もしくはμSV/h値)を超えているときだけブザーの鳴動を ON にする機能を設けました。
鳴り始めの初期値は 0.4μSV/h ですが、この閾値は自由に変更できます。
- 60秒平均で計算した測定値は Twitter/Logging/WebPost/UdpSend(Pachubeは不可)で利用可能です。
- フリーズを検知したとき自動でリセットがかかるウォッチドッグ機能が備わっています。
- ゆるかやな昇圧ステップ電圧を指定できるようにし、冷間時の起動失敗を軽減させました。
- GM管の校正において、これまでの2点簡易校正のほか、最大10箇所の基準値を用いたスプライン校正ができるようになりました。