Akustisches Feedback mit Synology DiskStation: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Manchmal kann es nützlich sein, eine Rückmeldung zu bekommen, ob ein Tastendruck vom System empfangen wurde bzw. welchen Status das System nach einer Aktion …“) |
Keine Bearbeitungszusammenfassung |
||
| Zeile 29: | Zeile 29: | ||
set HomeStatus 3;; \ | set HomeStatus 3;; \ | ||
{beep('+ + +')};; \</nowiki> | {beep('+ + +')};; \</nowiki> | ||
[[Kategorie:Code Snippets]] | |||
Version vom 11. Mai 2013, 23:04 Uhr
Manchmal kann es nützlich sein, eine Rückmeldung zu bekommen, ob ein Tastendruck vom System empfangen wurde bzw. welchen Status das System nach einer Aktion hat. Da FS20-LED-Anzeigen vergleichsweise teuer sind (Stand: 10/2012), hier ein Beispiel für Nutzer einer Synology DiskStation (getestet auf DS211j).
Diese kann immerhin einen langen und einen kurzen Piepton erzeugen - diese unterscheiden sich zwar nicht sehr, aber doch genug, dass man damit Signale geben kann. Hierzu den folgenden Programmcode in 99_MyUtils.pm (oder ein beliebiges eigenes Modul) einfügen:
sub beep($) {
# + = Langer Piep
# - = Kurzer Piep
# anderes = Pause
my($s) = @_;
for(my $i=0;$i<length($s);$i++) {
my $x=substr($s,$i,1);
if($x eq "+") {
# 3 = long beep
system("echo 3 >/dev/ttyS1");
} elsif($x eq "-") {
# 2 = short beep
system("echo 2 >/dev/ttyS1");
}
select(undef, undef, undef, 0.25);
}
undef;
}
Damit kann man nun "Melodien" ;) piepen lassen, z.B. beim Verlassen des Hauses, um den Zuhause-Status zu signalisieren.
set HomeStatus 1;; \
{beep('- + -')};; \
...
set HomeStatus 3;; \
{beep('+ + +')};; \