| @ -0,0 +1,74 @@ | |||
| # Control de LED de usuario por medio de script en Shell | |||
| El objetivo de este script en Shell es controlar uno de los LED's de usuario | |||
| integrados en la BeagleBone Black por medio de los registros del sistema. | |||
|  | |||
| ## Header | |||
| En la primera línea de nuestro script se añade una línea con la dirección de los binarios | |||
| de bash, al momento en que se lea esta línea, sabrá como debe ejecutar el script | |||
| sin que lo indiquemos en la terminal. De igual forma, se define la dirección del LED 3 | |||
| dónde se encuentran los registros a modificar. | |||
| Al ser bash el lenguaje con el que se interactúa en la terminal, no se necesitan librerías | |||
| para las entradas y salidas de nuestro script. | |||
| ```console | |||
| #!/bin/bash | |||
| LED3_PATH=/sys/class/leds/beaglebone:green:usr3 | |||
| ``` | |||
| ### Trigger | |||
| Se desarrolla la función que deshabilitará el trigger del LED, utilizando el comando *echo* | |||
| que nos permite modificar o agregar valores a los archivos | |||
| ```console | |||
| function removeTrigger | |||
| { | |||
| echo "none" >> "$LED3_PATH/trigger" | |||
| } | |||
| ``` | |||
| ## Main | |||
| En la parte principal de nuestro código, se inicia un ciclo if que evaluará los argumentos | |||
| ***on***, ***off*** y ***blink***; al igual que en la función removeTrigger, el estado del LED se | |||
| controlará modificando el registro *brightness* con el comando *echo*, para el parpadeo del | |||
| LED se usará el comando *sleep* que definirá el tiempo de inicio y apagado en segundos. | |||
| ```console | |||
| echo "The LED3 user is starting" | |||
| if [ "$1" == "on" ]; then | |||
| echo "LED on" | |||
| removeTrigger | |||
| echo "1" >> "$LED3_PATH/brightness" | |||
| elif [ "$1" == "off" ]; then | |||
| echo "LED off" | |||
| removeTrigger | |||
| echo "0" >> "$LED3_PATH/brightness" | |||
| elif [ "$1" == "blink" ]; then | |||
| "LED blinking" | |||
| removeTrigger | |||
| echo "1" >> "$LED3_PATH/brightness" | |||
| sleep 0.5 | |||
| echo "0" >> "$LED3_PATH/brightness" | |||
| sleep 0.5 | |||
| fi | |||
| echo "Done" | |||
| ``` | |||
| ## Ejecución | |||
| Se cambian los permisos de nuestro script. | |||
| ```console | |||
| sudo chmod u+x blink_LED3.sh | |||
| ``` | |||
| Y se ejecuta con cualquiera de los argumentos mencionados anteriormente. | |||
| ```console | |||
| ./blink_LED3.sh blink | |||
| ``` | |||