AmazonでGC-10が再入荷したので予備の意味もあって再購入。
今度はきちんとLCDをつけた。
1号は買ってから4年経過しているが問題なく動作中。
当初は通信モジュールを購入してPCにつないで計測してたが、
少し前に外部連携端子にESP8266互換のArduinoをつないで無線LANでHTTP飛ばすようにしている。
スケッチはPocketGeiger Type5のスケッチを流用してCPM計算を行っている。
例によってraspberrypiでHTTP受けてM2Xへ飛ばしている。
スケッチ
https://gist.github.com/izumogeiger/ab5b3a5e42ed4eb7339b38e8d7a05f10
M2Xのページ
https://m2x.att.com/catalog/a12eeb447a3d905188bbe4b3f43964f4
----
2017年6月4日日曜日
2013年12月10日火曜日
島根県出雲市の線量上昇 低気圧による影響?
xively.comのGC10 cpmグラフが上昇していた。
atmc.jpでもほぼ同様
天気図はこんな。
台風26号のときと似た天気図かも。
北陸から山陰にかけて日本海側各地で上昇してるっぽい。
ただ新潟には上昇がみられないから福島由来ではないのかも。
とすると福井の原発銀座あたりかなぁと。
![]() |
| 1日グラフ |
![]() |
| 1週間グラフ |
天気図はこんな。
![]() |
| http://www.jma.go.jpより |
台風26号のときと似た天気図かも。
北陸から山陰にかけて日本海側各地で上昇してるっぽい。
ただ新潟には上昇がみられないから福島由来ではないのかも。
とすると福井の原発銀座あたりかなぁと。
2013年10月16日水曜日
台風26号による島根県出雲市の線量上昇
15日21時くらいから16日3時くらいまで線量上昇があった様子。
xively.comのGC-10のグラフにばっちり記録されてた。
普段は20cpm前後なのに一時は40cpm近くまで上昇していたらしい。
下の7daysのグラフがわかりやすい(xively.comのグラフは縦軸自動表示なので若干見辛い)。
atmc.jpのグラフでも同様の上昇が確認できる。
台風の左回りの渦に沿って福島からの気流が運ばれてそれが雨で着弾したんじゃないかと思う。
↓は15日21時くらいの衛星写真。
もっとも島根、福井、新潟あたりの原発の可能性も否定できないけど。
全国各地の線量と降雨のグラフを時系列毎に比較すれば推定できるかも知れない・・・
けどそこまではやんない。
xively.comのGC-10のグラフにばっちり記録されてた。
普段は20cpm前後なのに一時は40cpm近くまで上昇していたらしい。
下の7daysのグラフがわかりやすい(xively.comのグラフは縦軸自動表示なので若干見辛い)。
atmc.jpのグラフでも同様の上昇が確認できる。
台風の左回りの渦に沿って福島からの気流が運ばれてそれが雨で着弾したんじゃないかと思う。
↓は15日21時くらいの衛星写真。
もっとも島根、福井、新潟あたりの原発の可能性も否定できないけど。
全国各地の線量と降雨のグラフを時系列毎に比較すれば推定できるかも知れない・・・
けどそこまではやんない。
2013年8月23日金曜日
RaspberryPI+GC-10復旧
RDPC-101用モジュール作成失敗によりカーネルモジュールを一切読み込まなくなったので、
結局、SDカード作成からやり直し。
スクリプトのバックアップはとってあったので短期間で復旧できた。
・・・RDPC-101はどうしたものか。
素直に組み込みカーネルパッケージ作成した方が良いのかも。
ヤレヤレ。
結局、SDカード作成からやり直し。
スクリプトのバックアップはとってあったので短期間で復旧できた。
・・・RDPC-101はどうしたものか。
素直に組み込みカーネルパッケージ作成した方が良いのかも。
ヤレヤレ。
2013年8月22日木曜日
USBラジオ RDPC-101(4) RaspberryPIでのカーネルモジュール作成・・・失敗
前回の記事で作成したカーネルモジュールの動作を確かめるべくRDPC-101をつないで見たところ、
のようなログがでた。どうも認識はしたらしい。
しかし/dev/を確かめてみたところ、/dev/radio0がない。
[ 49.058014] radio_rdpc101: disagrees about version of symbol module_layout
のところからして何か間違えたらしい。
ヤレヤレと思いつつひょっとしたらと再起動してみたら、
一切のモジュールを読み込めなくなった。
lsmodしてもひとつもモジュールが表示されない。
ネットワークなどはカーネル組み込みなので動作するもののGC-10のシリアルモジュールのデバイスが作成されない。
うーむ。困った。
とりあえずバックアップをとったけど、最悪SDカードの作り直しになるかも
[ 48.873982] usb 1-1.3.3.4: new full-speed USB device number 7 using dwc_otg [ 48.976675] usb 1-1.3.3.4: New USB device found, idVendor=10c4, idProduct=818a [ 48.976707] usb 1-1.3.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 48.976724] usb 1-1.3.3.4: Product: FM Radio [ 48.976737] usb 1-1.3.3.4: Manufacturer: SILICON LABORATORIES INC. [ 49.058014] radio_rdpc101: disagrees about version of symbol module_layout
のようなログがでた。どうも認識はしたらしい。
しかし/dev/を確かめてみたところ、/dev/radio0がない。
[ 49.058014] radio_rdpc101: disagrees about version of symbol module_layout
のところからして何か間違えたらしい。
ヤレヤレと思いつつひょっとしたらと再起動してみたら、
一切のモジュールを読み込めなくなった。
lsmodしてもひとつもモジュールが表示されない。
ネットワークなどはカーネル組み込みなので動作するもののGC-10のシリアルモジュールのデバイスが作成されない。
うーむ。困った。
とりあえずバックアップをとったけど、最悪SDカードの作り直しになるかも
2013年8月20日火曜日
磁気嵐による宇宙線増加の検出(2)
18日のフレアによるCMEで磁気嵐発生 -> 今日あたり宇宙放射線増加!?
ということでcpmグラフに注目していたのだけど、
むしろ微妙に下がっとる。
ということでcpmグラフに注目していたのだけど、
むしろ微妙に下がっとる。
宇宙放射線はたいして増加しなかったのか、SBM-20の精度では検出できなかったのか不明。
ということでより高感度で高価なパンケーキ型GM管が欲しくなったり。
・・・よくかんがえてみるとxivelyに上げてるのは1分間の移動平均を秒ごとに出力したものを、さらに60点で平均とったものだから、かなり丸められてるかも。
1分間の移動平均の秒ごとの出力の60点の最大値を出すべきだったのかも。スパイクが見たければ。
60点の平均と中間値ではどんな違いがあるかよくわからんが、外れ値を回避できるから中間値の方が良い?
うむ。わからん。
追記
1秒毎のcpmを記録したデータファイルから30cpmを超えた行数をカウントしてみた。
やっぱ減ってた。
ついでにこのグラフのgnuplotのコマンドとデータをメモがわりに公開しとく。
2013年8月18日日曜日
2013年8月14日水曜日
2013年8月7日水曜日
マントルによるGC-10動作テストとツイッター警告追加
GM管が動作しているか不安なのでマントルを購入してテストしてみた。
マントルには微量のトリウムが含まれているためガイガーカウンターが激しく反応するのでよくテストに使われるのです。
早速ラックの上に置いてみたところLEDが激しく明滅!!
マントルとGC-10との距離は5cm程度。5cmも離れてこの反応。
さすがはマントル。
GC-10のデータファイル上では400CPMを超えてた(サイトでは60秒平均で丸められて270CPM)。
というわけで結論。
GC-10は正しく動いている。
校正してないから絶対値としては怪しいけど。。。
あ、あと60秒平均で50CPMを超えたらツイートするようにしてみた。
マントルには微量のトリウムが含まれているためガイガーカウンターが激しく反応するのでよくテストに使われるのです。
早速ラックの上に置いてみたところLEDが激しく明滅!!
マントルとGC-10との距離は5cm程度。5cmも離れてこの反応。
さすがはマントル。
GC-10のデータファイル上では400CPMを超えてた(サイトでは60秒平均で丸められて270CPM)。
20130807211504 431 20130807211505 438 20130807211506 438 20130807211507 439 20130807211508 443 20130807211509 441 20130807211510 442 20130807211511 441 20130807211512 439 20130807211513 438 20130807211514 430 20130807211515 430 20130807211516 427 20130807211517 414
というわけで結論。
GC-10は正しく動いている。
校正してないから絶対値としては怪しいけど。。。
あ、あと60秒平均で50CPMを超えたらツイートするようにしてみた。
2013年8月3日土曜日
2013年8月2日金曜日
ログファイルをgoogleドライブにアップロード
「スクリプトまたはコマンドラインでGoogleドライブにファイルをアップロードする」を参考にgoogle-docs-uploadを利用してログファイルをgoogleドライブにアップロードする。
- cronで1日1回実行
- 現在時間から前日のログファイル名を決定してgoogleドライブにアップロード
スクリプトは例によってgistで公開。
2013年8月1日木曜日
1分毎にcpmと線量をtwitterとxively.comに送信
というわけでスクリプト作成。
スクリプト中のXMLがBloggerにエスケープされてしまうようなのでgistで提供。
https://gist.github.com/izumogeiger/6131907#file-avcpm-rb
よくわからない解説
cron設置。
ミッション完了。
スクリプト中のXMLがBloggerにエスケープされてしまうようなのでgistで提供。
https://gist.github.com/izumogeiger/6131907#file-avcpm-rb
よくわからない解説
- 現在時間からログファイルを決める
- ログファイルの最後60行の平均cpmを求める
- cpmを線量に換算する 換算係数は150らしぃ
- tweetする
- xively.comする
cron設置。
ミッション完了。
モニタリングポスト仕様/cpmロガー作成
さて材料が揃ったのでいよいよモニタリングポストを構築しよう。
例によって先人の記録(ガイガーカウンターキット GC10 データをグラフ化)を参考にして以下のようにしよう。
これで$HOME/gc10/2013/08/01.txtのようなファイルが延々とできる。
内容は
みたいな感じ。
さらに自動起動するようにしたいのでロックファイルを確認して既に実行中だったら終了するよう改造してcronで定時起動する作戦。
で、バージョン2
あとはcronの設定。
cronからrvmのrubyを実行するのに若干手間取ったができた。
/etc/cron.d/gc10loggerを以下の内容で作成。
みっしょんこんぷりーと
例によって先人の記録(ガイガーカウンターキット GC10 データをグラフ化)を参考にして以下のようにしよう。
- GC10のcpmをログファイルに記録
- 1分間隔でcpmと線量をtweet
- 1分間隔でxively.comにcpmと線量をアップロード
- 1時間隔でgnuplotでグラフ作成してブログにアップロード
- 1日間隔でログファイルをgoogleドライブにアップロード
時間間隔での動作はcronで動作させる。
というわけでまずは1.のロガー作成。
というわけでまずは1.のロガー作成。
バージョン1
# coding:utf-8
require 'pp'
require 'fileutils'
#require 'serialport'
class GC10Logger
def initialize
@sp = SerialPort.new('/dev/ttyUSB0',9600,8,1,0)
end
def get_cpm
line = @sp.gets("\n")
if /^\d+/ =~ line
return line.to_i
else
return nil
end
end
def run
loop do
cpm = get_cpm
now = Time.now
next unless cpm
dir = File.join(ENV["HOME"],"gc10",now.strftime("%Y"),now.strftime("%m"))
file = File.join(dir,now.strftime("%d")+".txt")
FileUtils.mkdir_p(dir)
mode = File.exists?(file) ? "a" : "w"
File.open(file,mode) do |io|
out = "#{now.strftime("%Y%m%d%H%M%S")}\t#{cpm}"
io.puts out
end
end
end
end
gc10 = GC10Logger.new
gc10.run
これで$HOME/gc10/2013/08/01.txtのようなファイルが延々とできる。
内容は
20130801212453 25 20130801212454 24 20130801212455 24 20130801212456 24 20130801212457 23 20130801212458 23 20130801212459 23 20130801212500 22
みたいな感じ。
さらに自動起動するようにしたいのでロックファイルを確認して既に実行中だったら終了するよう改造してcronで定時起動する作戦。
で、バージョン2
# coding:utf-8
require 'pp'
require 'fileutils'
require 'serialport'
class Locked < StandardError
end
def lock(lock_file_path='/tmp/gc10lock')
File.open(lock_file_path, 'w') do |lock_file|
if lock_file.flock(File::LOCK_EX|File::LOCK_NB)
yield
else
raise Locked
end
end
end
class GC10Logger
def initialize
@sp = SerialPort.new('/dev/ttyUSB0',9600,8,1,0)
end
def get_cpm
line = @sp.gets("\n")
if /^\d+/ =~ line
return line.to_i
else
return nil
end
end
def run
loop do
cpm = get_cpm
now = Time.now
next unless cpm
dir = File.join(ENV["HOME"],"gc10",now.strftime("%Y"),now.strftime("%m"))
file = File.join(dir,now.strftime("%d")+".txt")
FileUtils.mkdir_p(dir)
mode = File.exists?(file) ? "a" : "w"
File.open(file,mode) do |io|
out = "#{now.strftime("%Y%m%d%H%M%S")}\t#{cpm}"
io.puts out
end
end
end
end
begin
lock do
gc10 = GC10Logger.new
gc10.run
end
rescue Locked
puts "already running..."
exit 0
end
あとはcronの設定。
cronからrvmのrubyを実行するのに若干手間取ったができた。
/etc/cron.d/gc10loggerを以下の内容で作成。
* * * * * pi /home/pi/.rvm/bin/ruby /home/pi/scripts/gc10logger.rb
みっしょんこんぷりーと
2013年7月31日水曜日
RaspberryPIからtweetする
例によってこのあたりから情報を得る。
twitterのatokenの取得やなんかはブログの内容が参考になるが、
twitter gemについては最新版とはAPIが全然違うらしく結局公式サイトを参考に。
# encoding:utf-8
require 'twitter'
Twitter.configure do |config|
config.consumer_key = 'XXXXXXXXXXXXXXXXXXXXX'
config.consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'
config.oauth_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
config.oauth_token_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
end
Twitter.update("tweet from RaspberryPI")
でけた。
2013年7月29日月曜日
RubyでGC10のcpmを取得
Ruby失敗日記: Ruby-serialportでシリアル通信というそのものずばりなサイトを参考にしてRubyでGC10のcpmを取得しよう。
まずはRVMでRubyをインストール。
% curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
そしたら
% gem install serialport
それで参考サイトのソースをちょびっと変更。
とれた。
次はtwitterボット作成。
RaspberryPIはまだ届いてない。
まずはRVMでRubyをインストール。
% curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
そしたら
% gem install serialport
それで参考サイトのソースをちょびっと変更。
# encoding:utf-8
require 'serialport'
#シリアルポート通信設定
$serial_port = '/dev/ttyUSB0'
$serial_baudrate = 9600
$serial_databit = 8
$serial_stopbit = 1
$serial_paritycheck = 0
$serial_delimiter = "\n"
sp = SerialPort.new($serial_port, $serial_baudrate, $serial_databit, $serial_stopbit, $serial_paritycheck)
sp.read_timeout=1000 #受信時のタイムアウト(ミリ秒単位)
##送信(例えばこんな感じ)
#sp.puts "ARM:COUNt 1#{$serial_delimiter}"
#sp.write "INIT#{$serial_delimiter}"
#受信(例えばこんな感じ)
#デリミターを引数として渡しておくとgetsはデリミターが受信されるまで
#あるいは設定されたタイムアウトになるまで待ちます
puts line = sp.gets("#{$serial_delimiter}")
#あとは受信された内容を解釈するだけ
#シリアルポートを閉じる
sp.close
おもむろに実行% ruby gc10.rb 17
とれた。
次はtwitterボット作成。
RaspberryPIはまだ届いてない。
UbuntuでGC10とシリアル通信
minicomという端末ソフトでシリアル通信をする。
-Dの部分はデバイス名。
ユーザがdialoutグループに所属しとく必要あり。
Ctrl-A pで通信パラメータを設定。
ここではC: 9600を選択。
Ctrl-A oで設定を開いてシリアルデバイスを設定する。
ここでF:ハードウェア流れ制御をいいえに設定する。
これをしないとコマンド入力ができない。
Enter Enterで設定を終了すると、CPMが流れ始める。
showなどのコマンドを打つと返答がある。
コマンド一覧はこちら
http://izumogeiger.blogspot.jp/2013/07/gc10.html
次回はRubyをつかってcpmをtweetするボットを製作しようの巻
% minicom -D /dev/ttyUSB0
-Dの部分はデバイス名。
% ls -la /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 7月 29 20:10 /dev/ttyUSB0
ユーザがdialoutグループに所属しとく必要あり。
Ctrl-A zでマニュアル表示する。
Ctrl-A pで通信パラメータを設定。
ここではC: 9600を選択。
Ctrl-A oで設定を開いてシリアルデバイスを設定する。
ここでF:ハードウェア流れ制御をいいえに設定する。
これをしないとコマンド入力ができない。
Enter Enterで設定を終了すると、CPMが流れ始める。
showなどのコマンドを打つと返答がある。
http://izumogeiger.blogspot.jp/2013/07/gc10.html
次回はRubyをつかってcpmをtweetするボットを製作しようの巻
2013年7月28日日曜日
GC10作成
ガイガーカウンター自作キットGC10(http://www.netiodev.com/GC10/jne.cgi)でモニタリングポストを作成する計画。
で、まずはGC10を作成。
早速LCDのピンヘッダーの指す方向を間違えてLCDが接続できない。
ピンヘッダーはずすのも難しいのでLCDは断念。
とりあえずシリアル通信USBモジュールはうまく動いているのでよしとする。
USB5V電源が使えるとあったので、ポータブルハードディスクについてた電源用USBケーブルを分解して接続したらうまく動作した。
で、まずはGC10を作成。
早速LCDのピンヘッダーの指す方向を間違えてLCDが接続できない。
ピンヘッダーはずすのも難しいのでLCDは断念。
とりあえずシリアル通信USBモジュールはうまく動いているのでよしとする。
USB5V電源が使えるとあったので、ポータブルハードディスクについてた電源用USBケーブルを分解して接続したらうまく動作した。
登録:
投稿 (Atom)





.png)
.png)
.png)
.png)
.png)


.png)


















