Raspberry Pi 2とRubyで温度モニター

200 views
Skip to first unread message

jscripter

unread,
Mar 29, 2015, 4:29:45 AM3/29/15
to tsnet_...@googlegroups.com
ご無沙汰しています。

IoTの時代、自分で試せる環境が整ってきましたので、ようやく踏み込んでみました。更新日記にLEDを点滅させるところまでは少し書いています。

表題の件は、残念ながらRubyのスクリプトがループに入っても何も出力されません。スクリプトを実行してもプロンプトは点滅しない。ctrl-Zで停止させることになります。

方法としては、下記の最初の記事がベースになるのですが、二つの目の記事までは、Raspberry PiとRubyを実際には使っていて、二つ目の記事は最初の記事を参照していて、細部は違いますが、基本的に同一だと思います。

三つめの記事はRaspberry Pi2を使っています。温度センサーは同じように見えますが、ADコンバータが違い、GPIOの制御にはPythonを使っています。

Raspberry Piで温度センサー。部屋の気温を取得しよう - Raspberry Pi 電子工作

Raspberry Piで部屋の気温をモニタリンクさせてみた: EeePCの軌跡

Raspberry pi 2 + 温度センサー(MCP9700)=継続的にデータを取得する(配線編) - 日記とか、工作記録とか
ラズパイでセンサーのデータを継続的に記録する(ソフトウェア編) - 日記とか、工作記録とか

spiを使うための設定は、PiとPi2異なることが、三つ目の記事にあり、その設定までは到達しています。spiのドライバも記事にあるように存在しています。

Rubyのスクリプトはエラーを出すわけでもないので、ADコンバータや温度センサーなどが壊れているのかなど、その他、何が問題なのかをチェックしたいのですが、お知恵を拝借したいのです。もちろん、pi_piperなどのモジュールはインストールされています。gem listで確認済みです。

よろしくご指導ください。

jscripter

unread,
Mar 29, 2015, 8:01:32 AM3/29/15
to tsnet_...@googlegroups.com
今回。Raspberry Pi 2購入関連で取り揃えたものは下記の通り。

Amazon.co.jp: Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear): パソコン・周辺機器

Amazon.co.jp: Raspberry Piスターターパック (Pi2 用Standard): パソコン・周辺機器

Amazon.co.jp: ハック ラズベリーパイ Raspberry Pi 電子工作入門キット。: パソコン・周辺機器

 

Zazel

unread,
Apr 15, 2015, 11:58:31 AM4/15/15
to tsnet_...@googlegroups.com
Zazelです。
いろいろ忙しくて半月前のメールをやっと読んでます。

On 2015/03/29 17:29, jscripter wrote:
> spiを使うための設定は、PiとPi2異なることが、三つ目の記事にあり、その設定までは到達しています。spiのドライバも記事にあるように存在しています。

この元記事を書いた人もSPIの信号線に関する知識がないので、信用できるのか
怪しいような気もしますが、そこはおいといて。

# 他にもプルアップ抵抗がないけどマイコン側で設定してるのかとか。

LEDチカチカの次にSPIでは難度を上げ過ぎではないでしょうか。SPIは機器に
よって癖があるので、初めてならばマイコン同士で通信してみるあたりから
始めないとわけわからん状態になって当然だと思います。最悪オシロが
必要な状況もあるので。

デジタル出力ON/OFFの次はデジタル入力ON/OFFへと地道に積み上げないとね。
普通にスイッチ繋いで読んでみるあたりからで、それからUSART→I2C→SPI
のようにしてステップアップしていくのが結局は近道だと思います。

# スイッチ読むのでさえ、チャタリングとか考えることは様々あります(^_^)

jscripter

unread,
Apr 16, 2015, 7:42:48 AM4/16/15
to tsnet_...@googlegroups.com
jscripterです。毎度お世話になります。コメントありがとうございます。お忙しいところ恐縮です。

配線自体は、実質的に一緒ですが、1番目と2番目の記事を試しています。ADコンバータが同じだからです。3番目の記事はSPIの設定ほ参考にしただけで、ADコンバータが異なるので、そのADコンバータを入手してから試そうかと思いながら、配線も今一つよくわからないので、その前に質問してみようと思いました。

LEDチカチカを試したのは、うまく温度センサーが動かないから、Raspberry Pi2に問題がないかどうかを試したんです。悪い癖で、実用的なものにしか興味がないので、LEDチカチカなんてと思ったのですが。電子工作も触ってみると意外と手強いですね。

次はタクトスイッチを試してみましょうかね。部品がありますから。

オシロを使える、あるいは使うようなレベルに到達したいところですが・・・

2015年4月16日木曜日 0時58分31秒 UTC+9 Zazel:

Zazel

unread,
Apr 17, 2015, 8:04:15 AM4/17/15
to tsnet_...@googlegroups.com
Zazelです。

On 2015/04/16 20:42, jscripter wrote:
> LEDチカチカを試したのは、うまく温度センサーが動かないから、Raspberry
> Pi2に問題がないかどうかを試したんです。悪い癖で、実用的なものにしか興味がないので、LEDチカチカなんてと思ったのですが。電子工作も触ってみると意外と手強いですね。

すべて揃っているキットならばそれでもいいけど、回路設計からのような
ものなのである程度は基礎から必要になってしまうでしょう。

センサーにしてもアナログな電圧出力から電流出力・デジタル出力と進んで
いくのが無難ではあるのだけど、モチベーションが保てないと意味ないし
難しいなあ。……と思って調べたらRaspberry Piはアナログ入力を扱えない
のですね。

こうなると、Rubyに関してはデバッガーを使うしかないのではないでしょうか。
でもそこまで踏み込むとかなりややこしくなりそうです。
私ならば潔く諦めてC/C++言語で試すでしょう。

# 以上、Pi_Piperの情報が少なくて詳細がわからないので、
# http://www.myu.ac.jp/~xkozima/lab/raspTutorial3.html
# の情報を元にしてみました。

jscripter

unread,
Apr 17, 2015, 6:02:29 PM4/17/15
to tsnet_...@googlegroups.com
続けてありがとうございます。

Raspberry PIは、GPIOインターフェースを持ったPCですね。RaspbianというLinuxで今は動かしていますが、既にFirefox OSもあるようですし、Windows 10も提供されるという話もあります。microSDカードから起動するので、差し替えれば、様々なOSで起動できるのではと思います。

ただ、Arduinoのようなマイコンのようにアナログ入力は取り扱えません。

Raspberry PIが来たから動かしてみた+とりあえずArduinoとお話して - midohajiフォト

のような記事もあるので、Arduinoもいずれ試してみたいと考えています。Raspberry PIを最初に検討している理由はWebサーバーとして使えるからです。

しかし、GPIOのRaspbianの設定とGPIOポートへのブレッドボードの回路の接続がミスマッチだと、Raspbian起動時にエラーが延々とグルグル回って起動できなくなります。結局、その時は電源を引っこ抜いたのですが、今考えるとブレッドボードの接続をはずせば起動できたのかもしれません。

まあ、そういうことで、経験を少しずつ積んでいます。

LEDチカチカは、PythonのIDLEでプログラムを書いて、IDLEからプログラムを起動するという方法を使ったのですが、大変スマートな感じで使えて、素晴らしいものだなと思いました。この使い方がRaspberry PIの標準なのです。前のメールの三番目の事例はPythonで動かしていたと思いました。

-----^
# 以上、Pi_Piperの情報が少なくて詳細がわからないので、 
http://www.myu.ac.jp/~xkozima/lab/raspTutorial3.html 
# の情報を元にしてみました。 
-----$

なるほど、C/C++ですか。ハードウェアを本格的にやろうと思えばこういうことになるんでしょうね。また、視野が拡がりました。ありがとうございます。

Pi_PiperをRaspberry Piで動かしている人がいるわけですから、動くはずとは思うのですが・・・Pi_PiperがRaspberry Pi2で動くかどうかをまず点検かもですね。

本当はPerlで動かしたいのですが・・・

Perl and Raspberry Pi: Install

がありますね。

ぼちぼち、勉強します。そのうち、何か日記に書くでしょう。

2015年4月17日金曜日 21時04分15秒 UTC+9 Zazel:

jscripter

unread,
Apr 17, 2015, 8:11:07 PM4/17/15
to tsnet_...@googlegroups.com
-----^
Pi_PiperをRaspberry Piで動かしている人がいるわけですから、動くはずとは思うのですが・・・Pi_PiperがRaspberry Pi2で動くかどうかをまず点検かもですね。
-----$

について、検索してみました。もう、以前調べていたかも^^;)

Ruby - Raspberry Pi 2 で pi_piper が動かない→そんなことはなかった - Qiita

これぐらいから確認してみてもよいですね。

2015年4月18日土曜日 7時02分29秒 UTC+9 jscripter:

jscripter

unread,
Apr 17, 2015, 8:22:05 PM4/17/15
to tsnet_...@googlegroups.com
RaspberryPi - Raspberry Pi + ruby + pi_piper + MCP3208でSPI通信 / アナログ入力 - Qiita
http://qiita.com/github0013@github/items/9b7fd5f54a62d4a64c2f

にSPIの有効化の話があるけど、もう一度、Pi2の場合を確認する必要があるかも・・・

2015年4月18日土曜日 9時11分07秒 UTC+9 jscripter:

jscripter

unread,
Apr 17, 2015, 8:46:56 PM4/17/15
to tsnet_...@googlegroups.com
Raspberry Pi メモ (39) Raspberry Pi2 始動

Raspberry Pi メモ (40) Raspberry Pi2 の互換性

Raspberry Pi メモ (37) Java8 プログラミング
http://www.mztn.org/rpi/rpi37.html#bench

このサイトはかなり本格的な感じ。高速化のためにはJavaやアセンブラも選択肢らしい・・・標準でLuaもあるけど、もちgccも。

2015年4月18日土曜日 9時22分05秒 UTC+9 jscripter:

jscripter

unread,
Apr 17, 2015, 9:04:22 PM4/17/15
to tsnet_...@googlegroups.com
Raspberry Pi メモ (42) Raspberry Pi2 の非互換性

この中に、GPIOの低レベルのコントロールに非互換性があるという話があります。以前にも読んだことはあるのですが、今のPi_Piper/Rubyの問題と関連があるのかどうかまではわかっていません。

2015年4月18日土曜日 9時46分56秒 UTC+9 jscripter:

Zazel

unread,
Apr 17, 2015, 11:43:47 PM4/17/15
to tsnet_...@googlegroups.com
Zazelです。

On 2015/04/18 10:04, jscripter wrote:
> Raspberry Pi メモ (42) Raspberry Pi2 の非互換性
> http://www.mztn.org/rpi/rpi42.html
>
> この中に、GPIOの低レベルのコントロールに非互換性があるという話があります。以前にも読んだことはあるのですが、今のPi_Piper/Rubyの問題と関連があるのかどうかまではわかっていません。

データシート等を読む限り、SPIはハードウエア制御でデバイスドライバ経由で
使用していると予想されるので、非互換性はOSが吸収していると思います。
使用ピンの違いはボードのシルク印刷(MOSI, MISO, SCLK, CE0と書いてある)と
合っていれば問題無いでしょう。

SPIの動作を理解できれば、それこそ低レベルアクセスでSPIのハードウエアを
直接叩いたり、まったく違うピンのON/OFFでもSPI通信ができますけどね。

jscripter

unread,
Apr 18, 2015, 9:37:29 PM4/18/15
to TSNET
コメントありがとうございます。

Pi B+以降、Pi2 BもGPIOのピン数が26から40に増えています。Pi_Piperを使っているのがすべて26ピンの事例なのですね。

jwhitehorn/pi_piper · GitHub

を、今調べてみると1年以上、昨年の2月から更新されていないですね。Pi B+は昨年の8月ぐらいに出ているので・・・それぐらいが心配なことになりますか。26番のピンまでは互換性はあると思っていたのですが・・・

一応、回路配線上は問題ないはずですし^^;)

三番目の事例は、Pythonを使って、Pi2で温度センサーを動かしているので、そちらからアプローチしてみます。こちらは回路に合わせて、自分である程度プログラミングする必要はありますが^^;)


2015年4月18日 12:43 Zazel <zaz...@gmail.com>:

--
このメールは Google グループのグループ「TSNET」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには tsnet_member...@googlegroups.com にメールを送信してください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

Reply all
Reply to author
Forward
0 new messages