Bonjour à tous,
Suite à la nouvelle mise à jour du logiciel de raspberry pi pour installer l’IOS dans les cartes, je me suis retrouvée donc avec une version plus récente que Bullseye, ici Bookwom, suite à un changement de carte pour mon projet.
Au début tout aller bien, jusqu’à ce que je demande à exécuter ce programme:
import RPi.GPIO as gp
import os
import time
import subprocess
import datetime
gp.setwarnings(False)
#gp.setmode(gp.BCM)
gp.setmode(gp.BOARD)
gp.setup(7, gp.OUT)
gp.setup(11, gp.OUT)
gp.setup(12, gp.OUT)
gp.setup(36, gp.OUT)
def main():
start_time = datetime.datetime.now()
end_time = start_time + datetime.timedelta(hours=1, minutes=30)
i = 0
while datetime.datetime.now() < end_time:
loop=time.monotonic()
while time.monotonic() - loop < 5:
gp.output(36, gp.HIGH)
print(f’Start testing the camera A (iteration {i})')
i2c = « i2cset -y 1 0x70 0x00 0x04 »
os.system(i2c)
gp.output(7, False)
gp.output(11, False)
gp.output(12, True)
max_retries = 3
for _ in range(max_retries):
try:
subprocess.run(["libcamera-still", "-t", "800", "-o", "/home/pi/RaspberryPi/Multi_Camera_Adapter_V2.2_python/photo/" + str(i) + "_cam1.jpeg"])
break
except subprocess.CalledProcessError:
print("Error: Device timeout detected, attempting a restart !!!")
time.sleep(1) # Ajouter un délai avant de réessayer
continue
else:
print("Error: Unable to recover after multiple retries.")
i2c = "i2cset -y 1 0x70 0x00 0x06"
time.sleep(0.2)
print(f'Start testing the camera C (iteration {i})')
os.system(i2c)
gp.output(7, False)
gp.output(11, True)
gp.output(12, False)
for _ in range(max_retries):
try:
subprocess.run(["libcamera-still", "-t", "800", "-o", "/home/pi/RaspberryPi/Multi_Camera_Adapter_V2.2_python/photo/" + str(i) + "_cam2.jpeg"])
break
except subprocess.CalledProcessError:
print("Error: Device timeout detected, attempting a restart !!!")
time.sleep(1) # Ajouter un délai avant de réessayer
continue
else:
print("Error: Unable to recover after multiple retries.")
i = i + 1
gp.output(36, gp.LOW)
time.sleep(6)
if name == « main »:
try:
main()
finally :
gp.output(7, False)
gp.output(11, False)
gp.output(12, True)
subprocess.run([« pkill », « -9 », « libcamera-still »]) # Ferme les processus libcamera-still
subprocess.run([« pkill », « -9 », « lxterminal »]) # Ferme les terminaux lxterminal
Je tiens à préciser que ce programme est un programme de capture d’image sur un minuteur définis avec 2 caméras qui a toujours très bien fonctionné.
Depuis cette nouvelle mise à jour, voici ce qu’il se passe, je lance donc mon programme celui-ci va s’exécuter pendant 12min avant que le login raspberry pi apparaissent et me demande de me connecter. Ce qui provoque la fermeture de mon code qui n’a pas pus s’exécuter pendant les 1h30 indiqué dans mon programme.
Est-ce que quelqu’un a le même problème que moi et si il y a une solution pour éviter la demande de login ?
Merci à tous