2013-06-19 16 views
6

Widziałem kilka pytań (i wpisów na blogach, gdzie indziej) z kodem Java do kontrolowania powiadomienia LED na urządzeniu z systemem Android. Nie tego szukam.Sterowanie Androidem LED z powłoki

Zastanawiam się, czy istnieje jakikolwiek sposób uzyskania dostępu do odpowiednich poleceń/kontroli/frameworków z powłoki (Perl, ruby).

W końcu chcę mieć bardzo prosty impuls "pulsu" - gdy urządzenie jest włączone, a wyświetlacz jest wyłączony, mrugam do mnie.

Alternatywnie, jeśli ktoś napisał naprawdę prostą aplikację "zabawkową", która miga diodą LED, chętnie bym z nią zagrał.

Odpowiedz

10

można znaleźć wszystkie diody LED urządzenia pod

/sys/class/leds/ 

W moim przypadku, mam następujące diody

amber 
button-backlight 
flashlight 
green 
lcd-backlight 

Jeśli spojrzeć wewnątrz „zielony”, widzę

> cd green 
> ls 
blink 
brightness 
currents 
device 
lut_coefficient 
max_brightness 
off_timer 
power 
pwm_coefficient 
subsystem 
trigger 
uevent 

Pliki te są interfejsami do modułu jądra, który kontroluje diody LED. W tym przypadku myślę, że są to urządzenia char. Możesz użyć komendy "echo" i "cat" do komunikacji z modułem jądra. Tutaj przykład ..

echo 1 > brightness # Turn on led 
echo 0 > brightness # Turn off led 

Aby wprowadzić impuls "pulsu", jak wspomniano, powinienem rzucić okiem na "mrugnięcie". Jeśli nie chcesz wykonywać inżynierii odwrotnej, może to być dobry punkt wejścia do sprawdzenia, co dzieje się w jądrze leds-gpio.c