BME280 をからのデータを一般ユーザーで受け取る
debian jessie では GPIO 関係が一般ユーザーで利用できるようですが、現在は wheezy を利用しているので毎度 sudo しないといけません。
$ cat /etc/debian_version 7.11
bme280_sample.py をそのまま実行すると Permission denied
と言われてしまうのでアクセスしているデバイスを調べますした。
$ 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: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 --
/devi2c-1
にアクセスしているのでこいつのパーミッションを調べます。
$ ls -la /dev/i2c-1 crw-rw---T 1 root i2c 89, 1 Jul 12 20:20 /dev/i2c-1
i2c
グループなら書き込みもできそうなので自分を i2c
グループに追加します。
$ sudo usermod -aG i2c zoar
再起動してみて sudo なしに実行できれば OK。
$ python bme280_sample.py temp : 28.85 ℃ pressure : 1004.26 hPa hum : 45.11 %
これで今後の実行には sudo なしでいけるのでちょっとは楽に使えそうです。