Página 1 de 1

No se que ocurre, raspberry se queda pillada...

Publicado: 10 Sep 2017, 18:42
por duffmann2
Buenas gente...

Hace un tiempo que estoy con un proyecto de domotizar una caseta.... el caso es que funcionar funciona, pero durante un cierto tiempo y es ahi mi problema.

Yo ejecuto mi script, python final.py y a funcionar todo bien, pero me voy y no se cuando ( 1, 2 o 3 horas despues) vuelvo y la raspberry esta pillada, tengo que reiniciar y empezar de nuevo.

He cambiado la raspberry, he cambiado la fuente ( 5v 7A) he comentado parte del script para que solo ejecute lo mas básico por así decirlo.... y es aquí mis pregunta, puede ser en el nuevo raspbian tenga un modo suspensión? puede que tenga algo en el scrip que se este volviendo loca?? alguien entendido en python puede revisar el codigo a ver si estoy haciendo algo que se vuelva loco? aguna idea o algo que pueda probar?, hay alguien que le haya ocurrido lo mismo? Aqui os dejo el codigo para que lo veais. Un saludo y gracias
#librerias
import pygame
#import lcddriver
import time
from time import sleep
import datetime
import os
import glob
import sys
#import Adafruit_DHT
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
#variables
#display = lcddriver.lcd()
#sensor = Adafruit_DHT.DHT22
BeepPin = 12 # pin12
pin = 4
relepin = 32
Motor1A = 11
Motor1B = 13
Motor1C = 15
Motor1D = 19
GPIO.setup(Motor1A,GPIO.OUT)
GPIO.setup(Motor1B,GPIO.OUT)
GPIO.setup(Motor1C,GPIO.OUT)
GPIO.setup(Motor1D,GPIO.OUT)
GPIO.setup(37, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.setup(40, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.setup(BeepPin, GPIO.OUT) # Set BeepPin's mode is output
GPIO.setup(relepin, GPIO.OUT)
TIME = 10
HOME = "/home/pi/Desktop/lcd/"
TONE1 = "tone1.mp3"

def buzzer():
GPIO.output(BeepPin, GPIO.LOW)
time.sleep(0.1)
GPIO.output(BeepPin, GPIO.HIGH)
time.sleep(0.1)

def rele():
GPIO.output(relepin, GPIO.LOW)
time.sleep(2)
def rele1():
GPIO.output(relepin, GPIO.HIGH)
time.sleep(2)

def abrimotor():
GPIO.output(Motor1A,GPIO.HIGH)
GPIO.output(Motor1B,GPIO.LOW)
sleep(2)
buzzer()

def cerrarmotor():
GPIO.output(Motor1A,GPIO.LOW)
GPIO.output(Motor1B,GPIO.HIGH)
sleep(2)

def pararmotor():
GPIO.output(Motor1A,GPIO.LOW)
GPIO.output(Motor1B,GPIO.LOW)
sleep(2)

#def lcd1():
# display.lcd_display_string("Bienvenido", 1) # Write line of text to first line of display
# display.lcd_display_string("Sr. Stark!", 2)
# sleep(3)
# display.lcd_clear()

#def lcd2():
# display.lcd_display_string("Hasta pronto", 1) # Write line of text to fir$
# display.lcd_display_string("Armando Sistema", 2)
# sleep(3)
# display.lcd_clear()

def musica():
pygame.mixer.music.load(HOME+TONE1)
pygame.mixer.music.play()
sleep(TIME)
pygame.mixer.music.fadeout(15000)
pygame.mixer.stop()

#def sensortemp():
# humidity, temperature = Adafruit_DHT.read_retry(sensor,pin)
# display.lcd_display_string(("H: %d %%" % humidity + "T: %d C" % temperature), 1)
#display.lcd_display_string("Hola ", 2)

GPIO.setwarnings(False)
pygame.init()
rele()
try:
print("Writing to display")
while True:
# display.lcd_display_string(str(datetime.datetime.now().time()), 2)
# sensortemp()
if (GPIO.input(37) ==1) :
# display.lcd_clear()
rele1()
sleep(0.1)
# lcd1()
sleep(0.1)
musica()
sleep(1)
elif ( GPIO.input(40) ==1) :
# display.lcd_clear()
# lcd2()
sleep(1)
rele()
except KeyboardInterrupt: # If there is a KeyboardInterrupt (when you press ctr$
# display.lcd_clear()
GPIO.cleanup()
ImagenImagen

Re: No se que ocurre, raspberry se queda pillada...

Publicado: 10 Sep 2017, 20:18
por egrueda
Sinceramente, decir que la "raspberry esta pillada" es poca información, por no decir ninguna.
¿Responde a ping? ¿Puedes acceder por SSH? ¿Qué está mostrando en pantalla? ¿Puedes ejecutar un dmesg?

Re: No se que ocurre, raspberry se queda pillada...

Publicado: 10 Sep 2017, 22:24
por duffmann2
NO hace ping, no accede por ssh, en monitor se muestra pues eso pillada no mueve raton, no teclado .... pilada total. Apagar encender y funcionar de nuevo. He cambiado de raspberry y hace lo mismo ergo tiene que ser de codigo?

Re: No se que ocurre, raspberry se queda pillada...

Publicado: 11 Sep 2017, 08:16
por egrueda
Habría que revisar los logs para ver qué ha ocurrido exactamente.
Podría ser un kernel panic, problema del sistema de ficheros, exceso de tempreratura...
Puedes instalar RPi-Monitor para tener gráficas y saber en qué momento ha dejado de funcionar y en qué estado estaba cuando ocurrió (http://rpi-experiences.blogspot.com.es/ ... nitor.html)
Pero igualmente debes mirar en el syslog (o con journalctl) para ver qué ha ocurrido antes de colgarse.

Re: No se que ocurre, raspberry se queda pillada...

Publicado: 11 Sep 2017, 08:52
por duffmann2
Muchisimas gracias, lo hare a ver que dice que pasa! muchas gracias por el aporte.

Re: No se que ocurre, raspberry se queda pillada...

Publicado: 20 Sep 2017, 10:39
por alexperezl
Me pasa más o menos lo mismo en otras condiciones.

Tengo una raspi3 enganchada a Boinc, 4 cores al 100% perpetuos, con un ventilador externo, la temperatura está monitorizada, la red está monitorizada con un script que si detecta que está down la vuelve a levantar.

Sin embargo, hay veces que se queda "frita", deja de ejecutar el script, de ser accesible por ssh etc.. Tendré también que revisar el syslog a ver si aparece algo.

Re: No se que ocurre, raspberry se queda pillada...

Publicado: 30 Sep 2017, 00:18
por duffmann2
no se ... estoy totalmente sin una idea de que hacer...

Re: No se que ocurre, raspberry se queda pillada...

Publicado: 09 Nov 2017, 17:59
por duffmann2
nueva update

si que puedo acceder por ssh cuando se queda pillada, vuelvo a ejecutar el scrip y funciona .... ergo tiene que ser algo de codigo y seguro que sera por el while....