from picamera import PiCamera
from time import sleep
from datetime import datetime

from time import sleep
import serial

ser = serial.Serial(port='/dev/ttyS0',
                    baudrate = 9600,
                    parity=serial.PARITY_NONE,
                    stopbits=serial.STOPBITS_ONE,
                    bytesize=serial.EIGHTBITS,
                    timeout=1)
                    
#Mettre en mode veille le SIGFOX
str_Send = "AT$P=1\n"
ser.write(str_Send.encode('ascii'))

camera = PiCamera()
camera.resolution = (640, 640)
camera.rotation = 90

max = -1

while(1):
    #Temps d attente entre chaque photos
    sleep(10)
    
    #Ne lancer la prise de photos que dans une certaine plage horaire
    if datetime.now().hour <= 21 and datetime.now().hour >= 7 :
        #Prise image
        camera.capture('/media/pi/D0A3-D4F2/Images/image_%s.jpg' % datetime.now().strftime("%y-%m-%d-%H-%M-%S"))

        max = max + 1

        if max%360 == 0:
            #Sortir du mode veille
            str_Send = "AT$P=0\n"
            ser.write(str_Send.encode('ascii'))
            sleep(1)
            #Envoyer message sans retour
            str_Send = "AT$SF=0000\n"
            ser.write(str_Send.encode('ascii'))
            sleep(1)
            #Mettre en mode veille
            str_Send = "AT$P=1\n"
            ser.write(str_Send.encode('ascii'))