Paso 4: éxito! Ahora vamos a cambiar los pins de I/O
Ahora que está instalado el OpenWrt podemos tratar de alternar pines GPIO.
En mi Meraki router puedo ver pin GPIO 4 está conectado a un LED, si establece alta espero se encenderá el LED, si baja el LED se apagará.
Puedo usar utilidad de gpioctl de openwrt en la línea de comandos para cambiar este pin:
gpioctl set 4
gpioctl claro 4
Cuando este funciona como uno esperaría.
Vamos a hacer este pin I/O accesibles a través de la web.
Interfaz de administración de web de OpenWRT por defecto se llama LuCI. Para cambiar la configuración del servidor web se puede ver en /etc/config/uhttpd, pero para simplificar voy a guardar como-es por ahora, añadir archivos alrededor de lo que ya existe.
La raíz de nuestra web es www y scripts ejecutables en /www/cgi-bin
Crear un archivo ledOn y ledOff, como secuencias de comandos de shell que algo como esto:
#! / bin/sh
echo "tipo de contenido: texto/html"
echo "LED ON"
/usr/bin/gpioctl set 4
exit 0
Cuando termines de hacer seguro configurar correctamente permisos en estos archivos (chmod 755). Luego visitar en su navegador:
http://yourRouter/cgi-bin/ledOn
http://yourRouter/cgi-bin/ledOff
Con este trabajo puede tomar las cosas un paso más y crear un HTML page que utiliza AJAX pide controlar el estado del pin (código de muestra en la foto, ver anexo)