Я хочу сканировать все устройства в среде моего Raspberry, используя скрипт python, вызываемый из скрипта cron. Но когда я делаю это в cron (я имею в виду, что я добавил в sudo crontab -e), я всегда получаю пустой список.
, когда я вошел в систему как пользователь pi - btmgmt работает (только) с su permissions:
pi@Pluto:~ $ btmgmt find
Unable to start discovery. status 0x14 (Permission Denied)
pi@Pluto:~ $ sudo btmgmt find
Discovery started
hci0 type 7 discovering on
hci0 dev_found: 77:F8:D7:8A:1E:E5 type LE Random rssi -83 flags 0x0000
...
поэтому в моем скрипте python я написал:
flog.write("P01:\r\n")
out = subprocess.Popen(['sudo', '/usr/bin/btmgmt', 'find'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
stdout, stderr = out.communicate()
flog.write("stderr: " + str(stderr) + "\r\n")
cDvc = stdout.split('\n')
flog.write("Amount of lines = " + str(len(cDvc)) + "\r\n")
for line in cDvc:
line = line + '\r\n'
if debugflag:
print(line)
flog.write(line)
..
Запуск этого скрипта из командной строки работает нормально .. в лог-файле (flog) Я получаю: ...
P01:
stderr: None
Amount of lines = 40
Discovery started
hci0 type 7 discovering on
hci0 dev_found: 70:D0:FD:74:34:AC type LE Random rssi -59 flags 0x0000
AD flags 0x1a
..
Запуск этого же сценария в виде строки crontab -e: устройства не отображаются, и я не могу найти причину:
...
P01:
stderr: None
Amount of lines = 1
P02:
...
Может кто-нибудь мне помочь здесь