Saltar al contenido

Gnu/Linux Vagos usa cookies. Lea nuestra Política de privacidad para más información.    Acepto el uso de cookies

Foto
Ayuda GNU/Linux

error al iniciar script en raspbian

Ayuda GNU/Linux script raspbian raspberry

Solución wsn , 23 January 2016 - 03:55

Hola!

 

Aquí tienes una guía, creo que no es la misma que has seguido, quizás te sirva de ayuda.

 

-> http://www.instructa...utton/?ALLSTEPS

 

Parece que hay algunas diferencias entre tu código y el de la guía, posiblemente la clave este en como se ejecuta el "script" y con que permisos.

#!/usr/bin/python

# Import the modules to send commands to the system and access GPIO pins
import RPi.GPIO as gpio
import os

#Set pin numbering to board numbering
gpio.setmode(gpio.BOARD)

#Set up pin 7 as an input
gpio.setup(7, gpio.IN) 

# Set up an interrupt to look for pressed button
gpio.wait_for_edge(7, gpio.FALLING) 

# Shutdown
os.system('shutdown now -h')

Next we need a shell script that starts our Python script with root access.

Put the shell script in the same directory as our Python script.

 

pishutdown.sh

#!/bin/sh
cd / cd home/pi/pishutdown sudo python pishutdown.py cd /
Add a logging directory by typing:
mkdir /home/pi/pishutdown/logs

Use crontab to autostart the script.

Open the crontab editor by typing sudo crontab -e in the Console.

Append the following line:

@reboot sh /home/pi/pishutdown/pishutdown.sh >/home/pi/pishutdown/logs/cronlog 2>&1

Creo que este tema es para la sección http://gnulinuxvagos...s-raspberry-pi/

Ir al mensaje


  • Por favor, loguéate para poder responder
2 respuestas a este tema

#1 DESCONECTADO   ibra

ibra

    Recién llegado

  • Registrado: 22/01/2016
  • Mensajes: 2
  • Galletas: 5



Escrito 22 January 2016 - 22:49

Hola, os escribo para ver podéis solucionarme un problema que me esta dando varios dolores de cabeza.

Estoy utilizando una raspberry, con el Raspbian, de cara a andar trasteando e introduciéndome en el mundillo de la frambuesa.

Una de las pruebas que estoy llevando a cabo, es la incorporación de un pulsador para poder apagar la Raspberry. He incorporado un script para ello. Es el siguiente:

# Import the modules to send commands to the system and access GPIO pins
from subprocess import call
import RPi.GPIO as gpio

# Define a function to keep script running
def loop():
raw_input()

# Define a function to run when an interrupt is called
def shutdown(pin):
call('halt', shell=False)

gpio.setmode(gpio.BOARD) # Set pin numbering to board numbering
gpio.setup(7, gpio.IN) # Set up pin 7 as an input
gpio.add_event_detect(7, gpio.RISING, callback=shutdown, bouncetime=200) # Set up an interrupt to look for button presses

loop() # Run the loop function to keep script running

Dicho programa consigo hacerlo correr en el terminal y funciona. O sea, cuando presiono el pulsador, se apaga.

El problema esta en que el script inicia con error al arrancar la maquina. Lo incorporo al archivo:

sudo nano /etc/rc.local

python /home/off.py


El error en sí viene marcado en la línea:

File "/home/off.py, line 17, in <module>
   loop() # Run the loop function to keep script running
​File "/home/off.py, line 7, in loop
   raw_input()
EOFError: EOF when reading a line
 
A ver si podéis ayudarme a solucionar el problema. Llevo poco tiempo en el mundo GNU/Linux y se me escapan muchas cosas de este amplio universo.

Salud y gracias por adelantado
  • Rohlling y wsn les gusta esto

#2 DESCONECTADO   wsn

wsn

    Miembro

  • Registrado: 08/01/2016
  • Mensajes: 152
  • Galletas: 586

Género:






Lugar:Islas Canarias.

Intereses:C/C++ & GNU/Linux.

Escrito 23 January 2016 - 03:55   Solución

Hola!

 

Aquí tienes una guía, creo que no es la misma que has seguido, quizás te sirva de ayuda.

 

-> http://www.instructa...utton/?ALLSTEPS

 

Parece que hay algunas diferencias entre tu código y el de la guía, posiblemente la clave este en como se ejecuta el "script" y con que permisos.

#!/usr/bin/python

# Import the modules to send commands to the system and access GPIO pins
import RPi.GPIO as gpio
import os

#Set pin numbering to board numbering
gpio.setmode(gpio.BOARD)

#Set up pin 7 as an input
gpio.setup(7, gpio.IN) 

# Set up an interrupt to look for pressed button
gpio.wait_for_edge(7, gpio.FALLING) 

# Shutdown
os.system('shutdown now -h')

Next we need a shell script that starts our Python script with root access.

Put the shell script in the same directory as our Python script.

 

pishutdown.sh

#!/bin/sh
cd / cd home/pi/pishutdown sudo python pishutdown.py cd /
Add a logging directory by typing:
mkdir /home/pi/pishutdown/logs

Use crontab to autostart the script.

Open the crontab editor by typing sudo crontab -e in the Console.

Append the following line:

@reboot sh /home/pi/pishutdown/pishutdown.sh >/home/pi/pishutdown/logs/cronlog 2>&1

Creo que este tema es para la sección http://gnulinuxvagos...s-raspberry-pi/


Editado por wsn, 23 January 2016 - 04:20 .

  • eMix, Rohlling y ibra les gusta esto

No es conveniente asumir que lo que uno encuentra en buscadores de la red es información actualizada.


#3 DESCONECTADO   ibra

ibra

    Recién llegado

  • Registrado: 22/01/2016
  • Mensajes: 2
  • Galletas: 5



Escrito 25 January 2016 - 21:54

Hola.

Gracias por la indicación dada.

Probe la manera que me indicabas y funciona de maravilla. 100%

Un saludo!
  • eMix, Rohlling y wsn les gusta esto





También etiquetado con una o más de estas palabras: Ayuda GNU/Linux, script, raspbian, raspberry