Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

320
Vistas
Ejecutar un script de python que incluye comandos GPIO por cron en Raspberry Pi 2

Medioambiente

  • frambuesa pi 2
  • raspbian-jessie-lite
  • Windows 8.1
  • Masilla 0.66 (SSH)

Tema

No puedo hacer que cron ejecute un script de python con sudo. El script se ocupa de la entrada GPIO, por lo que debe llamarse con sudo. Se supone que el programa guarda la temperatura y la humedad en los archivos, pero cat temp.txt y cat humid.txt me dieron cadenas vacías.

crontab

sudo crontab -e

 * * * * * python /home/dixhom/Adafruit_Python_DHT/examples/temphumid.py 1>>/tmp/cronoutput.log 2>>/tmp/cronerror.log

secuencia de comandos de pitón

 #!/usr/bin/python import sys import Adafruit_DHT import datetime # Adafruit_DHT.DHT22 : device name # 4 : pin number humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 4) if humidity is not None: f = open("humid.txt","w") str = '{0}, {1}'.format(datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S"), humidity) f.write(str) else: print 'Failed to get reading. Try again!' sys.exit(1) if temperature is not None: f = open("temp.txt","w") str = '{0}, {1}'.format(datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S"), temperature) f.write(str) else: print 'Failed to get reading. Try again!' sys.exit(1)

cronerror.log y cronoutput.log

(vacío)

lo que probé

  • sudo crontab -e
  • /usr/bin/python en cron
  • chkconfig cron (cron encendido)
  • sudo apt-get update sudo apt-get upgrade
  • sudo reboot

Cualquier ayuda sería apreciada. Gracias.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Opción 1: puede editar /etc/crontab . Allí puede especificar qué usuario ejecutará el trabajo respectivo en una columna justo después de la programación.

Opción 2: edite el crontab de root usando

 sudo su crontab -e

Iría por la segunda opción porque esto es lo que sugieren los documentos ...

(Descargo de responsabilidad: no se aceptan garantías con respecto a las cosas de GPIO. Solo asumo que tiene razón con "necesita sudo", porque nunca hago GPIO en el raspi. Así que me referí a ejecutar un script solo como root).

over 4 years ago · Santiago Trujillo Denunciar

0

El problema eran las rutas relativas. Los datos se guardaron en un lugar diferente de lo que estaba viendo.

Cambiando

 f = open("humid.txt","w")

para

 f = open("/home/dixhom/Adafruit_Python_DHT/examples/humid.txt","w")

resolver el problema

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda