когда задание crontab считывает датчик BMP180, оно возвращает 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 () безуспешно.

Кто-нибудь, кто может предложить мне выход? Заранее спасибо!

0

Решение

Там не было ничего плохого с датчиком или кодом.
Это был crontab, или разрешения, вращающиеся вокруг этой службы.

Я использовал «crontab -e» для создания своих рабочих мест, но этого было недостаточно. Я попробовал несколько других способов вызвать мой скрипт, но мне удалось заставить его работать, используя:

sudo crontab -e

Было много скриптов на python, которые не работали, но так как они были скрытыми и не очень важными, я не заметил, что они перестали работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]