Posts on SEN-11345

DIYガイガーカウンタ製作日記その3。

DIYガイガーカウンタ製作日記その2の続き。 事あるごとに線量計で家の周りを測るの、メンドくさいんですよね。 勝手に計測してくれて、リアルタイムに自動的にグラフ化してくれて、線量が上限の閾値を超えたら警告してくれる線量計があると、楽に安心して生活できるなぁ…。 リアルタイムに可視化した空間線量データ そんな動機で作り始めて、リアルタイムに可視化するとこまで完成。 Safecastにデータ提供するだけだと、他の大量の観測データに埋もれてしまうのと、特定地点の線量の増減がよく分からないので、お馴染みXivelyを使います。データ量によらず無料なのが良い。 KeenIOのライブラリを使うと簡単に綺麗なグラフが描けるんですが、月当たりの送信可能データ量上限が決まっているので、今回は泣く泣く諦めることに。 コードの解説 Xivelyにデータ送信する部分のコードは以下です。実際は自前のevent trigger/handlerを間に挟んでいますが、送信部のみ抜粋しました。 class XivelyEventHandler(IEventHandler): """ The instance should be registered to event trigger for data update. This uploads any data to xively cloud service. Args: api_key: API key ID provided by xively.…

DIYガイガーカウンタ製作日記その2。

DIYガイガーカウンタ製作日記その1の続き。 前回はSparkfun製ガイガーカウンタから得たcpm値をuSv/hに変換してprintするとこまでだったので、今度はこれをSafacast API経由でSafecastサーバに送信してみます。 検討は過去記事空間放射線量データを公開しているSafecast。REST API経由で定点観測データを自動送信するには?でほぼ完了しているので、あとは組み合わせるだけです。 import requests from datetime import datetime from serial import Serial # Sparkfunガイガーカウンタを接続したシリアルポートを開く port = Serial("/dev/tty.usbserial-AK05C8NQ", baudrate=19200) while True: # cpm値の部分だけ抜き出す cpm = int(port.readline().decode("ascii").split()[0]) # uSv/h換算 usv = cpm * 0.00812 print("{:.2f}[uSv]".format(usv)) # 計測した線量値をSafecastのHPから登録する際のやり取りをgoogle chromeでキャプチャした結果を使う data = { "measurement[…

DIYガイガーカウンタ製作日記その1。

sparkfunにて購入。人生初の個人輸入です。 ガイガーミュラー菅にLND-712を採用したやつになります。 決済したあとで、sparkfunから調査というか、質問が飛んできました。 「何の目的で本製品を購入したのか?」「自分以外の誰かに譲渡する予定はあるか?」なとなど。 raspberry pi zeroを買ったときは何も聞かれませんでしたが、発生源ではないにせよ、放射線が絡むと輸出入の規制が厳しいのかな。 で、無事届いた製品の外観がこれ。 自宅に定点観測所が欲しいと、かなり以前から考えていたこともあり・・・ 空間放射線量データを公開しているSafecast。REST API経由で定点観測データを自動送信するには? Raspberry Pi Zeroセットアップでするべき事4つ。 SparkFunのSEN-11345をcpm単位で空間線量を返すように修正してみる。ついでに、OSXでmakeする環境整備も。 早速仮組みして、超簡易的にですが、完成してしまった。 上の記事の通り、ガイガーカウンタにはcpm(カウント毎秒)単位で計測データを返すように修正したソフトを書き込み済みなので、USBシリアル経由で出力するその文字列をPythonで少し加工してuSv/h単位に変換してやる、というコードです。 from serial import Serial port = Serial("/dev/ttyUSB0", baudrate=19200) while True: cpm = int(port.readline().decode(…