recorder.py 3.02 KB
"""
Created on Thu Jan 11 15:22:56 2018
@author: Robin Cavalieri 
IMA5SC - PFE 2018
P32 - Détection automatique de DoS sur réseau LoRa
"""
##############################################################################
#LIBRAIRIES UTILES 
##############################################################################
import csv;
import serial;  
##############################################################################

##############################################################################
#CONSTANTES
##############################################################################
POPULATION = 5000;
TRAME_SIZE = 13;
##############################################################################

##############################################################################
#FONCTIONS UTILES
##############################################################################
#Enregistre ou non la séquence reçue 
def record_condition(sequence):
    if (0x46 in sequence):
        return True;
    else:
        return False;
##############################################################################

##############################################################################
#DEFINITION DE LA LECTURE DE PORT 
##############################################################################
ser = serial.Serial(      
 #Pour Linux
 #port='/dev/ttyACM0',
 #Pour Windows
 port='COM4',
 #Vitesse de communication
 baudrate = 9600,
 #Parité 
 parity=serial.PARITY_NONE,
 #Bit de stop
 stopbits=serial.STOPBITS_ONE,
 #Taille du message 
 bytesize=serial.EIGHTBITS,
 #Out
 timeout=1
)
counter=0;
##############################################################################

##############################################################################
#ENREGISTREMENT DES TRAMES
##############################################################################
#INITIALISATION
nb_individus = 1;
file_name = "C:/Users/Utilisateur/PFE/python/datasets/trame.csv";
fp = open(file_name, "w");
writer = csv.writer(fp);

#BOUCLE D'ENREGISTREMENT
while(nb_individus <= 50):
 #Vérification du contenu 
 x=ser.readline();
 print(x); 
 #Condition d'enregistrement
 if(record_condition(x)==True):
     writer.writerow(('1', x[0:TRAME_SIZE]));
     nb_individus = nb_individus + 1;
 
#TRAITEMENT DES DONNEES : suppression des caractères inutiles
fp.write(open(file_name).read().replace('\n',''));

#FERMETURE DU FICHIER
fp.close();
##############################################################################
 
##############################################################################
#ENREGISTREMENT DES TEMPERATURES
##############################################################################

##############################################################################
#ENREGISTREMENT DES PING
##############################################################################

##############################################################################
#ENREGISTREMENT DE PUISSANCE DE SIGNAL
##############################################################################