Sie sind nicht angemeldet.

  • »idefix97« ist der Autor dieses Themas

Beiträge: 122

Registrierungsdatum: 27.11.2010

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: Unity

Andere Betriebssysteme: 10.10 Netbook 32bit

  • Nachricht senden

21

17.11.2011, 14:08

Hej zusammen

nachdem jetzt alles funktioniert, geht es nun also an die "feinarbeit".

was mir beim testlauf aufgefallen ist :
die Abfrage finden nach sleep 0 regelmäßig statt, auch schön schnell, der erste alarm wird also relativ schnell nach trennen des geräts abgespielt.
allerdings ist die pause zwischen den einzelnen ausgaben dann sehr sehr lang, der sound ist nur etwas weniger als eine sekunde lang, die pause zwischen 2 wiedergaben ist allerdings mehrere sekunden lang.
gibt es noch eine möglichkeit, diese pause zu verkürzen ?
ist madplay und dann ein .mp3 vielleicht schneller ?

Skadi

User

Beiträge: 666

Registrierungsdatum: 13.10.2010

Derivat: Ubuntu

Architektur: andere

  • Nachricht senden

22

17.11.2011, 14:35

Hallo,

das liegt wohl daran, dass Dein zu hörender Ton nur eine Sekunde zu hören ist, aber in Wirklichkeit ist die Sounddatei länger und hat lautlose Tonanteile, dies müsste man nun in einem Soundeditor nachsehen und diesen Anteil da heraus löschen, oder eine andere Datei ohne solche Anteile nehmen. Denn an der Schleife kann es nicht liegen, da gibt es keine Verzögerungen.

Edit 14:43

schau mal hier Link

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Skadi« (17.11.2011, 14:43)


23

17.11.2011, 15:11

Man könnte es elegant über udev lösen. Ein event für "remove", der den Sound startet, einer für "add", der den Player wieder killt.
Keine sleep-Schleife, keine Verzögerung, sofortige Reaktion.
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

  • »idefix97« ist der Autor dieses Themas

Beiträge: 122

Registrierungsdatum: 27.11.2010

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: Unity

Andere Betriebssysteme: 10.10 Netbook 32bit

  • Nachricht senden

24

17.11.2011, 15:50

Hej zusammen,

@ Skadi :

und trotzdem : http://tinyurl.com/bo9dgym

EDIT: Die Audiospur ist beim rendern wohl etwas verrutsch, normal kommt der Sound gleichzeitig mit der Meldung im Terminal.
Die zeitlichen Abstände allerdings stimmen nach wie vor, sowohl im Audio als auch im Video.


@Fredl :
ah
achso
na klar
natürlich


Danke !

P.S.
Kannst du mir bitte einmal ganz kurz erklären, was sich hinter den befehlen verbirgt und wie man daraus ein script baut ?
Wie schon gesagt, ich habe von so etwas überhaupt keine ahnung...


mfg idefix

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »idefix97« (17.11.2011, 16:19)


DocHifi

unregistriert

25

17.11.2011, 16:23

Hi,
also ixh finde Fredls Idee ist gar nicht so schlecht,schau dir das mal an udev.
Gruß DH

fremdkoerperfalle

Gesperrter Benutzer

  • »fremdkoerperfalle« wurde gesperrt

Beiträge: 535

Registrierungsdatum: 15.10.2014

Derivat: unbekannt

Architektur: unbekannt

Desktop: unbekannt

Andere Betriebssysteme: Debian Jessie, Android-x86 Vbox

  • Nachricht senden

26

17.11.2011, 16:28

Hallo idefix97!

Bzgl. der Erstellung von udev Regeln, kannst Du dir dieses Wiki mal durchlesen. Sieht erstmal kompliziert aus, ist aber machbar.

Hier mal ein Beispiel für ein rule File:

Zitat


SUBSYSTEM=="usb", ACTION=="add", ENV{ID_MODEL_ID}=="XXXX", ENV{ID_VENDOR_ID}=="XXXX", RUN+="/pfad/zum/script"
SUBSYSTEM=="usb", ACTION=="remove", ENV{ID_MODEL_ID}=="XXXX", ENV{ID_VENDOR_ID}=="XXXX", RUN+="/pfad/zum/script"


Du hast halt 2 Zeilen für die Aktionen add und remove, je nachdem, ob Du dein Device an- oder absteckst. Damit udev dein Gerät mit dieser Regel in Verbindung bringen kann, benötigst Du die IDs von dem Gerät und dem Hersteller (siehe Wiki). Am Ende bei RUN gibst Du dann an, was bei der entsprechenden Aktion ausgeführt werden soll.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »fremdkoerperfalle« (17.11.2011, 16:38)


27

17.11.2011, 18:37

Wenn er jeweils nur ein einziges Kommando braucht, kann er sich sogar die Scripte sparen und die Kommandos auch mit vollem Pfad direkt in die Regel schreiben. Aber mit "&" hinten dran, sonst ist udev blockiert bis sie abgearbeitet sie (oder falls sie hängen...).
Bin leider etwas knapp an Zeit, so kann ich nur die Idee liefern, nicht den ganzen Weg. Sorry!
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

wowi

Ubuntu-Forum-Team

  • »wowi« ist männlich

Beiträge: 4 264

Registrierungsdatum: 03.05.2007

Derivat: Xubuntu

Architektur: 64-Bit PC

Desktop: XFCE

  • Nachricht senden

28

17.11.2011, 22:45

Man könnte es elegant über udev lösen. Ein event für "remove", der den Sound startet, einer für "add", der den Player wieder killt.
Keine sleep-Schleife, keine Verzögerung, sofortige Reaktion.
Ich glaube, dass diese Lösung für diesen Fall nicht optimal ist. Denn gerade wenn kein iPad angesteckt ist, soll ja eine Aktion passieren. Da udev aber im System verankert ist, müsste der iPad somit ja bereits beim Hochfahren drinstecken, was ja nicht unbedingt der Fall sein wird. Über das Script kann idefix97 dann halt als normaler User einfach selbst steuern, ob die Diebstahlsicherung aktiv ist, oder nicht.

Greetz
wowi

29

18.11.2011, 01:45

Da udev aber im System verankert ist
Der daemon ist verankert. Die events passieren erst, wenn eine Regel zutrifft. "man udev" sagt:

Zitat

Usually udev runs as udevd and receives uevents directly from the kernel if a device is added or removed from the system.
Also sollte es schon so gehen. Genau werden wir es erst wissen, wenn der TE berichtet. :)
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

  • »idefix97« ist der Autor dieses Themas

Beiträge: 122

Registrierungsdatum: 27.11.2010

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: Unity

Andere Betriebssysteme: 10.10 Netbook 32bit

  • Nachricht senden

30

18.11.2011, 08:43

Hej,

ich berichte - keine Frage, aber nicht um diese zeit...

klar, mit udev könnte das alles besser funktionieren, die sounds schneller hintereinander abgespielt werden und und und.

aber mittlerweile wird mir das ganze ein wenig zu kompliziert, ich habe jetzt mehrfach versucht, das über udev zu machen, allerdings bin ich jedesmal irgendwo gescheitert.
Ich habe jetzt als wahrscheinlich einfachste lösung soundfiles zu je 3 signalen im richtigen abstand zusammengebastelt, dann unterscheidet sich das ganze zum einen noch mehr vom hausalarm(sollte unter keinen umständen verwechselt werden), und zum andern kann ich das script noch selber nachvollziehen :D

Klar, ich denke, wenn man sich mit linux/ubuntu länger beschäftigt und da ein bisschen mehr drinsteckt als ich, dann ist udev der bessere weg.
aber für das was ich vorhabe, reicht das komplett aus, so wie es ursprünglich von Skadi kam.

Nochmal ein dickes Danke an euch alle !

mfg idefix

Skadi

User

Beiträge: 666

Registrierungsdatum: 13.10.2010

Derivat: Ubuntu

Architektur: andere

  • Nachricht senden

31

18.11.2011, 12:03

Hallo,

hier die Lösung mit udev, öffne einen Editor

Quellcode

1
gksu gedit /etc/udev/rules.d/70-ipad-alarm-usb.rules
, füge dort folgendes ein

Quellcode

1
2
SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="05e3"
ACTION=="remove", SYSFS{idVendor}=="05e3", RUN+="/home/mein_Username/bin/ipad_alarm.sh"
, speichere diese Datei mit der Tastenkombi STRG +s ab.
idVendor und mein_Usernamen bitte anpassen
Nun noch das Script zur Auslösung des Alarms unter /home/mein_Username/bin/ipad_alarm.sh, anlegen. Dazu wieder einen Editor öffnen

Quellcode

1
2
mkdir ~/bin # das bin Verzeichnis in Deinem Home Verzeichnis wird angelegt
gedit ~/bin/ipad_alarm.sh
dort folgendes eingeben

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
#
while true; do
    if lsusb |grep '05e3:0727'; # bitte an das Ipad anpassen
        then
                exit
        else
                echo "Alarm die Verbindung wurde getrennt"
                aplay /home/theo/bin/sirenwawa.wav # den Pfad zur Sounddatei bitte anpassen
    fi
done
exit 0
jetzt das ganze abspeichern und udev neu starten

Quellcode

1
sudo restart udev


Ich habe es selbst getestet, es funktioniert wunderbar. Sobald der Ipad getrennt wird, erklingt ein Alarm, wenn es wieder angesteckt wird, verstummt der Alarm nach 2-3 Sekunden, also absolut ideal. :thumbsup: :thumbsup:
Als Sirenenton habe ich die Polizeisirene der Amerikanischen Polizei ausgewählt.

Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von »Skadi« (18.11.2011, 12:39)


  • »idefix97« ist der Autor dieses Themas

Beiträge: 122

Registrierungsdatum: 27.11.2010

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: Unity

Andere Betriebssysteme: 10.10 Netbook 32bit

  • Nachricht senden

32

02.12.2011, 22:55

Hej

oh gott, Veranstaltung gelaufen, Forum vergessen, wie peinlich :D
Nochmal ein riesengroßes Danke für eure Hilfe ! ! :thumbsup:
@alle, die den Vorschlag mit udev hatten : Danke, ich habe die ganze Geschichte letzendlich doch über die erste Version des Skripts laufen lassen, für unsere Zwecke war der Faktor Nutzen zu kompliziert dabei einfach absolut ideal...
Funktioniert hat es, das hat sich auch bewiesen, allerdings mehr aus Versehen, die ganze Konstruktion inklusive Scheinwerferstange und allem was dazugehört ist ein wenig instabil gewesen und das kabel zu kurz, ergo ist der stecker das eine oder andere mal flöten gegangen :D

Trotzdem - alles gut, danke für eure hilfe !

Mal sehen, so schwierig sah das irgendwie nicht aus, ich glaube, ich werde mich da in nächster zeit mal ein wenig reinarbeiten :D


mfg idefix