先日,東京に行った時に何故か 1-Wire の温度センサを衝動買いしました.自分の力で扱えるかどうかも調べずに….
家に帰ってきて調べたらどうやら Raspberry Pi で簡単に扱えるそうで,今回はそれで動かしてみることにしました.
温度センサは Maxim の DS18B20+ です.
デジタル温度センサ(1wire)DS18B20+: センサ一般 秋月電子通商 電子部品 ネット通販
1-Wire と呼ばれるプロトコルで通信するデジタル温度センサで,最小で GND と他 1 本の計 2 本の線で接続できるそうです. Raspberry Pi で扱うにあたり,以下のサイトを参考に,というかぱk(ryさせていただきました.ありがとうございます.
RaspberryPI DS1820 – Webshed
RasPiで1-wire温度計を使ってみよう – @SRCHACK.ORG(えす・あーる・しー・はっく)
配線は参考にしたウェブサイトの通り,温度センサの 1 番, 2 番, 3 番をそれぞれ Raspberry Pi の 6 番, 7 番, 1 番につなぎ,温度センサの 2 番と 3 番の間に 4.7k の抵抗を入れる感じですかね. Raspberry Pi の GPIO については以下のサイトが参考になると思います.
RPi Low-level peripherals – eLinux.org
まあそんなこんなで接続した写真です.
気温を測りたかったので,温度センサ自体は線で外に伸ばしてます.まあ,この線どう見ても LAN ケーブルから取り出したものですw線は 3 本使ってます.
センサ自体はこんな感じ.
自己融着テープをぐるぐる巻きにして,エアコンの室外機の裏で浮いてます.もっといろんな影響を受けない場所に設置しないと…だめですね.
そして, Raspberry Pi に接続してコマンドを叩きます.まずはモジュールの読み込み.
$ sudo modprobe wire $ sudo modprobe w1-gpio $ sudo modprobe w1-therm
そして以下のコマンドで接続されている 1-Wire デバイスの数が分かります.
$ cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slave_count 1
デバイスの ID を知りたいなら以下のコマンドを.
$ cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slaves 28-000003b7298d
デバイスにアクセスして温度を知るなら以下のコマンドです.
$ cat /sys/bus/w1/devices/28-000003b7298d/w1_slave e4 00 4b 46 7f ff 0c 10 ae : crc=ae YES e4 00 4b 46 7f ff 0c 10 ae t=14250
見ればわかると思いますが,この場合の温度は 14.25 度です.
とまあ,こんな感じで簡単にできました.やろうと思ってからここまでほとんど時間をかけずにできた気がします.最初は 1-Wire プロトコルを知るところからかと考えていたので拍子抜けしましたw
突然のご連絡で失礼いたします。
五島と申します。
こちらのブログにございましたロガーとタイプが異なるのですが
同じマキシムのiButtonですが
このロガーにプログラミングを請け負っていただいた方が
音信不通となり困っております。
現在あるロガーのプログラムを読み取っていただき、同じ内容を
新しいロガーに書き込みをお願いしたいのですが、、、、
具体的には
ロガーとPCにつなぐデバイスやソフトウエアなど必要なものは
すべて準備いたします。
プログラミングの手数料をお支払いたします。
まずは詳しくご相談をさせていただければと存じます。
よろしくお願いいたします。