You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Gustavo Martinez 76e730075a Readme.md modified 2 years ago
Readme.md Readme.md modified 2 years ago
bbled.png Readme.md modified, assets added 2 years ago
blink_LED3.sh Help on terminal added to the script, Readme.md modified 2 years ago

Readme.md

Control de LED de usuario por medio de script en Bash

El objetivo de este script en Bash 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

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.

#!/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

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.

Si el usuario no conoce los comandos, puede usar help para desplegar la lista de los comandos anteriormente mencionados, o bien al ingresar un comando erróneo saldrá una alerta que indicará que el comando es incorrecto y mostrará todos los comandos a usar.

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
 elif [ "$1" == "help" ]; then
	   echo "This is an application to control User LED 3"
	   echo "List of commands: "
       echo "on - Powers on the LED"
	   echo "off - Powers off the LED"
	   echo "blink - Makes the LED blink"

else
	   echo "Error: This is not a command for this application"
	   echo "These are the commands you can use: "
	   echo "on - Powers on the LED"
	   echo "off - Powers off the LED"
	   echo "blink - Makes the LED blink"	
 fi
 
 echo "Done" 

Ejecución

Para poder ejecutar nuestra aplicación se asigna los permisos necesarios con el siguiente comando:

sudo chmod u+x blink_LED3.sh

Y se ejecuta con cualquiera de los argumentos disponibles.

Encender el LED

./blink_LED3.sh on

Apagar el LED

./blink_LED3.sh off

Parpadear el LED

./blink_LED3.sh blink