秋月の温湿度・気圧センサモジュールAE-BME280で、温度・湿度・気圧を取得する(2/2)
Cactiで表示させてみることにしました。
(1)カスタマイズグラフの作り方
まずスクリプトを作る
cd /usr/local/share/cacti/scripts
sudo vi bme280_temp.pl
----
#!/usr/local/bin/perl
$val = `/usr/bin/python /home/pi/bme280_sample.py |grep temp |awk '{print $3}'`;
print $val;
----
:wq
実行権付与
sudo chmod +x bme280_temp.pl
(2)Data Input Method画面
----
name: bme280_temp
Input Type: Script/command
Input String: perl /usr/local/share/cacti/scripts/bme280_temp.pl
----
ただ、これではうまく行かない。
ログに延々エラーが出ていた。
tail /var/log/cacti/poller-error.log
----
Traceback (most recent call last):
File "/home/pi/bme280_sample.py", line 9, in
bus = SMBus(bus_number)
File "/usr/local/lib/python2.7/dist-packages/smbus2/smbus2.py", line 132, in __init__
self.open(bus)
File "/usr/local/lib/python2.7/dist-packages/smbus2/smbus2.py", line 142, in open
self.fd = os.open("/dev/i2c-{}".format(bus), os.O_RDWR)
OSError: [Errno 13] Permission denied: '/dev/i2c-1'
----
www-dataでは/dev/i2c-1を読む権限がないらしい
(3)無理矢理パスワードを付けて
sudo passwd www-data
(4)soduersに追加
sudo vi /etc/sudoers
----
www-data ALL=(ALL) NOPASSWD: ALL
----
:wq
うまく(?)出来たようだ
sudo -u www-data sh /usr/local/share/cacti/scripts/bme280_temp.sh
22.54
まあでも、www-dataにsudo権限を付けるのは、セキュリティ的にはどうですかね。
以上
最近のコメント