raspberryPI, autostart skript command.

OP (Firma: Pensionär-Altes-Eisen) #4486228
Lesenswert?
• ▲
▼
Hallo,
ich bekam einen Raspbery geschenkt, rasbian runtergeladen, mikroSD 
geflasht, läuft, via HDMI erkennt sogar mein TV-Gerät Linux, Maus 
funktioniert, also auch die USB-Schnittstelle.

Ich möchte den Raspberry mit einer skriptanweisung dazu bringen von 
EINEM USB-Stick mit EINEM MPEG4-file dieses ohne weitere Bedienung 
abzuspielen.

Praktisch, neben dem Fernsehgerät ohne Tastatur, ohne Maus, USB-Stick 
mit dem Film einstecken, einschalten, skript startet, Film läuft.

kann mir jemand Tipps geben? Danke


Gruß
Gast #4486230
Lesenswert?
• ▲
▼
Ohne mich jetzt näher damit zu beschäftigen, ob es sowas schon gibt:

Python-Script screiben:
-ist ein USB-Stick gesteckt?
-wenn ja: ist darauf eine mpeg4-Datei?
-wenn ja: starte vlc-player mit besagter mpeg4-Datei.

Und das Python-Script lässt du dann über systemd automatisch beim booten 
starten.

So wäre jetzt meine erste Idee.

Du kannst dir aber auch mal Kodi (früher XBMC) anschauen. Vielleicht 
haben die sowas schon irgendwie mit drin.

Kodi: https://kodi.tv/
#4487335
Lesenswert?
• ▲
▼
Mit DBus und leichten anpassungen an folgendem Script sollte das machbar 
sein:

http://www.danplanet.com/blog/2007/11/11/using-dbus-to-take-action-on-a-usb-storage-device/

Weil der Blogger es versaumt hat den Code brauchbar zu Posten, hier eine 
Angepasste version: (ungetestet)
1
#!/usr/bin/python
2

3
import dbus
4
import gobject
5
import dbus.mainloop.glib
6

7

8
# wird nach dem mounten aufgerufen
9
def onmount(path,tag):
10
  print path
11
  print tag
12

13

14
def handler(*args, **kwargs):
15
  if not kwargs["member"] == "VolumeMountedSignal":
16
    return
17

18
  path = args[0][4].replace("file://", "")
19
  tag = args[0][6]
20

21
  onmount(path,tag)
22

23

24
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
25
bus = dbus.SessionBus()
26

27
bus.add_signal_receiver(
28
  handler,
29
  interface_keyword="dbus_interface",
30
  member_keyword="member"
31
)
32

33
loop = gobject.MainLoop()
34
loop.run()

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.