若松ガイガー 20111115版 公開

 本記事には古い情報が含まれている場合があります。まとめページ を作成しましたので併せて御覧下さい。


 またまた問題なさそうなので公開に踏み切ります。
 以下「互換機」という言葉が時々登場しますが、これは Mark2 と同様に mbed をベースとし、全く同じファームウェアで動作するガイガーカウンター(モニタリングポスト)を意味します。
 普通に若松 Mark2 を使われている方には無縁な機能となりますので予めご了承下さい。


20111115版 ファームウェア一式 こちらの20111130版 をお使い下さい。


20111103版との機能比較(20111103版の仕様はこちらを参照ください)

  • Twitter投稿で、SuperTweetのほかStewGateにも対応(StewGateの方が遙かに安定してます)
  • 20111103で対応したLANケーブル活線挿抜が条件によって正しく機能しないことがあったバグを修正
  • lcdLayout=2 時にGps/Ntpの利用状況を表示
  • ブザー鳴動の閾値をこれまでのcpm数によるほかμSV/h値での指定も可能にした
  • 設定ファイル(.CFG)のテンプレートを整理
  • (互換機むけ)最大で4管まで複数管に対応(標準の17番ピンのほか16・11・12ピンに接続可)
  • (互換機むけ)カウントトリガー、L→HのほかH→Lにも対応
  • (互換機むけ)各管のcpm数を個別にLCD表示するモード追加
  • (互換機むけ)Twitter/Logging/WebPost/UdpSend で各管のcpm数を個別に送信可能にした


 当初は全く予定していませんでしたが、mison さんより StewGate と呼ばれる、いわゆる SuperTweet の日本版のようなものをご紹介いただきました。
 昨夜のうちにプログラム対応させ24時間ほどテスト稼働させてみましたが、SuperTweet とは比較にならない安定性。
 5分おきリトライなしのツィートで、(現時点で)293件中283件が無事にツィートされ、その成功率たるや約96.6%という数値です。(SuperTweetだと日によって50%を割る)


 安定性もさることながら、どっちか選べるとなれば、やっぱ日本の方が作られたものを利用したいですもんね。
 というわけで使い方を軽く書きます。


 今回のファームウェア一式の中に STEWGATE.CFG というテンプレートを作っておきました。
 メモ帳で開いて頂くと一目瞭然ですが、「token(トークン)」と呼ばれる文字列をセットするだけで SuperTweet の代わりにツィートすることが出来ます。


 SuperTweet でいうところの id と password が、StewGate で token に置き換わったと考えたら分かりやすいかな。
 今まで利用されてた Twitter 設定ファイルの中に token〜 の行を追加しますと、SuperTweet の id/pass は無視して、優先的に StewGate を利用するようにしてます。


 で、その token の取得方法。
 StewGate-1 のページ にある「認証する」をクリックすると Twitter のサイトに飛びますので、そこで Twitter のアカウントを入力して「連携アプリを認証」を押します。
 認証が成功しますと、StewGate のサイトに戻ってきて、token と呼ばれる文字列が表示されますので、それをクリップボードにコピーするなどして、STEWGATE.CFG の中の token= にセットします。


 env.ini の中で twitter=STEWGATE.CFG などとして設定ファイルを Twitter サービスに紐づけておくことを忘れなく。


 ちなみにパスワードの情報は StewGate のサイトには行ってません。
 いつでも Twitter のアカウント編集画面から StewGate を切り離すことができます。


 あと Twitter 絡みで。さりげなくテンプレートに入れてあるハッシュタグを #mark2 から #Mark2bot に変更しておきました。(「M」は大文字であるべきらしい)
 なんでかというと、時々外人さんが #Mark2 で呟いてるみたいで、日本のボットが割り込んじゃいけないかな、と。。



 このほか、今朝に sanさん からリクエストありました、lcdLayout=1 のときのような Gps/Ntp の利用状況を lcdLayout=2 のときにも表示させる、も実装してあります。
 16文字×2段という狭いスペースゆえ見にくいですが、各行の最左に「G」「N」マークを表示するようにしました。
単位「uSv」を「u」とかに短縮してしまうべきか悩みましたが、単位省略は最後の手段と思い、今回のような表記にしました。
(本当は「/h」も省略したくないところ、オリジナルの作者さんも単位の省略表記は苦渋の選択だったことでしょう・・・)

定義ファイル 項目名 目的 指定方法
Twitter設定ファイル token StewGateのtoken 文字列
env.ini sound_usv ブザーの鳴動を開始する線量
sound設定と重複適用されるので
cpmでの判定をやめるときは#sound=〜とコメント化する
数値(μSV/h)


互換機むけ特殊設定(普通の Mark2 ユーザーは触らないで下さい)

定義ファイル 項目名 目的 指定方法 省略時
env.ini GMInterrupt0 または
GMInterrupt
GM管を繋いだピン番号 11 or 12 or 16 or 17 17
env.ini GMInterrupt1 追加GM管のピン番号 未接続
env.ini GMInterrupt2 未接続
env.ini GMInterrupt3 未接続
env.ini GMInterruptMode0 または
GMInterruptMode
カウントトリガー 0:L→H (プルダウン有)
1:H→L (プルアップ有)
0
env.ini GMInterruptMode1 0
env.ini GMInterruptMode2 0
env.ini GMInterruptMode3 0
env.ini gmtype GM特性ファイル ファイル名を指定 管調整モード
(各管cpm表示)


書式に使用できるパラメータ

項目名 説明
%CPM_0% GMInterrupt0 で指定したピンに接続したGM管の10分平均cpm値
%L_CPM_0% GMInterrupt0 で指定したピンに接続したGM管のの60分平均cpm値
%S_CPM_0% GMInterrupt0 で指定したピンに接続したGM管のの60秒平均cpm値
%CPM_1% GMInterrupt1 で指定したピンに接続したGM管の10分平均cpm値
%L_CPM_1% GMInterrupt1 で指定したピンに接続したGM管のの60分平均cpm値
%S_CPM_1% GMInterrupt1 で指定したピンに接続したGM管のの60秒平均cpm値
%CPM_2% GMInterrupt2 で指定したピンに接続したGM管の10分平均cpm値
%L_CPM_2% GMInterrupt2 で指定したピンに接続したGM管のの60分平均cpm値
%S_CPM_2% GMInterrupt2 で指定したピンに接続したGM管のの60秒平均cpm値
%CPM_3% GMInterrupt3 で指定したピンに接続したGM管の10分平均cpm値
%L_CPM_3% GMInterrupt3 で指定したピンに接続したGM管のの60分平均cpm値
%S_CPM_3% GMInterrupt3 で指定したピンに接続したGM管のの60秒平均cpm値


 互換機むけ、これだけじゃ情報が足りないので、後日追記もしくは別エントリーが書き込みしようと思ってます。
(複数管の回路の件も含めて)


追記(2011/11/17)
 互換機むけ複数管対応の関係で少々バグ残ってました。データ出力上の書式的な問題で深刻なものではありませんが・・・
(上に書いてある項目名ではない項目名で出力されてしまってました)


 近いうちに改修します。
 複数管を装着させていない普通の Mark2 ユーザーには全く影響ありません。