Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/10/2015, 08:29
jfbenavid
 
Fecha de Ingreso: octubre-2015
Ubicación: Cartagena, Colombia
Mensajes: 3
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Problema Django en RPi

Muchas gracias por la ayuda Carlagueitor, el dia de ayer extrañamente me salio un error distinto cuando trataba de tomar pantallazo del error que me salia, esta vez me salio este error:

Local variable 'luz' referenced before assignment

no entiendo cual pueda ser el error ya que soy un poco nuevo en python, el codigo(nuevamente) es este:

Views.py

Código Python:
Ver original
  1. def ProcesoLuz(request, id_puerto, valor, tipo):
  2.     try:
  3.         iPuerto = int(id_puerto)
  4.         iValor  = int(valor)
  5.  
  6.         luz = Luz.objects.get(puerto = iPuerto)
  7.         if (tipo == "l"):
  8.             luz.valorLuz = iValor
  9.             luz.valorDimmer = 0 if (luz.valorLuz == 0) else 100
  10.         else:
  11.             luz.valorDimmer = iValor
  12.        
  13.         luz.save()
  14.         print "el valor es %d y el puerto es %d" % (iValor, iPuerto)
  15.        
  16.         #aqui se hace el envio de datos a la clase ProcesosLuces para que haga el proceso respectivo       
  17.         rpi = ProcesosLuces(iPuerto, iValor)
  18.         rpi.ProcesoRaspberry()
  19.        
  20.         lista = [{'puerto':luz.puerto, 'valorLuz':luz.valorLuz, 'valorDimmer':luz.valorDimmer}]
  21.         sJsonLuz = json.dumps(lista)
  22.         print sJsonLuz
  23.         return HttpResponse(sJsonLuz)
  24.     except Exception, e:
  25.         print "Error en ProcesoLuz: %s" % e

----------------------------------------------------------------
models.py

Código Python:
Ver original
  1. class ProcesosLuces():
  2.     def __init__(self, id_puerto, valor):
  3.         self.puerto = id_puerto
  4.         self.valor = valor
  5.  
  6.     def ProcesoRaspberry(self):
  7.         print "Aqui es Models.py este es el puerto: %s y el valor es este %s" % (self.puerto, self.valor)
  8.         #aqui se hace el proceso de la luz en el puerto de la raspberry
  9.         try:
  10.             GPIO.setmode(GPIO.BCM)
  11.             GPIO.setup(self.puerto, GPIO.OUT)
  12.             luz = GPIO.PWM(self.puerto, self.valor)
  13.             luz.start(0)
  14.             while True:
  15.                 luz.ChangeDutyCycle(self.valor)
  16.         except Exception, e:
  17.             luz.stop()
  18.             GPIO.cleanup()
  19.             print "Error en ProcesosLuces/ProcesoRaspberry: %s" % e