ryuchi's wiki pages
修正情報:
- 2011/04/17
- gm.pl バグ修正: pachube に通信できなかったときに異常終了する問題がありましたので、修正しました。
- gm.pl 変更: 異常データと通信異常のときの LOGを変更しました。正常時は HTTPリザルトのラインをそのまま残すようにしました。
- 2011/04/12
- gm.pl を更新しました。
- 設定項目をふやしました。
pachubeに cpm,μSv/h のスケールの設定
- gm.plの修正にあわせて、概要説明もupdateしました
- gm.pl_20110326, gm.pl_20110402 は、旧版です。一部概要説明と異なります。
- 2011/06/09
- LND-712 の CPMからμSv/h の換算値は 「0.00926 が正しい」という情報がありました。
gm.cfg ファイルに rate: 0.00926 を追加して定数を設定してください。
- 2011/06/10
ガイガーカウンタで放射線量を測定して共有する †
twitterを見ていたら、小林 茂さんが、
レシピ39:自分の生活環境の放射線量を計測したい
というページを作成され、SparkFunさんのガイガーカウンタで 測定された放射線量を pachubeを利用して共有するプロジェクトを始められたので、
Strawberry-linuxさんのガイガーカウンタキット
を使って、参加してみました。
実際に測定されるのは ガイガー・ミュラー管に入った放射線の回数です。放射線の種類やエネルギーの大きさは
測定できません。μSv/h へは、定数を用いて変換しています。
なお、ガイガーカウンタは、Strawberry-linuxさんやSparkFunさん
(日本からでも問題なく注文できます)で購入することが出来ます。私は Strawberry-linuxさんで
通信販売で入手できるガイガーカウンタキット を
使いましたので、この方法を紹介しています。
- 用意するもの
- USBインターフェイスがあり Windows 動作可能なPC
- pahubeへアップロードするだけなら Windows XP/Vista/7 (32/64bit) が利用できます
- Strawberry-linuxさんが配布しているデータ表示ソフトは Windows 7では動作しないようです
- インターネット接続環境 (常時接続)
- Strawberry-linux ガイガーカウンタ (キットまたは完成品)
Strawberry-linux ガイガーカウンタキット †
2011/04/11時点では 品切れとのことです。 次回入荷は 4月下旬とのことです。
Strawberry-linuxさんからガイガーカウンタキットまたは
ガイガーカウンタキットの完成品を購入します。
写真は、私がキットを購入し、組み立てたものです。データをPCで収集するときは、USBケーブルを使用します。
(動作用電源もUSBで供給されます。)
写真では外部電源(ACアダプタ)で動作させていますが、USBケーブルを接続したときは不要です。
キットの場合、組み立ては付属のマニュアルに従って組み立てを行います。ガイガー・ミュラー管がデリケートですが、
それ以外のパーツは難しいパーツはありません。但し、マニュアルは簡略されているため、電子部品に対する基礎的な
知識がないと組み立てが困難だと思います。(初心者用のキットしか組み立てたことがない方には難しいでしょう)
ガイガーカウンタキットのページにある
「説明書」は添付されるマニュアルと同じもののようです。(これより詳しいマニュアルはないようです。)
組み立てキットの購入を検討されるときは事前に説明書を一読することをお勧めします。
組み立てが出来たら USBケーブル経由でPCに接続し、単体で正常に動作するか確認をしておきます。操作方法などは添付の
説明書に記載されています。
pachube への登録 †
小林 茂さんが レシピ39:自分の生活環境の放射線量を計測したい
で、SparkFun?さんのガイガーカウンタで計測し、pachube に登録するための手順を詳しく書かれています。
このページにはガイガー・ミュラー管の解説を含め、多くの解説があります。
Strawberry-linuxさんのガイガーカウンタを使う場合も、pachubeへのサインアップとフィードの登録、データストリームの登録については、
SparkFun?さんのガイガーカウンタを使う場合と同じ様にサインアップおよび登録します。まずは、小林 茂さんのページを参照して
pachubeへのサインアップとフィード、データストリームの登録を行います。フィードおよびデータストリームに登録するタグや
単位もあわせておきましょう。
データストリームは ID:0 が cpm, ID:1 が μSv/h で登録されることが前提になっています。
- 登録ができたら、MasterApiKey? と Feeds の値を確認しておきます。
- MasterAPIKeyの確認方法
- Feeds の値の確認方法
Strawberry-linux ガイガーカウンタの準備と計測 †
- ActivePerl? をインストールします。
- ActiveState?社さんのサイトから ActivePerlをダウンロードして
インストールします。
- ActivePerl? は ActivePerl? 5.10以降の最新版を使います。
- インストールしたら perl -v と入力して正しくインストールされていることを確認します。
以下のサンプルでは ActivePerl? 5.12 をインストールしています。
もし、正しく起動しない場合は 環境変数PATHが正しく反映されていない場合がありますので、リブートしてみてください。
- ガイガーカウンタの計測ソフトを格納するディレクトリを用意します。
- 上記ディレクトリに Strawberry-linuxさんのサイトから 「PC側ソフト」をダウンロードして、圧縮ファイルを展開します。
- Windows 7の環境では計測ソフト本体は動作しませんが、DLLを使うのでダウンロードして展開します。
- 展開して出来たフォルダから v2\gmcounter\gmgraph_1_0_0_2 の中にある gm.dll を取り出します。
- このページに添付してある スプリクト
gm.pl を 同じディレクトリに保存します。
- ガイガーカウンタキットを USBケーブルで Windows PCに接続します。
- ガイガーカウンタキットは HID入力デバイスとして認識され、自動的にインストールされます。
- ドライバのインストール等の操作は必要ありません。Windows に標準で用意されています。
- すぐにガイガーカウンタが動作を始めます。モード切替などの操作は必要ありません。そのまま使えます。
- gm.plをダブルクリックする等で gm.plを起動させるとコマンドプロンプトが起動し、計測データを表示しますので、
動作を確認できます。
- 1分毎に計測データを表示します。但し初回のみ 1〜2分の時間が必要です。
- 動作をとめるには Ctrl-C を入力します。
- <年><月>のディレクトリを作成し、その中にcsv形式で、測定データを保存します。
- pachube へ登録するための情報を設定します
- 設定は gm.cfg ファイルに記述します。 任意のテキストエディタを使用してください。
notepad を使う場合は、コマンドプロンプト等から 「notepad gm.cfg」 と入力して新規に作成します。
- テキスト形式で 1行につき1項目を設定します。
- フォーマットは 下記の形式です。
<設定項目>: <設定値>
注) Feeds に設定する値の拡張子は .csv になります。
- CPMからμSv/h への変換値が
0.00926 0.00833 が正しい値とのことです。この値を反映するため、下記の設定を追加してください。
rate: 0.00833
- 再度、gm.pl を起動して計測し、pachubeへの登録状況を確認してください。
pachube の最大値と最小値の設定について †
pachubeに計測データを登録していくと、データストリームにおける最大値と最小値が 自動的に設定され、グラフも
この最大値と最小値を使って生成されます。
gm.pl に 最大値および最小値を設定する機能を実装していますが、この機能のみを取り出した
pachube_scal.pl という
スプリクトを作成しました。設定ファイルは gm.cfg で共通になります。 pachube_scal.pl を実行すると、最大値と
最小値を設定する XML を送信します。
スケールの必要性などについては
小林 茂さんの
レシピ39:自分の生活環境の放射線量を計測したい
に解説がありますので、参照してください。
gm.pl について †
動作環境 †
対象OS | Windows XP/Vista/7 | |
言語 | ActivePerl? 5.10〜 | |
DLL | gm.lib | Strawberry-linux社製 PC側ソフト に添付のもの |
その他 | コマンドプロンプトで動作 | |
設定 †
設定ファイルは 同じディレクトリにある gm.cfg で固定
項目 | 設定内容 | デフォルト | その他 |
MasterApiKey? | pachubeのAPI マスターキーの値 | (なし) | 省略時は pachubeへ登録しない |
Feeds | pachubeのAPI フィードの値 | (なし) | 省略時は pachubeへ登録しない |
Host | pachubeのAPIでアクセスするホスト名 (HTTPヘッダで使用) | api.pachube.com | |
Method | pachubeのAPIを送信するメソッド名 | PUT | (変更しない) |
User-Agent | pachubeのAPIで送信するエージェント名 | geiger-counter/1.0 | |
Sensor | 計測対象センサ No | 0 | |
Port | pachubeへアクセスするときの TCPポート番号 | 80 | |
Hostname | pachubeへアクセスするときのホスト名 | Host項目の値 | |
Timeout | pachubeへアクセスするときのタイムアウト値 | 10 | |
File | ローカルへ計測値を csvで保存の指定 | 1 | 1:保存する 0:保存しない |
interval | カウントの集計間隔 | 60 | 秒単位。60〜86400(1日) の間で設定可能 |
rate | cpmからμSv/h へ変換するときの定数 | 0.00233 | LND-712では、0.00833が正しいようです。この値で設定を追加してください。 |
cpm_max | cpmの最大値 (pachubeへのスケール設定値) | 100 | |
cpm_min | cpmの最小値 (pachubeへのスケール設定値) | 0 | |
ushv_max | μSv/hの最大値 (pachubeへのスケール設定値) | 1 | |
ushv_min | μSv/hの最小値 (pachubeへのスケール設定値) | 0 | |
- 項目の大文字、小文字は区別されません
- 同じ項目が重複している場合は、下側に記述された値が有効になります
- Host: の値は HTTPヘッダで使われます。Hostname: の値は IPアドレスの名前解決に使われます。
- 通常は同じ値 (api.pachube.com) にします。
- 通常は MasterApiKey?, Feeds の 2項目以外は追加する必要はありません。
動作概要 †
- gm.dll を経由して ガイガーカウンタにアクセスし、計測データの取得、リセットを行います。
- 指定された間隔(デフォルト: 60秒)で 計測値を取得し、結果を pachubeへ転送します (Feeds, MasterApiKey? の設定が必要)
- 計測値を ローカルディスクに保存します。
- <年><月> のディレクトリを作成、その中に <年><月><日>.csv というファイルを作成して保存します。
- 1日分のファイルサイズは約140kBytes弱です。(インターバルが 60秒の場合)
- 計測値が 0か負の値の場合は、計測異常とし、その値と次回の値を捨て、pachubeへは転送しません。(ログファイルには記録されます)
- 前回の計測時より 7200秒以上経過している場合、ガイガーカウンタの計測値をリセットし、オーバーフローを防ぎます。
- 無限ループになっており、終了しません。
- Proxyには対応していません。
- 測定間隔は、sleepで調整しています。このため、1秒の誤差が生じることがあります。
- pachube に登録されるデータストリームは ID:0 が cpm, ID:1 が μSv/h であることを前提としています。
- ガイガーカウンタ(キット)のLCDパネルに表示されているカウント値や時間は、Windows PCで取得する計測データに影響はありませんが、
途中でリセット操作を行うと異常値になります。
- ガイガーカウンタ(キット)の時間情報は使っていません。経過時間はWindows PC側の時計を利用しています。精度は Windows PC側に依存します。
- 起動後、1度だけ pachube に cpm, μSv/h の最大値および最小値の設定を行います。
保証・サポート †
その他 †
- Perl scriptで書かれています。
- 自由に改造して利用してかまいません。
- 計測値について
ある値を計測する目的で使われる機器一般についていえることですが、本当の値と読み取られる値については、
ある程度の誤差やずれが含まれるのが、一般的です。さらに、このずれや誤差は、常に一定ではありません。
読み取られた値が、本当の値とどれだけずれているか、どの程度の誤差が含まれるか、基準となる測定と比較して
検査、調整等を行うことを校正といいます。この校正が行われていない機器を用いて読み取られた値は信頼性が低く、
参考程度にしか使えません。
また、測定値は、温度や湿度などの環境によっても異なる場合がありますし、測定値が大きい場合と、小さい場合で、
含まれるずれ、誤差の量も変わってくるのが一般的です。またずれや誤差は測定結果に比例するとは限りませんし、
きれいに比例するものの方が少ないでしょう。測定器には、その測定器に適した測定範囲があります。
これを下回るものや上回るものは、測定結果として意味を持ちません。
計測器の表示がデジタル式でもアナログ式でも、いずれの場合も同じです。
さらにセンサーには寿命があります。長く使用し寿命を迎えたセンサーは正しく測定できなくなります。寿命を迎えたセンサーが
どのような値を出力するのか、という点は、そのセンサーの特性によります。
このような計測に関することを知って、計測値を過信せずに、常に誤差やその正確性などを考えて利用する必要があるでしょう。
関連 †