Commit a629f0c77e5ba15b1430321aaa649cd127a7c756

Authored by Antoine Moreau
1 parent 5227cd0e

Fin.

@@ -20,7 +20,7 @@ int initializeSocketUDP(char* service, char* adresse) @@ -20,7 +20,7 @@ int initializeSocketUDP(char* service, char* adresse)
20 precisions.ai_socktype = SOCK_DGRAM; 20 precisions.ai_socktype = SOCK_DGRAM;
21 21
22 /*"172.26.145.35"*/ 22 /*"172.26.145.35"*/
23 - if(getaddrinfo("192.168.1.20", service, &precisions, &origine)<0) { fprintf(stderr, "Erreur getaddrinfo\n"); return(-1); } 23 + if(getaddrinfo(adresse, service, &precisions, &origine)<0) { fprintf(stderr, "Erreur getaddrinfo\n"); return(-1); }
24 24
25 for(struct addrinfo* i=origine; i!=NULL && resultat==NULL; i=i->ai_next) 25 for(struct addrinfo* i=origine; i!=NULL && resultat==NULL; i=i->ai_next)
26 { 26 {
@@ -42,9 +42,6 @@ int initializeSocketUDP(char* service, char* adresse) @@ -42,9 +42,6 @@ int initializeSocketUDP(char* service, char* adresse)
42 if(setsockopt(sock_id, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val))<0) { fprintf(stderr, "Erreur setsockopt\n"); return(-1); } 42 if(setsockopt(sock_id, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val))<0) { fprintf(stderr, "Erreur setsockopt\n"); return(-1); }
43 43
44 44
45 - if(bind(sock_id, resultat->ai_addr, resultat->ai_addrlen)) { fprintf(stderr, "Erreur bind\n"); return(-1); }  
46 -  
47 -  
48 freeaddrinfo(origine); 45 freeaddrinfo(origine);
49 return sock_id; 46 return sock_id;
50 } 47 }
@@ -7,16 +7,14 @@ @@ -7,16 +7,14 @@
7 #include <time.h> 7 #include <time.h>
8 #include "libnet.h" 8 #include "libnet.h"
9 9
10 - 10 +#define ADRESSE "172.26.145.205"
11 #define SZ_DEV_PCAP 10 11 #define SZ_DEV_PCAP 10
12 12
13 13
14 // Fonction lors de la detection d'un paquet 14 // Fonction lors de la detection d'un paquet
15 void arp_detect() 15 void arp_detect()
16 { 16 {
17 - static int num=0;  
18 - num++;  
19 - printf("Voici le paquet arp numéro : %d\n", num); 17 + printf("Paquet ARP\n");
20 } 18 }
21 19
22 20
@@ -30,11 +28,11 @@ void reponseSonde(time_t last_time, time_t seuil_temps) @@ -30,11 +28,11 @@ void reponseSonde(time_t last_time, time_t seuil_temps)
30 28
31 if (ecart > 2*seuil_temps) 29 if (ecart > 2*seuil_temps)
32 { 30 {
33 - sendUDPUnicast("192.168.1.205", msg0, 2020); 31 + sendUDPUnicast(ADRESSE, msg0, 2020);
34 } 32 }
35 else if(ecart > seuil_temps) 33 else if(ecart > seuil_temps)
36 { 34 {
37 - sendUDPUnicast("192.168.1.205", msg1, 2020); 35 + sendUDPUnicast(ADRESSE, msg1, 2020);
38 } 36 }
39 else 37 else
40 { 38 {
Network/tcpserver.c
@@ -85,7 +85,7 @@ int boucleServeur(int socket, void(* fctConnex)(int)) @@ -85,7 +85,7 @@ int boucleServeur(int socket, void(* fctConnex)(int))
85 { 85 {
86 printf("-- boucle --\n"); 86 printf("-- boucle --\n");
87 if((sock_dial=accept(socket, NULL, NULL)) < 0){ fprintf(stderr, "Error accept dialogue\n"); return -1; } 87 if((sock_dial=accept(socket, NULL, NULL)) < 0){ fprintf(stderr, "Error accept dialogue\n"); return -1; }
88 - printf("Dialogue ACCEPTED\n"); 88 + printf("- Dialogue accepte -\n");
89 89
90 arg_sock_interf.socket=sock_dial; 90 arg_sock_interf.socket=sock_dial;
91 91
1 -Wesh canne à pêche. 1 +FILTRAGE :
  2 +
  3 +Instructions pour la compilation des fichiers:
  4 +Dans la racine, faire un make clean afin de supprimer les fichiers compilés.
  5 +Lancer un make à la racine, afin de manière récursive executer le make dans tous les sous-dossiers.
  6 +Une fois cette compilation effectuée, deux fichiers exécutables seront crées dans le répertoire bin ainsi que les librairies dans le dossier libs.
  7 +
  8 +Instructions pour uploader dans l'interface tangible:
  9 +Se déplacer dans le répetoire Tangible, faire un make clean puis un make upload.
  10 +
  11 +Instructions au lancement de la sonde et du serveur web:
  12 +Se déplacer dans le répertoire bin et exécuter:
  13 +sudo ./serveurTCP -p <port>
  14 +sudo ./sonde -d <interface>
  15 +
  16 +Pour visualiser les états des interfaces , ouvrir un navigateur web et entrez soit l'adresse de localhost, soit votre adresse IP, suivie de :<port>.
  17 +
  18 +Voilà.
  19 +
  20 +(L'interface répond à la commande SETSLEEP et peut être mise au choix en état de veille (LED BLEUE), sinon elle est éveilée (LED ROUGE) et clignotera plus ou moins vite (3 vitesse différentes))
Threads/threadSocket.c
@@ -62,7 +62,6 @@ int httpReponse(FILE* sockdial_stream, Arg_Thread* argument) @@ -62,7 +62,6 @@ int httpReponse(FILE* sockdial_stream, Arg_Thread* argument)
62 62
63 int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[20]) 63 int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[20])
64 { 64 {
65 - printf("Interface : %x %x - Adresse : %s - Taille : %ld\n", packet[0], packet[1], adresse, strlen(packet));  
66 65
67 // On lock le mutex car on rentre dans la section critique (modification de la structure interfaces) 66 // On lock le mutex car on rentre dans la section critique (modification de la structure interfaces)
68 67
@@ -98,7 +97,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ @@ -98,7 +97,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[
98 97
99 else if ((((unsigned char)packet[0])>>5) == 0x05) 98 else if ((((unsigned char)packet[0])>>5) == 0x05)
100 { 99 {
101 - printf("L'interface a correctement répondu (REPONSE GETCOMMAND)\n"); 100 + printf("L'interface a correctement répondu\n");
102 if(argument->interfaces[i]==NULL) 101 if(argument->interfaces[i]==NULL)
103 { 102 {
104 argument->interfaces[i]=malloc(sizeof(struct interface_info)); 103 argument->interfaces[i]=malloc(sizeof(struct interface_info));
@@ -108,7 +107,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ @@ -108,7 +107,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[
108 uint16_t tmp = (unsigned char)packet[0] & 0x1F; //Récupération du pourcentage 107 uint16_t tmp = (unsigned char)packet[0] & 0x1F; //Récupération du pourcentage
109 tmp = tmp << 8; 108 tmp = tmp << 8;
110 tmp += (unsigned char)packet[1]; 109 tmp += (unsigned char)packet[1];
111 - argument->interfaces[i]->commande = (int)(tmp*0.0122); 110 + argument->interfaces[i]->commande = (int)((tmp*100)/8192);
112 } 111 }
113 else 112 else
114 { // L'interface n a pas correctement répondu 113 { // L'interface n a pas correctement répondu
@@ -128,7 +127,7 @@ void* reponseConnexion(void* arg_sock_interf) @@ -128,7 +127,7 @@ void* reponseConnexion(void* arg_sock_interf)
128 Arg_Thread *argument=(Arg_Thread*)(arg_sock_interf); 127 Arg_Thread *argument=(Arg_Thread*)(arg_sock_interf);
129 int sock=argument->socket; 128 int sock=argument->socket;
130 129
131 - printf("Connected\n"); // Affiche le fait que qqn soit connecté 130 + printf("Connecte\n"); // Affiche le fait que qqn soit connecté
132 131
133 FILE* sockdial_stream = fdopen(sock, "a+"); 132 FILE* sockdial_stream = fdopen(sock, "a+");
134 if (sockdial_stream == NULL) 133 if (sockdial_stream == NULL)
@@ -157,10 +156,7 @@ void* reponseConnexion(void* arg_sock_interf) @@ -157,10 +156,7 @@ void* reponseConnexion(void* arg_sock_interf)
157 } 156 }
158 } 157 }
159 158
160 -  
161 - printf("Sock : %d // Stream : %p\n", sock, sockdial_stream);  
162 -  
163 - printf("Fin de la connexion\n"); 159 + printf("Fin de la connexion\n");
164 160
165 fclose(sockdial_stream); 161 fclose(sockdial_stream);
166 162
@@ -172,7 +168,7 @@ void* reponseConnexion(void* arg_sock_interf) @@ -172,7 +168,7 @@ void* reponseConnexion(void* arg_sock_interf)
172 int lanceThread(void(* fonction) (void *), void* arg, int size) 168 int lanceThread(void(* fonction) (void *), void* arg, int size)
173 { 169 {
174 pthread_t thr_id; 170 pthread_t thr_id;
175 - printf("%d \n",size); 171 + printf("%d\n",size);
176 if(pthread_create(&thr_id, NULL, (void*)fonction, arg )!=0) { fprintf(stderr, "Le thread n'a pas pu être créé.\n"); return -1; } 172 if(pthread_create(&thr_id, NULL, (void*)fonction, arg )!=0) { fprintf(stderr, "Le thread n'a pas pu être créé.\n"); return -1; }
177 173
178 pthread_detach(thr_id); 174 pthread_detach(thr_id);
bin/serverTCP
No preview for this file type
bin/sonde
No preview for this file type
libs/libnet.a
No preview for this file type
libs/libthrd.a
No preview for this file type