Partage
  • Partager sur Facebook
  • Partager sur Twitter

Raspberry pi et démon/service

    26 août 2015 à 18:30:05

    Bonjour,

    Je cherche a lancer mon script python au lancemement de la raspi et cela ne fonctionne qu'a moitié.

    J'ai suivi ces deux méthodes : http://www.pihomeserver.fr/2013/05/27/raspberry-pi-home-server-lancer-un-programme-automatiquement-au-demarrage/

    Ainsi que : http://olivierpfeiffer.net/raspberry-pi/

    Et voila mon souçis : Le script ( qui dois prendre une photo ) s'execute ( on vois la led de la camére clignoter ainsi que les print s'afficher dans la console ) mais la photo n'est pas sauvegardé. J'essaye d'écrire dans un fichier et cela ne fonctionne pas non plus.
    Pourtant quand je lance mon programme en ssh tout fonctionne.... Je ne comprends pas trop.

    Voila le script :

    #!/usr/bin/python
    import picamera
    import time
    
    fichier = open("erreur.txt", "a")
    camera = picamera.PiCamera()
    time.sleep(5)
    i = 0
    while i <= 0:
    	print(i)
    	i = i + 1
    	try :
    		camera.resolution = (2592, 1944)
    		camera.start_preview()
    		time.sleep(3)
    		dateOfPic=time.strftime('%d-%m-%y_%H:%M:%S',time.localtime())
    		print(str(dateOfPic))
    		fichier.write(" j'arrive la")
    	
    		camera.capture('UHD-'+str(i)+'-'+str(dateOfPic)+'.jpg')
    		fichier.write(" j'arrive ici")
    	except :
    		fichier.write("impossible de prendre photo \n")
    	
    fichier.close()
    Merci de votre lecture
    • Partager sur Facebook
    • Partager sur Twitter
      26 août 2015 à 20:45:43

      Il peut y avoir plusieurs raisons. Comme ça je dirais que l'utilisateur qui exécute le démon n'a pas les droits d'écriture sur les fichiers. Ou pas les droits d'écriture dans le dossier courrant. D'ailleurs je ne sais pas quel est le dossier courrant dans le cadre de l'éxécution d'un démon. Tu devrais plutôt renseigner des chemins absolus.

      • Partager sur Facebook
      • Partager sur Twitter
      Envie de mettre les mains dans le cambouis ? Passez à Funtoo GNU/Linux. DO IT!
        27 août 2015 à 18:05:52

        Salut, c'est ce que je faisais .
        Dans mon /etc/init.d j'écrivais : 

        python /home/py/script.py



        ça ne marchais pas. Deux " raisons " , seulement le ./script.py marche et je dois me placer dans le dossier et ensuite éxécuter, comme ça

        cd /home/pi
        ./script.py 

        Du coup j'ai fini par trouver mais par contre je comprends pas. Souvent c'est le : ./script.py qui ne fonctionne pas et le python script.py qui marche, la c'est l'inverse. Et je ne saisi pas pourquoi le faite de se placer dans le dossier me permets de bien sauvegarder la photo et de toucher au fichier, étrange

        -
        Edité par LowTeast 27 août 2015 à 18:07:43

        • Partager sur Facebook
        • Partager sur Twitter
          27 août 2015 à 18:11:42

          Je parle de ton script en lui même:

          fichier = open("erreur.txt", "a")
          camera.capture('UHD-'+str(i)+'-'+str(dateOfPic)+'.jpg')
          

          Les chemins que tu as spécifiés sont relatifs, ils dépendent du dossier courrant lorsque la commande est exécutée.

          Que tu exécutes python /home/pi/script.py ou /home/pi/script.py au final c'est la même chose, la "vraie" commande qui sera exécutée sera /usr/bin/python /home/pi/script.py. Ton script fonctionne avec ./script.py puisque lors que tu exécute cette commande tu es nécessairement dans le dossier /home/pi. Mais si tu es dans le dossier /home et que tu exécutes pi/script.py, j'imagine qu'il ne fonctionne pas.

          -
          Edité par PyTony 27 août 2015 à 18:16:31

          • Partager sur Facebook
          • Partager sur Twitter
          Envie de mettre les mains dans le cambouis ? Passez à Funtoo GNU/Linux. DO IT!

          Raspberry pi et démon/service

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown