a400222a
rcavalie
deut application
|
1
2
3
4
5
6
7
8
9
10
11
12
|
"""
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
Main - prédictions, affichage, vérification du trafic
"""
###############################################################################
#LIBRAIRIES UTILES
###############################################################################
import tkinter as tkr;
import time;
|
f0cdc988
rcavalie
travail sur la ré...
|
13
14
15
|
import ANN;
import serial;
import recoder;
|
a400222a
rcavalie
deut application
|
16
17
|
###############################################################################
|
f0cdc988
rcavalie
travail sur la ré...
|
18
19
20
21
22
23
24
25
|
###############################################################################
#VARIABLES GLOBALES
###############################################################################
ping_mesured=0;
rssi_mesured=0;
cpt_trame=0;
result=0;
###############################################################################
|
bdfec245
rcavalie
intégration du ré...
|
26
|
|
f0cdc988
rcavalie
travail sur la ré...
|
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
##############################################################################
#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;
##############################################################################
|
bdfec245
rcavalie
intégration du ré...
|
48
|
|
a400222a
rcavalie
deut application
|
49
50
51
|
###############################################################################
#FONCTIONS UTILES
###############################################################################
|
f0cdc988
rcavalie
travail sur la ré...
|
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
def Data_recover():
x = ser.readline();
debut = time.time();
temp = debut;
#Vérifier si la trame provient d'un emetteur connu
#Travail ici avec un seul et unique emetteur
if(cpt_trame == 0): #PREMIERE TRAME ET TRAME OK
#Récupération du ping
debut = time.time();
temp = debut;
cpt_trame = cpt_trame +1;
elif(cpt_trame > 0 and ): #PAS LA PREMIERE ET TRAME OK
#Récupération du ping
fin = time.time();
ping = (fin-temp)*1000;
#Récupération de la trame
trame = x;
#Récupération de la puissance
x = ser.readline();
#Sortie de boucle
cpt_trame = cpt_trame + 1;
else: #TRAME INCONNUE PREMIERE OU AUTRE
#TRAME INCONNUE = ATTAQUE
result = 1;
|
a400222a
rcavalie
deut application
|
77
|
def Draw():
|
f0cdc988
rcavalie
travail sur la ré...
|
78
|
result = ANN.predictions(ping_mesured, rssi_mesured);
|
a400222a
rcavalie
deut application
|
79
80
81
82
83
84
85
86
87
88
|
#FRAME INFORMATIONS
infos=tkr.Frame(root,width=1000,height=5000,relief='groove',background='white',bd=3);
infos.place(x=10,y=10);
#DATE - HEURE
global text;
text=tkr.Label(infos,text='HELLO');
text.config(font=('arial', 20, 'bold'));
text.config(bg='white', fg='black');
text.pack();
global ping;
|
f0cdc988
rcavalie
travail sur la ré...
|
89
|
ping=tkr.Label(infos,text='\n\nPING(ms) : '+ ping_mesured);
|
a400222a
rcavalie
deut application
|
90
91
92
93
|
ping.config(font=('arial', 20, 'bold'));
ping.config(bg='white', fg='black');
ping.pack();
global rssi;
|
f0cdc988
rcavalie
travail sur la ré...
|
94
|
rssi=tkr.Label(infos,text='\n\nRSSI(dBm) : '+ rssi_mesured);
|
a400222a
rcavalie
deut application
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
rssi.config(font=('arial', 20, 'bold'));
rssi.config(bg='white', fg='black');
rssi.pack();
global trame;
trame=tkr.Label(infos,text='\n\nTrame :');
trame.config(font=('arial', 20, 'bold'));
trame.config(bg='white', fg='black');
trame.pack();
#FRAME CHART
chart=tkr.Frame(root,width=985,height=530,relief='groove',background='white',bd=3);
chart.place(x=370,y=10);
#PIED DE PAGE
footer=tkr.Frame(root,width=1350,height=150,relief='groove',background='white',bd=3);
footer.place(x=10,y=550);
def Refresher():
global text;
text.configure(text=time.asctime());
root.after(1000, Refresher);#Refresh toutes les secondes
|
bdfec245
rcavalie
intégration du ré...
|
117
118
119
|
###############################################################################
#AFFICHAGE
###############################################################################
|
a400222a
rcavalie
deut application
|
120
121
122
123
124
|
root=tkr.Tk();
Draw();
Refresher();
root.mainloop();
###############################################################################
|