Foros del Web » Programando para Internet » Python »

Problema Django en RPi

Estas en el tema de Problema Django en RPi en el foro de Python en Foros del Web. Buenas tardes, tengo un problema con django en mi Raspberry pi, en Views.py tengo una funcion que hace una llamada a una clase de models ...
  #1 (permalink)  
Antiguo 08/10/2015, 15:36
 
Fecha de Ingreso: octubre-2015
Ubicación: Cartagena, Colombia
Mensajes: 3
Antigüedad: 8 años, 6 meses
Puntos: 0
Problema Django en RPi

Buenas tardes,

tengo un problema con django en mi Raspberry pi, en Views.py tengo una funcion que hace una llamada a una clase de models y a traves de esta ejecuta otra funcion. cuando ejecuto esto en mi pc con Linux funciona, pero cuando uso lo mismo en la raspberry sale error y dice que self no esta definido.

¿que puede estar ocurriendo?
  #2 (permalink)  
Antiguo 08/10/2015, 16:12
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Problema Django en RPi

Suena a que el código está mal, pero poco más se puede adivinar.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 08/10/2015, 16:20
 
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

mi views.py tiene esta funcion:

def ProcesoLuz(request, id_puerto, valor, tipo):
try:
iPuerto = int(id_puerto)
iValor = int(valor)

luz = Luz.objects.get(puerto = iPuerto)
if (tipo == "l"):
luz.valorLuz = iValor
luz.valorDimmer = 0 if (luz.valorLuz == 0) else 100
else:
luz.valorDimmer = iValor

luz.save()
print "el valor es %d y el puerto es %d" % (iValor, iPuerto)

#aqui se hace el envio de datos a la clase ProcesosLuces para que haga el proceso respectivo
rpi = ProcesosLuces(iPuerto, iValor)
rpi.ProcesoRaspberry()

lista = [{'puerto':luz.puerto, 'valorLuz':luz.valorLuz, 'valorDimmer':luz.valorDimmer}]
sJsonLuz = json.dumps(lista)
print sJsonLuz
return HttpResponse(sJsonLuz)
except Exception, e:
print "Error en ProcesoLuz: %s" % e

y la clase que llama en models es esta:

class ProcesosLuces():
def __init__(self, id_puerto, valor):
self.puerto = id_puerto
self.valor = valor

def ProcesoRaspberry(self):
print "Aqui es Models.py este es el puerto: %s y el valor es este %s" % (self.puerto, self.valor)
#aqui se hace el proceso de la luz en el puerto de la raspberry
try:
GPIO.setmode(GPIO.BCM)
GPIO.setup(self.puerto, GPIO.OUT)
luz = GPIO.PWM(self.puerto, self.valor)
luz.start(0)
while True:
luz.ChangeDutyCycle(self.valor)
except Exception, e:
luz.stop()
GPIO.cleanup()
print "Error en ProcesosLuces/ProcesoRaspberry: %s" % e

no entiendo porque en el pc funciona y en la raspberry no...
  #4 (permalink)  
Antiguo 08/10/2015, 16:22
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Problema Django en RPi

Usa el highlight del foro, para que el código mantenga su formato.

¿Y en que linea da el error? ¿Y el traceback?

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 09/10/2015, 08:29
 
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

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:02.