約半年間Raspberry Piにつないでいるセンサーから部屋の温度や湿度がとれていなかった。年末年始にRaspberry Piのソフトウェア・アップデートをした関係で動かなくなっていたようだ。
sudo i2cdetect -y 1
も動いていなかった。
Optional interfaces (I2C, I2S, SPI) and Device Treeによると3.18 kernelsからハードウェ構成の設定が変わったようで /boot/config.txt
に有効にするインタフェースを記述しないといけなくなったようだ。
http://elinux.org/RPiconfigによると
- Enables I2C on GPIO pins.
dtparam=i2c_arm=on
- Enables I2S audio hardware.
dtparam=i2s=on
- Enables SPI driver.
dtparam=spi=on
I2Cを使うので /boot/config.txt
に dtparam=i2c_arm=on
を書き込んで復旧した。
そもそもはデータがとれていない時にアラートを上げるようにしないといけない。モニタリングツールにmuninを使っていて、確か閾値での通知が出来た気がするがちゃんと調べていない。単純にデータが取れなかったらメールアドレスかslackに通知するというバッチを書いたほうが早そうだが。。。