LoginSignup
3
3

More than 5 years have passed since last update.

BluemixでRaspberryPi2のセンサーデータを拾う (2)センサーを付けてデータを拾う 温度センサーデジタル編

Last updated at Posted at 2015-09-29

概要

BluemixのRaspberryPi登録レシピに登場するデバイス用のsampleプログラムは、どんなにセンサーがたくさん付いていようが固定の4項目のデータのみをBluemixに送信する作りになっている。

Raspberry Pi 2にセンサーを付け加えて固定4項目以外のデータをBluemixで取得するには、sampleプログラムのソースコードを修正してビルドすれば良い。その方法を整理する。

整理している内に長くなってきたので、(1)Sampleプログラムの仕組みの整理と(2)どこをどのように変更すればよいのかを分けることにした。

(1) 仕組みの理解
(2) センサーを付けてデータを拾う 温度センサーデジタル編(これ)
(3) センサーを付けてデータを拾う 温度センサーアナログ編
(4) センサーを付けてデータを拾う 温度センサーデジタル編(リベンジ)
(5) センサーを付けてデータを拾う 温度・湿度・気圧まとめて採取編
番外編 『ムック「日経Linux ラズパイマガジン 2015年春号 」電子工作入門キット パーツセット』に入っていたもの

センサーの選定

手元にあるセンサーは次の2つのみ。
電子工作素人の私の評価は以下の通り。

センサー 入出力 Raspberry Pi 2との通信 特徴 評価
温度センサー
LM35DZ
アナログ A/D変換器を用いてデジタル(SPI) 良)とくになし
悪)構成が複雑
I2C対応温度センサー
(ADT7410使用)
デジタル デジタル(I2C) 良)構成がシンプル
悪)はんだ付けが必要?

「どちらが手っ取り早くできそうか?」という観点で評価した結果、まずは「はんだ付けなしでも大丈夫なのでは?」という淡い期待を持って「I2C対応温度センサー(ADT7410使用)」を使うこととした。

回路(ネタ)

ムック「日経Linux ラズパイマガジン 2015年春号 」第3部 はじめての電子工作ステップ50の内、「No.21 I2Cを有効にしてアドレスをチェック 温度センサーを読んでみよう」に記載されている回路でやってみる。

掲載されていた図(Excelで作図)
温度を測定するための回路.png

回路(設計)

元ネタの図の通りにFritzingで作ってみた。
ADT7410のパーツはここからから入手して、Fritzingにインポートした。
https://github.com/MozOpenHard/examples/blob/master/i2c-ADT7410/ADT7410.fzz
温度を測定するための回路2.png

回路(実装)

Fritzingで作った絵の通りにつなげてみた。
ADT7410は、はんだ付けせずに乗せてあるだけ。
温度デジタル_回路(実装).jpg

Raspberry Pi 2上で温度を読んでみる

作業はRaspberry Pi 2にログインして行う。
実行時ユーザは次の通り
$ : pi
# : root

  1. 設定ファイルの退避
    # cd /etc/
    # cp -p modules modules.`date +%Y%m%d`_1

  2. 設定ファイル修正(1つ目)
    # vi /etc/modules
    末尾に以下の行を追加する
    i2c-dev

  3. 設定ファイル修正(2つ目)
    # vi /etc/modprobe.d/raspi-blacklist.conf
    以下の行を先頭に#を付けてコメントアウトする
    # blacklist i2c-bcm2708
    という手順らしいのだが、私の場合はこのファイル「/etc/modprobe.d/raspi-blacklist.conf」が無かった。
    その場合は↓raspi-configコマンドで設定するらしい。
    http://qiita.com/takuya-andou/items/ba257d9df1b7e9e31369

  4. raspi-configから設定するとどうなったのかを一応確認しておく
    $ cd /etc/modprobe.d/
    $ ll
    ファイル生成された.png
    ファイルは生成されたが0バイトだった。
    したがって、コメントアウト状態と同じと判断しそのままにした。

  5. i2c用ツールのインストール
    # apt-get -y install i2c-tools

  6. Raspberry Pi 2 再起動
    # reboot

  7. デバイスのアドレス確認
    # i2cdetect -y 1
    アドレス表示されない.png
    アドレスが表示されるはずが、表示されていない。。。
    やはりはんだ付けが必要なのだろう。
    ということで次は構成が複雑になりそうだけどアナログでチャレンジする。

続き

(3) センサーを付けてデータを拾う 温度センサーアナログ編

環境

Raspberry Pi 2 Model B
Raspbian

参考

Fritzingダウンロード
http://fritzing.org/download/

Fritzing用のADT7410のパーツ
https://github.com/MozOpenHard/examples/blob/master/i2c-ADT7410/ADT7410.fzz

raspi-blacklist.confが無いときの対処
http://qiita.com/takuya-andou/items/ba257d9df1b7e9e31369

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3