Skocz do zawartości

Automatyczne uruchomienie kamery/skryptu pythona po włączeniu raspberry


A10

Pomocna odpowiedź

Cześć,

Chcę uruchamiać kamerkę i przesyłać obraz na ekran automatycznie po uruchomieniu raspberry pi zero.

Mam napisany program do wyświetlania obrazu z warunkowym wyjściem z programu przez naciśnięcie spacji

from picamera import PiCamera
from time import sleep
import readchar

camera=PiCamera()
camera.rotation = 270

camera.start_preview()
sleep(10)
while(1):
  sleep(1)
  x=readchar.readkey()
  if x == " ":
    break
camera.stop_preview()

przy uruchomieniu kodu przez terminal wszystko działa w porządku.

Do uruchomienia używam pliku *.desktop w folderze autostart w .config

[Desktop Entry]
Exec = python /home/pi/Desktop/nv.py

Przy uruchomieniu rpi włącza mi kamerkę na chwile (10 sekund ze sleepa) a potem wyłącza się i przechodzi do pulpitu.

Próbowałem już z rc.local i crontabem ale nie działa.

Jak temu zaradzić? Czy jest to w jakiś sposób powodowane przez breaka w kodzie?

Link do komentarza
Share on other sites

13 minut temu, A10 napisał:

Jak temu zaradzić?

Masz program który używa readchar, a readchar działa wyłącznie w konsoli/terminalu. Jak sobie wyobrażasz działanie tego czegoś? Chcesz nacisnąć spację i program ma przestać działać? Jakie okno ma być aktywne w czasie naciskania tej spacji? Najprościej - uruchomić program w terminalu - np. dodaj do aktywatora linijkę:

Terminal=true

W tej sytuacji jaką masz program wywołuje readchar.readkey(), funkcja stwierdza że nie ma terminala i rzuca wyjątkiem, w efekcie program kończy się błędem. Ty tego nie widzisz, bo program nie ma gdzie wyświetlić komunikatu (to znaczy gdzieś go wyświetla, ale Ty tego nie widzisz). I żaden break nie jest tu winien, bo program nawet do niego nie dochodzi...

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.