Encendre lleds desde una interficie web en una rasperry pi
Avui os mostrem com fer la administracio d'uns leds de una interficie web a la rasperry pi
Definicio de GPIO
GPIO (General Purpose Input/Output, Entrada/Salida de Propósito General) es un pin genérico en un chip, cuyo comportamiento (incluyendo si es un pin de entrada o salida) se puede controlar (programar) por el usuario en tiempo de ejecución. imatge d'una rasperry pi
Necesitarem : Hardware
rasperry pi 3 Model B
protoboard lleds de colors cable hembra de conexion espeficifica de la rasperry pi
Necessitarem : Software
un raspian instalalt Apache y php instalats uns scripts python per a executa les ordres
Començem
Primer hauriem de escollir quins pins volem escollir en el meu cas he escollit el (4) i el (19)
Pero perque es important escollir el pins ?
Perque tant a l'hora de connectar els cables como a començar a editar el scripts haurem de posar exectament aquest configuracio
Be ya començem haurem de escriure el seguent
On vuerem la estructura del codi per encendre un led
Ara les explicarem començarem per el import RPi.GPIO as GPIO li deiEm a la rasperry que importi les llibreries para las rasperry pi per a GPIO Despres configurarem el sistema de numeracio per a que la rasperry o entengui GPIO.setmode(GPIO.BCM)
Ara configurarem el pin 19 com a surtida GPIO.setup(19, GPIO.OUT) En aquest Ordre li deim que encengui el llum 19 GPIO.output(19 , HIGH)
Amb el script de apagat el canvis son minims ya que sols tiendriem que canviar el seguente valor GPIO.output(19, HIGH) per al valor GPIO.output(19, LOW)
Part del script de configuracio per al parpedeig
Les diferencies mes grans son que necesitem el codi import time per a fer el delays Despres configurarem quantes vegades volem que se apagui i s'encengui amb el valor
I desores de cada script hi ha que lliberar el pins gpio per a no tindre problemes
Sistema d'administracio
En aquest cas podem administrar el que volem fer amb dos metodes : Directament excutant el script que volem mitjant 'sudo python encender19.py O el que voem amb el nostre cas mitjançant una panel web que excuti el scripts depenet de que boto premem
Veurem un exemple
I basicament es basaria en tres botons que fan tres accions (Encendre,apagar,parpadeig) tal i com mostrem a la seguent imatge :
Modificacions de seguretat
Per defecte apache no permet per seguret la posibilitat de que executi programes com a sudo per aixo executarem el comande sudo visudo i modificarem el codi seguent