помогите разобратся с скриптом

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Icik34
Сообщения: 2
Зарегистрирован: Пт мар 27, 2020 12:19 pm
Благодарил (а): 6 раз
Поблагодарили: 0

Re: помогите разобратся с скриптом

Сообщение Icik34 » Пн апр 06, 2020 9:08 pm

Создаете скрипт test_web на MD (Должен стоять web сервер на апельсинке)

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

exec("wget --http-user=root --http-password=ПАРОЛЬ 192.168.0.15 python /var/www/html/hello.py");
где
root - имя пользователя на апельсинке
ПАРОЛЬ - это пароль
192.168.0.15 - IP апельсинки
hello.py - ваш скрипт для примера создайте питоновский скрипт на апельсинке который выводит "Hello world!".
Запускаете скрипт test_web c MD и получаете вывод Hellow world! с апельсинки.
[/quote]

Помогите с такой же проблемой. Не могу запустить выполнить файл на Orange Pi Zero у меня: exec('wget --http-user=root --http-password=мойпароль 192.168.1.110 /var/www/temp/webcam.sh'); Командой из МД типа exec('/home/pi/Pictures/webcam.sh'); на апельсинке не запускается. Точно такая же команда на Raspberry Pi3 работает. webcam.sh рабочий и запускается на Апельсинке только через SSH Putty. Из МД командой "exec" не могу запустить выполнение любых скриптов на Апельсине.
Как его запустить с МД, который установлен на Апельсине?
lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

Re: помогите разобратся с скриптом

Сообщение lihodeev » Чт авг 27, 2020 2:20 pm

результат работы скрипа -

[INFO] loading face detector...
[INFO] loading face recognizer...
makar: 85.48%

код вывода -
text = "{}: {:.2f}%".format(name, proba * 100)
print(text)
y = startY - 10 if startY - 10 > 10 else startY + 10
cv2.rectangle(image, (startX, startY), (endX, endY),
(0, 0, 255), 2)
cv2.putText(image, text, (startX, y),
cv2.FONT_HERSHEY_SIMPLEX, 0.45, (0, 0, 255), 2)

как добавить к УРЛ значения makar и 58.48 и в итоге привести к виду
urllib.urlopen="http://192.168.1.2/objects/?object=maka ... ue&v=58.48"
?
и еще - кто может сказать что сейчас происходит с urllib.request.urlopen ? на питоне3 надо применять конструкцию urllib.urlopen и import urllib ?
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: помогите разобратся с скриптом

Сообщение fandaymon » Чт авг 27, 2020 2:42 pm

lihodeev писал(а):
Чт авг 27, 2020 2:20 pm
результат работы скрипа -

[INFO] loading face detector...
[INFO] loading face recognizer...
makar: 85.48%

код вывода -
text = "{}: {:.2f}%".format(name, proba * 100)
print(text)
y = startY - 10 if startY - 10 > 10 else startY + 10
cv2.rectangle(image, (startX, startY), (endX, endY),
(0, 0, 255), 2)
cv2.putText(image, text, (startX, y),
cv2.FONT_HERSHEY_SIMPLEX, 0.45, (0, 0, 255), 2)

как добавить к УРЛ значения makar и 58.48 и в итоге привести к виду
urllib.urlopen="http://192.168.1.2/objects/?object=maka ... ue&v=58.48"
?
и еще - кто может сказать что сейчас происходит с urllib.request.urlopen ? на питоне3 надо применять конструкцию urllib.urlopen и import urllib ?
import urllib.request
link="http://192.168.1.2/objects/?object=" + name + "&op=set&p=EuclidValue&v=" + str(proba*100)
f=urllib.request.urlopen(link)

А весь этот код рисующий рамку с надписью лучше убрать
За это сообщение автора fandaymon поблагодарил:
lihodeev (Чт авг 27, 2020 2:54 pm)
Рейтинг: 1.16%
lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

Re: помогите разобратся с скриптом

Сообщение lihodeev » Чт авг 27, 2020 2:53 pm

fandaymon писал(а):
Чт авг 27, 2020 2:42 pm
lihodeev писал(а):
Чт авг 27, 2020 2:20 pm
результат работы скрипа -

[INFO] loading face detector...
[INFO] loading face recognizer...
makar: 85.48%

код вывода -
text = "{}: {:.2f}%".format(name, proba * 100)
print(text)
y = startY - 10 if startY - 10 > 10 else startY + 10
cv2.rectangle(image, (startX, startY), (endX, endY),
(0, 0, 255), 2)
cv2.putText(image, text, (startX, y),
cv2.FONT_HERSHEY_SIMPLEX, 0.45, (0, 0, 255), 2)

как добавить к УРЛ значения makar и 58.48 и в итоге привести к виду
urllib.urlopen="http://192.168.1.2/objects/?object=maka ... ue&v=58.48"
?
и еще - кто может сказать что сейчас происходит с urllib.request.urlopen ? на питоне3 надо применять конструкцию urllib.urlopen и import urllib ?
import urllib.request
link="http://192.168.1.2/objects/?object=" + name + "&op=set&p=EuclidValue&v=" + str(proba*100)
f=urllib.request.urlopen(link)

А весь этот код рисующий рамку с надписью лучше убрать
Спасибо большое! но все таки - https://stackoverflow.com/questions/246 ... ed-request говорят кой чего изменилось и надо import urllib без request и соответсвенно urllib.urlopen иначе у меня не заработало
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: помогите разобратся с скриптом

Сообщение fandaymon » Чт авг 27, 2020 3:37 pm

lihodeev писал(а):
Чт авг 27, 2020 2:53 pm

Спасибо большое! но все таки - https://stackoverflow.com/questions/246 ... ed-request говорят кой чего изменилось и надо import urllib без request и соответсвенно urllib.urlopen иначе у меня не заработало
Значит питон 2й
lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

Re: помогите разобратся с скриптом

Сообщение lihodeev » Ср сен 09, 2020 8:41 pm

мне уже совсем не понятна ситуация - есть датчик движения в мотиондетектед которого прописан вызов команды
exec('sudo ffmpeg -i rtsp://192.168.1.4:554/user=admin_password=25599_channel=1_stream=0.sdp?real_stream -f v4l2 -pix_fmt yuv420p /dev/video1');
и отдельный скрипт вызывается там же
$command=('sudo python /home/pi/test_reg/recognize_video.py --detector /home/pi/test_reg/face_detection_model --embedding-model /home/pi/test_reg/openface_nn4.small2.v1.t7 --recognizer /home/pi/test_reg/output/recognizer.pickle --le /home/pi/test_reg/output/le.pickle');
// --image /home/pi/test_reg/images/cam.jpg
$output =shell_exec($command);
echo $output;
Если их выполнить в SSH терминале - результат 100% выполнение, если пытаться вызвать из датчика движения, результат выполнения 30% из 100. Что не так? может кто увидит, а то второй день сижу. Вроде все просто..
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: помогите разобратся с скриптом

Сообщение fandaymon » Ср сен 09, 2020 10:14 pm

lihodeev писал(а):
Ср сен 09, 2020 8:41 pm
мне уже совсем не понятна ситуация - есть датчик движения в мотиондетектед которого прописан вызов команды
exec('sudo ffmpeg -i rtsp://192.168.1.4:554/user=admin_password=25599_channel=1_stream=0.sdp?real_stream -f v4l2 -pix_fmt yuv420p /dev/video1');
и отдельный скрипт вызывается там же
$command=('sudo python /home/pi/test_reg/recognize_video.py --detector /home/pi/test_reg/face_detection_model --embedding-model /home/pi/test_reg/openface_nn4.small2.v1.t7 --recognizer /home/pi/test_reg/output/recognizer.pickle --le /home/pi/test_reg/output/le.pickle');
// --image /home/pi/test_reg/images/cam.jpg
$output =shell_exec($command);
echo $output;
Если их выполнить в SSH терминале - результат 100% выполнение, если пытаться вызвать из датчика движения, результат выполнения 30% из 100. Что не так? может кто увидит, а то второй день сижу. Вроде все просто..
Не самое умное каждый раз делать вызов питоновской программы распознавания... Там же загружаются данные на основе которых делается распознавание, а они не маленькие. Правильнее когда питоновская программа работает в фоне, слушая скажем сокет. А когда датчик срабатывает, мы в этот сокет отправляем команду распознавать

Что касается самого вопроса - то смотреть есть ли у www-data права запускать sudo + питон же сам может кадры из rtsp потока дергать

video=cv2.VideoCapture("rtsp url")

отпадает надобность запускать ещё и ffmpeg
За это сообщение автора fandaymon поблагодарили (всего 2):
xor (Ср сен 09, 2020 10:56 pm) • lihodeev (Ср сен 09, 2020 11:53 pm)
Рейтинг: 2.33%
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: помогите разобратся с скриптом

Сообщение xor » Ср сен 09, 2020 10:59 pm

fandaymon писал(а):
Ср сен 09, 2020 10:14 pm
lihodeev писал(а):
Ср сен 09, 2020 8:41 pm
мне уже совсем не понятна ситуация - есть датчик движения в мотиондетектед которого прописан вызов команды
exec('sudo ffmpeg -i rtsp://192.168.1.4:554/user=admin_password=25599_channel=1_stream=0.sdp?real_stream -f v4l2 -pix_fmt yuv420p /dev/video1');
и отдельный скрипт вызывается там же
$command=('sudo python /home/pi/test_reg/recognize_video.py --detector /home/pi/test_reg/face_detection_model --embedding-model /home/pi/test_reg/openface_nn4.small2.v1.t7 --recognizer /home/pi/test_reg/output/recognizer.pickle --le /home/pi/test_reg/output/le.pickle');
// --image /home/pi/test_reg/images/cam.jpg
$output =shell_exec($command);
echo $output;
Если их выполнить в SSH терминале - результат 100% выполнение, если пытаться вызвать из датчика движения, результат выполнения 30% из 100. Что не так? может кто увидит, а то второй день сижу. Вроде все просто..
Не самое умное каждый раз делать вызов питоновской программы распознавания... Там же загружаются данные на основе которых делается распознавание, а они не маленькие. Правильнее когда питоновская программа работает в фоне, слушая скажем сокет. А когда датчик срабатывает, мы в этот сокет отправляем команду распознавать

Что касается самого вопроса - то смотреть есть ли у www-data права запускать sudo + питон же сам может кадры из rtsp потока дергать

video=cv2.VideoCapture("rtsp url")

отпадает надобность запускать ещё и ffmpeg
ну, как правило - народ находит программку-распознавалку, работающую по параметрам из командной строки и прикручивает к мдм, в лучшем случае - добавляя какие-нибудь вызовы апи мажора(
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: помогите разобратся с скриптом

Сообщение tarasfrompir » Ср сен 09, 2020 11:48 pm

fandaymon писал(а):
Ср сен 09, 2020 10:14 pm
Что касается самого вопроса - то смотреть есть ли у www-data права запускать sudo + питон же сам может кадры из rtsp потока дергать

video=cv2.VideoCapture("rtsp url")

отпадает надобность запускать ещё и ffmpeg
В связи с Вашим ответом -
Вопрос такого плана - как проверять 1 кадр в секунду - вместо всех что идут в изображении - чтобы не грузить систему ?
Я просто так и не нашел - отбор кадра - из потока....
Спасибо нам ПОМОЖЕТ..!
lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

Re: помогите разобратся с скриптом

Сообщение lihodeev » Ср сен 09, 2020 11:51 pm

xor писал(а):
Ср сен 09, 2020 10:59 pm
ну, как правило - народ находит программку-распознавалку, работающую по параметрам из командной строки и прикручивает к мдм, в лучшем случае - добавляя какие-нибудь вызовы апи мажора(
Все именно так и есть, готового, нужного мне решения нет я пытаюсь разобраться. Что в этом не так? Я понимаю что Вы по всей видимости в коде как рыба в воде, я за все время ковыряя МД научился многому, и мне это нравится, и много благодаря участникам форума.
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
Ответить