当crontab作业读取BMP180传感器时,它返回0

时间:2016-01-23 15:34:21

标签: php python raspberry-pi crontab sensor

我有一个覆盆子PI B +作为外面的气象站。在控制箱内,我有PI和加热器(如果温度低于0°C,则进行保护)。

我已经在PHP中编写了一些函数,它们可以正常使用crontab而不是一个。 导致我做恶梦的文件应该从两个传感器获取两个温度并写入两个文件(一个日志和一个瞬时温度以及一些其他数据)。

我使用两个命令来执行此操作:

$temp_ex=round(system("checktemp"),1);
$temp_el=round(system("python temp_connectivity.py"),1);

第一个命令每次都运行。没有任何问题。 第二个命令,调用:

import Adafruit_BMP.BMP085 as BMP085
sensor = BMP085.BMP085()
print '{0:0.2f}'.format(sensor.read_temperature())

只有在我用终端运行我的php文件时才有效。我得到了正确的温度。 当crontab使用该文件时,我总是得到0(即使在20°C时)。

python和php文件都有执行权限。我尝试使用system()和exec()命令都没有运气。

任何可以建议我出路的人?提前谢谢!

1 个答案:

答案 0 :(得分:0)

传感器或代码没有任何问题。 这是crontab,或围绕这项服务的许可证。

我使用“crontab -e”来创建我的工作,但这还不够好。我尝试了一些其他方法来调用我的脚本,但我只是设法让它使用:

sudo crontab -e

有许多python脚本没有用,但由于它们是隐藏的而且不是很重要,我没注意到它们失败了。