Encendre lleds desde una interficie web en una rasperry pi

De Wiket
Salta a la navegació Salta a la cerca

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 Pi3 gpio.png


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

Encendido.PNG

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)

Apagar script

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 Parpadeig.PNG

I desores de cada script hi ha que lliberar el pins gpio per a no tindre problemes

Gpio li.PNG

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

Web.PNG

I basicament es basaria en tres botons que fan tres accions (Encendre,apagar,parpadeig) tal i com mostrem a la seguent imatge :

Gpio Web.PNG

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

Visudo.PNG Una vegada realitza funcinari desde la ppagina web Aqui veiem el projecte funcionant:

Protoboard.PNG

Incidencias a la practica

  • Posar el pins malaments
  • Posar el lleds amb l'ordre incorrecte
  • No posar punt i coma al codi php
  • Posar els conectors hembra al reves
  • El cable malament connectas

Video del funcionament =

[[1]]