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


when crontab job reads BMP180 sensor it returns 0

我有一个覆盆子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()命令,但没有运气。

有人能给我建议出路吗?提前谢谢你!

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

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

sudo crontab -e

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