Автор Тема: Помогите разобраться с Python скриптом  (Прочитано 3981 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн studio2

  • Новичок форума
  • Сообщений: 5
Друзья, я новичок и только начинаю разбираться. Прошу сделать мне скидку))
На rasberry pi установлен raspibian
Есть скрипт:
Код: (python) [Выделить]
import RPi.GPIO as GPIO
import time
import os

GPIO.setmode(GPIO.BCM)

GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)

while True:
    input_state = GPIO.input(17)
    if input_state == False:
        os.system("omxplayer -o hdmi /video/hostel.mp4")
    input_state = GPIO.input(18)
    if input_state == False:
        os.system("omxplayer -o hdmi /video/timer.mp4")
Задача такая - при замыкании контакта 17 воспроизводиться файл hostel.mp4
Во время воспроизведения, при замыкании контакта 18 файл hostel перестает воспроизводиться и начинает timer.mp4

А сейчас воспроизводит, что первое замкнуто и не прерывается для воспроизведения другого.
Помогите пожалуйста, что нужно правильно сделать?
Спасибо!   

Используйте теги для оформления текста, ogost
« Последнее редактирование: 23 Января 2016, 09:52:36 от ogost »
 

Оффлайн alsoijw

Re: Помогите разобраться с Python скриптом
« Ответ #1 : 22 Января 2016, 23:30:39 »
[b]studio2[/b],
1) вставляй в теге [​code=python][​/code](набери руками или воспользуйся кнопкой на форуме но не копируй у меня)
2) Для реализации задуманного тебе нужно как-то управлять воспроизведением(останавливать). Имхо самый простой это открытие видео в самой программе.

Cообщение объединено 22 Января 2016, 23:45:25
как то так
« Последнее редактирование: 22 Января 2016, 23:45:25 от alsoijw »
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн studio2

  • Новичок форума
  • Сообщений: 5
Re: Помогите разобраться с Python скриптом
« Ответ #2 : 23 Января 2016, 11:45:56 »
[b]studio2[/b],
Для реализации задуманного тебе нужно как-то управлять воспроизведением(останавливать). Имхо самый простой это открытие видео в самой программе.

Cообщение объединено 22 Января 2016, 23:45:25
как то так

Да, я уже понял, что нужно управлять воспроизведением.
у omxplayer есть кнопка на клавиатуре "q" остановить воспроизведение.
Как в python смоделировать нажатие клавиши с клавиатуры?
Опыта вообще нет и читать большие тексты программ для меня сейчас маловероятно что я там что то пойму.
Если можно код с коментами.
Спасибо.
 

Оффлайн alsoijw

Re: Помогите разобраться с Python скриптом
« Ответ #3 : 23 Января 2016, 17:00:46 »
studio2, скорее всего для этого тебе потребуется stdin.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн vic5710

Re: Помогите разобраться с Python скриптом
« Ответ #4 : 23 Января 2016, 20:40:13 »
так по логике вашего алгоритма пока НЕ закончиться воспроизведение, опроса состояния кнопки НЕ будет
имхо вам надо subprocess, чтобы запустить воспроизведение и опрос кнопок независимо


Cообщение объединено 23 Января 2016, 20:55:42
http://www.py-my.ru/post/4bfb3c691d41c846bc000061#!
« Последнее редактирование: 23 Января 2016, 22:24:32 от vic5710 »
 

Оффлайн studio2

  • Новичок форума
  • Сообщений: 5
Re: Помогите разобраться с Python скриптом
« Ответ #5 : 24 Января 2016, 13:01:21 »
так по логике вашего алгоритма пока НЕ закончиться воспроизведение, опроса состояния кнопки НЕ будет
имхо вам надо subprocess, чтобы запустить воспроизведение и опрос кнопок независимо


Cообщение объединено 23 Января 2016, 20:55:42
http://www.py-my.ru/post/4bfb3c691d41c846bc000061#!

Да, я уже думал про subprocess. Буду двигаться в этом направлении.

Спасибо!
 

Оффлайн studio2

  • Новичок форума
  • Сообщений: 5
Re: Помогите разобраться с Python скриптом
« Ответ #6 : 26 Января 2016, 22:07:44 »
Прочитал много, но с учетом отсутствия опыта многого не понял.
Всетаки скажите можно ли реализовать вышеописанную задачу на Python?
Или все же нужен C++?
 

Оффлайн alsoijw

Re: Помогите разобраться с Python скриптом
« Ответ #7 : 26 Января 2016, 23:20:44 »
studio2, можно. Я приводил пример.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн studio2

  • Новичок форума
  • Сообщений: 5
Re: Помогите разобраться с Python скриптом
« Ответ #8 : 27 Января 2016, 12:04:55 »
studio2, можно. Я приводил пример.

Спасибо за ответ!
Но если Вас не затруднит более развернуто можно?
Еще раз поймите, только начинаю разбираться с программированием Python
 

Оффлайн vic5710

Re: Помогите разобраться с Python скриптом
« Ответ #9 : 27 Января 2016, 12:38:17 »
попробуй с своём коде добавить параметр & (не знаю будет ли работать)os.system("killall omxplayer)
os.system("omxplayer blabla &")
 

Оффлайн alsoijw

Re: Помогите разобраться с Python скриптом
« Ответ #10 : 27 Января 2016, 14:42:45 »
vic5710, во время работы скрипта будет нельзя запускать omxplayer. ИМХО костыль.
studio2, суть крайне проста. Создаётся окно с помощью к примеру Gtk. Потом туда добавляется виджет который будет воспроизводить видео. Как только нужно будет остановить видео, то нужно будет вызвать только один метод останавливающий воспроизведение. В той ссылке есть код для 2 питона. Немного поработав над кодом ты сможешь получить то что нужно.
ЗЫ писать можно на практически любом языке. Другое дело в том на сколько быстро ты будешь писать на этом языке.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн vic5710

Re: Помогите разобраться с Python скриптом
« Ответ #11 : 27 Января 2016, 16:13:17 »
alsoijw, у меня запускается
Код: (python) [Выделить]
/usr/bin/env python
import os
while True:
    input=raw_input()
    if input == 'q':
        os.system("killall totem")
        break
    elif input=='1':
        os.system("killall totem; totem --play 1.mp4 &”)
    elif input == '2':
        os.system("killall totem; totem --play 2.mp4 &")

Cообщение объединено 27 Января 2016, 16:15:16
пробовал с клавы но разницы не вижу
« Последнее редактирование: 30 Января 2016, 20:06:58 от vic5710 »
 

Оффлайн alsoijw

Re: Помогите разобраться с Python скриптом
« Ответ #12 : 27 Января 2016, 16:41:09 »
vic5710, что запускается? Тотем? Я имел в виду то что при нажатии на кнопку будет убит любой процесс тотема, хотя я не уверен что можно будет запустить в нескольких разных процессах.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн vic5710

Re: Помогите разобраться с Python скриптом
« Ответ #13 : 27 Января 2016, 16:45:14 »
vic5710, что запускается? Тотем? Я имел в виду то что при нажатии на кнопку будет убит любой процесс тотема, хотя я не уверен что можно будет запустить в нескольких разных процессах.
будет убит и запущен новый тотем с другим файлом mp4. стандартное управление процессами
man killall

Cообщение объединено 27 Января 2016, 17:52:22
если killall не будет то будет несколько окон с соотв. файлами. я понял вашу идею, но имхо ТС ето ниасилит. у omx емнип есть параметр начала воспроизведения в сек., так что можно параллельно запустить счётчик времени , если нужна пауза
« Последнее редактирование: 27 Января 2016, 17:52:22 от vic5710 »
 

Оффлайн alsoijw

Re: Помогите разобраться с Python скриптом
« Ответ #14 : 27 Января 2016, 17:59:48 »
Провёл эксперимент. Если плеер(totem) уже запущен, то при повторной команде он откроет второй файл. Для других плееров поведение может отличатся.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Теги:
     

    [РЕШЕНО] Помогите склепать скрипт!

    Автор }{ronoTrigger

    Ответов: 14
    Просмотров: 3597
    Последний ответ 09 Июня 2014, 12:49:15
    от Alexey_F
    Помогите подправить скриптик

    Автор tierbbr

    Ответов: 5
    Просмотров: 2345
    Последний ответ 08 Июля 2012, 04:04:12
    от orlyanuch
    Помогите собрать код резервного копирования на bash

    Автор Tesla

    Ответов: 19
    Просмотров: 4048
    Последний ответ 08 Февраля 2015, 21:39:13
    от Tesla
    Помогите написать скрипт

    Автор MkZ

    Ответов: 3
    Просмотров: 2060
    Последний ответ 23 Января 2014, 21:46:24
    от Malaheenee
    Помогите закончить перевод справки configure Dante Server.

    Автор nihi1ist

    Ответов: 0
    Просмотров: 1497
    Последний ответ 31 Мая 2016, 06:37:20
    от nihi1ist