若松ガイガー 20111103版 公開

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


 当面はメモリーで苦労することなくなったぽいので、まだまだ機能拡張を続けますね。
 幸いながらも(外部被曝の面では)安全圏に住まわせてもらっているわけでして、今すぐに私が出来る支援ったら、足りない知恵を絞って機能拡張を続けるくらいしかありません。。。


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


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

  • Pachube使用時に設定ファイルで未使用項目を省略すると意図せずFeedされるバグを修正
  • リチウム電池なしで起動する時、電圧安定化時間が数万秒となることがあるバグを修正
  • 複数WebPostを同時実行時に、数百回に1度くらいの頻度で非送信項目が送信される場合があるバグを修正
  • LANケーブルの活線挿抜に対応(差し込むたびにDHCPサーバーからアドレスを取得)
  • WebPostで、独自のAPIKEYをヘッダーに追加してPostできるよう追加
  • WebPostで、基本認証(BASIC認証)に対応
  • 測定値をUDPパケットで送信するUdpSendサービスを新たに実装(SYSLOGサーバーにも送れます)


 前回から仮実装しました、線量情報付き軌跡ファイル(NMEA 形式)の $DM*** センテンスの詳細仕様は、まだ詰め切れておらず前版と全く一緒の状態になってます。
 地図と連携した線量プロットソフト(汚染地図ソフト)とか作られている方で「こんな情報が出ると作図するにあたり都合いい」てのあれば、是非ともコンタクトお願いますね。今なら間に合います!


 既知バグ修正と細かい機能追加の作業の合間に、UdpSend と名付けた新しいデータ送信機能を実装しました。
 Twitter や Logging などと似たような雰囲気で、測定値の含まれたテキストデータを指定のホストの UDP ポートへ投げつけます。もちろん他サービスと同様に3カ所に(3条件で)同時送信にも対応してます。


 TCP と違い送達確認のない UDP なので、回線状況によってデータが欠落する確率は少々上がりますが、超軽い UDP な(PCつないでデバッグログを眺めてもらうと分かりますが、ほんの一瞬で送信が終わります)ので、それはそれで使える用途はあるかなと思います。
(今の WebPost も送信エラーのデータ再送はしていないので、データ未達の確率としては大差ないと思われ)


 数百台の測定器をあちこちに設置して、各機が interval=0.1(6秒)の設定で特定のサーバーに測定値を送信しまくる、というヘビーな用途には UdpSend が効力を発揮すると思います。(そんな風に使われることはないと思うが)


 514/udp で待ち受ける SYSLOG サーバーでも受信できますが、基本的には認証という概念がないので、インターネットに公開された場所に SYSLOG サーバーを置いて運用するとゴミデータもいっぱい飛んでくる可能性があります。
 測定値データの書式は Twitter や Logging と同様に自由に編集できるので、最初に暗号めいた文字列を決めうちでつけて送信するようにしておいて、受信側ではその暗号めいた文字列が一致しないデータはゴミとして捨てる、という風な運用が実用的かなと思います。

定義ファイル 項目名 目的 指定方法
env.ini udpsend0 または
udpsend
標準的な条件 UdpSend設定ファイル名
env.ini udpsend1 追加の条件
env.ini udpsend2 追加の条件
WebPost 設定ファイル apikeyName ヘッダー内に特定項目を追加してPost 項目名(文字列)
WebPost 設定ファイル apikeyValue ヘッダー内に特定項目を追加してPost 項目値(文字列)
WebPost 設定ファイル id 基本認証に使用 ユーザー名(文字列)
WebPost 設定ファイル password 基本認証に使用 パスワード(文字列)
UdpSend 設定ファイル host 送信先 ホスト名もしくはIPアドレス
UdpSend 設定ファイル port 送信先ポート番号 数値(省略すると514)
UdpSend 設定ファイル format 送信内容 パラメータ書式を使用可
UdpSend 設定ファイル interval 起動間隔(分) 数値のみ(小数は1桁まで)
UdpSend 設定ファイル delayStart 起動遅延時間(分) 数値のみ