さて、次はraspberry piにTMP102を繋いでみます。
1) I2Cデバイスを扱えるようにする
ここを参考にさせていただきました。
1.1) /etc/modulesに以下一行を追加
i2c-dev
1.2) /etc/modprobe.d/raspi-blacklist.confで以下一行をコメントアウト
blacklist i2c-bcm2708
1.3) 再起動
1.4) 以下にてモジュールが組み込まれていることを確認
$ dmsg | grep i2c
1.5) i2cツールのインストール
$ sudo apt-get install i2c-tools
2) TMP102の接続
2.1) Revの確認
Rev1とRev2ではGPIOピンの配列が若干違うため、念のために確認しておく。確認方法は、こことここを参考にした。
私のは、ねじ止めの穴が開いてることから、Rev2であることが確認できた。またメモリが512MBなので、Rev2確定。
ちなみにcpuinfoは、
Hardware : BCM2708
Revision : 000d
でした。
2.2) ピン接続
ここや本を参考にピン配置を確認。
ちなみにワイヤーはArduinoがオス-オスに対して、raspberry piはメス-オス。同じなら出費が減らせたのだが。。。
あと、GPIOはSoCに直結とのことで、静電気には注意が必要と聞いているので、金属物にタッチ。
こんな感じ?

3) 動作確認
再度起動後、動作確認。またまた、ここを参考にさせていただいてます。
3.1) i2cレベルでの動作確認
pi@raspberrypi:~$ sudo i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
ちゃんと0x48と出ています。
ここで1点補足。参考元のサイトでは、コマンドが"sudo i2cdetect 0"となっています。
最初はそのままコマンド打ってみたところ、アドレスが表示されず、接続間違えた?と焦りました。
i2cdetect -hでヘルプをみたことろ、-lというオプションを見つけたので打ってみる。
pi@raspberrypi:~$ sudo i2cdetect -l
i2c-0 i2c bcm2708_i2c.0 I2C adapter
i2c-1 i2c bcm2708_i2c.1 I2C adapter
あぁ、I2Cが2つあるのに気付く。手元の本でピン配列を再度確認すると、接続してるのはi2c-1の方でした。
ちなみにRev1では両方ともi2c-0でした。
3.2) 値取得
参考先のシェルスクリプトを使用させていただきました。
ここでも注意。アドレスが 0x49 -> 0x48、i2cが 0 -> 1 なので、i2cgetのパラメータは以下になります。
sudo i2cget -y 1 0x48 0x00 w
2行あるので変更忘れずに。
pi@raspberrypi:~$ ./tmp102.sh
30.5625
値がとれました :-)
本日は、以上!
1) I2Cデバイスを扱えるようにする
ここを参考にさせていただきました。
1.1) /etc/modulesに以下一行を追加
i2c-dev
1.2) /etc/modprobe.d/raspi-blacklist.confで以下一行をコメントアウト
blacklist i2c-bcm2708
1.3) 再起動
1.4) 以下にてモジュールが組み込まれていることを確認
$ dmsg | grep i2c
1.5) i2cツールのインストール
$ sudo apt-get install i2c-tools
2) TMP102の接続
2.1) Revの確認
Rev1とRev2ではGPIOピンの配列が若干違うため、念のために確認しておく。確認方法は、こことここを参考にした。
私のは、ねじ止めの穴が開いてることから、Rev2であることが確認できた。またメモリが512MBなので、Rev2確定。
ちなみにcpuinfoは、
Hardware : BCM2708
Revision : 000d
でした。
2.2) ピン接続
ここや本を参考にピン配置を確認。
ちなみにワイヤーはArduinoがオス-オスに対して、raspberry piはメス-オス。同じなら出費が減らせたのだが。。。
あと、GPIOはSoCに直結とのことで、静電気には注意が必要と聞いているので、金属物にタッチ。
こんな感じ?

3) 動作確認
再度起動後、動作確認。またまた、ここを参考にさせていただいてます。
3.1) i2cレベルでの動作確認
pi@raspberrypi:~$ sudo i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
ちゃんと0x48と出ています。
ここで1点補足。参考元のサイトでは、コマンドが"sudo i2cdetect 0"となっています。
最初はそのままコマンド打ってみたところ、アドレスが表示されず、接続間違えた?と焦りました。
i2cdetect -hでヘルプをみたことろ、-lというオプションを見つけたので打ってみる。
pi@raspberrypi:~$ sudo i2cdetect -l
i2c-0 i2c bcm2708_i2c.0 I2C adapter
i2c-1 i2c bcm2708_i2c.1 I2C adapter
あぁ、I2Cが2つあるのに気付く。手元の本でピン配列を再度確認すると、接続してるのはi2c-1の方でした。
ちなみにRev1では両方ともi2c-0でした。
3.2) 値取得
参考先のシェルスクリプトを使用させていただきました。
ここでも注意。アドレスが 0x49 -> 0x48、i2cが 0 -> 1 なので、i2cgetのパラメータは以下になります。
sudo i2cget -y 1 0x48 0x00 w
2行あるので変更忘れずに。
pi@raspberrypi:~$ ./tmp102.sh
30.5625
値がとれました :-)
本日は、以上!