diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..c31dd6a --- /dev/null +++ b/Readme.md @@ -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. + +![BeagleBone Black y sus LED's de usuario](bbled.png) + +## 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 +``` \ No newline at end of file diff --git a/bbled.png b/bbled.png new file mode 100644 index 0000000..c7b2208 Binary files /dev/null and b/bbled.png differ