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")




でけた。



RaspberryPIセットアップ

リモートで使えるようになったので早速セットアップ。

apt-get updateとかやった感じだとやっぱり遅い。

定番のlv,w3m,wget,vimあたりを入れて。

それからrvmでrubyのセットアップ

% curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
略
ruby-1.9.3-p448 - #extracted to /home/pi/.rvm/src/ruby-1.9.3-p448
ruby-1.9.3-p448 - #configuring.............................................................................................................................................................................................................................................................................................................................................................................................................................................................
ruby-1.9.3-p448 - #compiling............................................................................................................................................................................................

。。。コンパイルが凄まじく遅い。

普通のデスクトップとのCPUパワーの差を感じる。

 つうか終わらん。。。 結局、1時間近くかかった。 

そういや高速なSDカード使わないと遅いとどこかで見たような。。。
そのせいなのか。

% gem install twitter serialport
して終了。

2013年7月30日火曜日

RasberryPI到着

RaspberryPI到着。だが電源をつなぐUSBケーブルがなく何もできない。。。(´・ω・`) ショボーン



とおもったのだが、よく探したらあった。☆-(ノ゚Д゚)八(゚Д゚ )ノイエーイ

よくなにかとお世話になる橋本商会さんの記事を参考にセットアップ開始じゃ。

よっし。なんかddできたっぽい。

RaspberryPI起動!!

ってやっぱUSB電源ケーブルない。オスメスの延長ケーブルしかなかった。
必要なのはオスオスだけどなーい。ガ━━(;゚Д゚)━━ン!!

ゲームセット

と思いきや、思いっきり勘違いしてた。USB電源はインタフェース用とは別にあって普通のスマホ用とかのマイクロUSBの口があったのだ。

あぶないあぶない。

危うく一般には売ってないUSB AAケーブルを求めて彷徨うところだった。

ていうか実際に電気屋にいった。なかった。。。

で、電源つないで。。。今度こそ起動。

動かん!!

どうやらSDカードのセットアップをしくってたらしい。
橋本商会さんのはマカー用だったけど同様の手順でいけるかなー思ってたらダメだった。
デバイス名が違ってた。。。

以下のUbuntu用

http://n00blab.com/how-to-create-raspberry-pi-sd-card/

を参考にやり直し。

で、起動。。。ようやく動いた。

やれやれだぜ。

メニューでファイルシステムを拡張したり、ロケール追加したり、TimeZone変えたりして終了。

あとはsshでリモートでやる。

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

それで参考サイトのソースをちょびっと変更。

# 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という端末ソフトでシリアル通信をする。


% 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 シリアル通信プロトコル

http://www.netiodev.com/GC10/jne.cgi?page:60=v

Re: 線量率グラフ - pelorymate 2011/07/15(Fri) 12:49 No.38
シリアルの速度は 9600 bps です。
起動すると 1秒おきに CPM値が送信されてきます。

制御コマンド[小文字であること]

stop CPM送信を停止する
go CPM送信を開始する
show 設定値を参照する
set 設定値を変更する 書式 set param=値
save 設定値をEEPROMに保存する

設定可能なパラメータの種類
 ttc トータル検出数
 gms ガンマ線感度係数
 atc アラームがONになるCPM値
 hvg 電圧調整値

例)
set gms=200
  ガンマ線感度係数を 200 [cpm/uSv/H] に変更
set atc=300
  300CPMをオーバーしたときにアラームを鳴らす
set ttc=0
検出数カウンタを 0 にセットする
set snd=off
  スピーカーをOFFにする

gms, atc, snd の設定値は、
saveコマンドで EEPROMに保存され、
再起動時には 設定した値で起動します。

http://www.netiodev.com/GC10/gmt_tester.pde

amazonアソシエイト