RaspberryPiで1-Wire防水温度センサを使ってみる(2)

こんにちは、mi2yo4です。
今日の昼前に東海地方も梅雨入りしたそうです。これから1ヶ月ぐらいはジメジメとした気候が続くんですね…

さて、今回は久々にRaspberryPiネタを書いてみようかと思います。

とここで、宣伝 ^^)

IMG_0243s

ログBOXの写真を撮って頂きました。
今回、20台製作しましたが、おかげさまで早くも売り切れてしまいそうです。今年の初めから本格的に受注を開始していますが、受注ペースがここ最近、上がってきているのを実感します。

以上、ログBOXの宣伝でした。
本題に戻ります。

OSを更新したら1-Wireセンサが反応しなくなった

以前にRaspberryPiで1-Wire防水温度センサを使ってみるという記事を書きました。
あちこちからリンクが張られていたので、意外と人気があったようです。自分の書いたことが誰かの役に立つというのはイイですね。

それはさておき、弊社にあるRaspberryPiのType-B、昔書き込んだOSだと起動しない場合がある事に気づきました。
どうやらB+が発売されたタイミングと前後して、Type-Bも中身が少し変わっているようです。
発売元に問い合わせると「最新のOSバージョンをお使い下さい」という事でしたので、OSのバージョンも最新のものに変更しておきました。その結果…

1-Wire防水温度センサが認識しなくなりましたorz

どどどどえどうしよう…

1-Wire温度センサを新OSでも認識させる方法

慌ててもしょうがない、って事で色々と情報を検索してみました。
すると、あっさりと発見。

DS18B20 not listed in /sys/bus/w1/devices

やはり、全世界で皆同じように苦労しているんだなぁ…と思う瞬間でした ^^)

Raspbianの新しいバージョンでは以下のようになっているみたいですね。

  • /etc/modulesのw1関連の設定は有効でない
  • /boot/config.txtにw1関連の設定を記述する

なので、さくっとconfig.txtに設定を書き込んでしまいましょう!

/boot/config.txt

# w1 device configuration
dtoverlay=w1-gpio-pullup,gpiopin=4,pullup=4

弊社で使っていたDS18B20は2線式のものでしたので、上記のpullupに関する記述は必須となります。
(でないとエラーコードが出力されるだけで正しい温度が出力されません)

上記の設定を行い、再起動すれば…
以前と同じように1-Wire温度センサで温度を計測することが出来ます。最近のRaspbianを使っている方は参考にしてみて下さい。

ではまた!