Как отключить safe_mode?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Как отключить safe_mode?

Сообщение olehs » Пт фев 23, 2018 2:01 pm

попробуйте выполнить скрипт без GPIO (с одним print чего-то там). будет работать?
Omega
Сообщения: 14
Зарегистрирован: Сб мар 25, 2017 7:29 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Как отключить safe_mode?

Сообщение Omega » Сб фев 24, 2018 10:50 am

Да, скрипт с одной строкой print("OK") сработал.
методом try-except нашел строку, которая приводит к ошибке:
GPIO.setup(15, GPIO.OUT)

полный код такой:
#!usr/bin python

try:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(15, GPIO.OUT)
except RuntimeError:
print("Error")
else:
print("OK")
GPIO.output(15, True)
time.sleep(0.5)
GPIO.output(15, False)
time.sleep(0.5)
GPIO.output(15, True)
time.sleep(0.5)
GPIO.output(15, False)
time.sleep(0.5)
GPIO.output(15, True)
time.sleep(0.5)
GPIO.output(15, False)
GPIO.cleanup()

GPIO.setup(15, GPIO.OUT) -стандартный код, что может быть не так?

По-прежнему через safe_exec этот код работает.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Как отключить safe_mode?

Сообщение olehs » Сб фев 24, 2018 12:01 pm

По ссылке,что я давал выше на такую же строчку ругается из-за прав доступа.
Добавьте вывод ошибки, чтобы понять, что именно не так

Код: Выделить всё

except Exception as e: print(e) 
За это сообщение автора olehs поблагодарил:
Omega (Сб фев 24, 2018 5:51 pm)
Рейтинг: 1.16%
Omega
Сообщения: 14
Зарегистрирован: Сб мар 25, 2017 7:29 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Как отключить safe_mode?

Сообщение Omega » Сб фев 24, 2018 12:46 pm

ошибка такая:
No access to /dev/mem. Try running as root!
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Как отключить safe_mode?

Сообщение olehs » Сб фев 24, 2018 12:49 pm

так то же самое, что и тут
Omega
Сообщения: 14
Зарегистрирован: Сб мар 25, 2017 7:29 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Как отключить safe_mode?

Сообщение Omega » Сб фев 24, 2018 12:54 pm

Права установлены:
pi@raspberrypi:~ $ ls -l /dev/mem
crw-rw---- 1 root gpio 1, 1 фев 24 11:16 /dev/mem
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Как отключить safe_mode?

Сообщение olehs » Сб фев 24, 2018 1:00 pm

с правами то все хорошо. теперь осталось добавить юзера, от которого запускаются команды php, в группу gpio
За это сообщение автора olehs поблагодарил:
Omega (Сб фев 24, 2018 5:51 pm)
Рейтинг: 1.16%
Omega
Сообщения: 14
Зарегистрирован: Сб мар 25, 2017 7:29 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Как отключить safe_mode?

Сообщение Omega » Сб фев 24, 2018 2:21 pm

Спасибо Вам огромное! Заработало!
Надо ставить права не только на файл /dev/mem, но и на папку /dev
Ответить