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)

#Envoyer test fonctionnement, le module doit renvoyer Ok
str_Send = "AT\n"
print("Message : " +str_Send)
ser.write(str_Send.encode('ascii'))
str_Receive = ser.readline()
sleep(1)
print("Retour : " +str_Receive.decode('ascii'))

#Envoyer demande ID, le module doit renvoyer l'ID
str_Send = "AT$I=10\n"
print("Demande ID : " +str_Send)
ser.write(str_Send.encode('ascii'))
#Reception ID
str_Receive = ser.readline()
sleep(1)
print("Retour : " +str_Receive.decode('ascii'))

#Envoyer demande PAC, le module doit renvoyer le PAC
str_Send = "AT$I=11\n"
print("Demande PAC : " +str_Send)
ser.write(str_Send.encode('ascii'))
#Reception PAC
str_Receive = ser.readline()
sleep(1)
print("Retour : " +str_Receive.decode('ascii'))

#Envoyer message vers le réseau Sigfox
str_Send = "AT$SF=0FAA\n"
print("Message : " +str_Send)
ser.write(str_Send.encode('ascii'))

#Se mettre en mode veille
str_Send = "AT$P=0\n"
print("Message : " +str_Send)
ser.write(str_Send.encode('ascii'))
sleep(10)

#Sortir du mode veille
str_Send = "AT$P=1\n"
print("Message : " +str_Send)
ser.write(str_Send.encode('ascii'))