Я надеюсь, что вы можете помочь мне с моей проблемой. Я ищу в Интернете с нескольких дней.
Следующая ситуация:
Я получил Raspberry Pi 4 с последним Raspbian Futhermore, у меня есть RF-передатчик 433 МГц и датчик dht22.
Я создаю python скрипт, который запускается cron (очень минутно). Он получает текущую температуру от dht22 и, когда она становится слишком низкой, отправляет команду для включения теплового преобразователя, в противном случае - команду для отключения тепловой карты.
скрипт отлично работает, когда я запускаю его в Thonny IDE или непосредственно из bash. Внутри python скрипта я делаю небольшую запись в лог-файл, чтобы проверить, выполняется ли скрипт cron. Все хорошо, cron запускает скрипт без ошибок, записывается лог-файл, консоль показывает вывод скрипта - , но - он не переключит тепловую карту , команда не будет отправлена.
Это cronjob, созданный пользователем pi, скрипт python тоже является пользователем pi и имеет + x chmod.
Все это прошло до того, как кто-то решил залить мою малину пивом, поэтому я купил новую и взял сценарий из своей резервной копии.
Что я делаю не так?
команда для отправки данных RF:
if (temperature <= 23):
FNULL = open(os.devnull, 'w')
retcode = subprocess.call(['send 11111 1 1'], stdout=FNULL, stderr=subprocess.STDOUT, shell=True)
Или (другая версия)
if (temperature <= 25):
bashCommand = "send 11111 1 1"
os.system(bashCommand)
Мой crontab:
* * * * * /usr/bin/python3 /home/pi/script.py
Мой syslog:
Apr 19 07:10:01 raspberrypi CRON[30011]: (pi) CMD (/usr/bin/python3 /home/pi/script.py)
Apr 19 07:11:01 raspberrypi CRON[30156]: (pi) CMD (/usr/bin/python3 /home/pi/script.py)
команда send находится в $ PATH:
pi@raspberrypi:~ $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:**/home/pi/raspberry-remote**
Я не понимаю, что я делаю неправильно. пожалуйста, помогите мне.