diff --git a/Network/sender.c b/Network/sender.c index f451b95..5e0d873 100755 --- a/Network/sender.c +++ b/Network/sender.c @@ -20,7 +20,7 @@ int initializeSocketUDP(char* service, char* adresse) precisions.ai_socktype = SOCK_DGRAM; /*"172.26.145.35"*/ - if(getaddrinfo("192.168.1.20", service, &precisions, &origine)<0) { fprintf(stderr, "Erreur getaddrinfo\n"); return(-1); } + if(getaddrinfo(adresse, service, &precisions, &origine)<0) { fprintf(stderr, "Erreur getaddrinfo\n"); return(-1); } for(struct addrinfo* i=origine; i!=NULL && resultat==NULL; i=i->ai_next) { @@ -42,9 +42,6 @@ int initializeSocketUDP(char* service, char* adresse) if(setsockopt(sock_id, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val))<0) { fprintf(stderr, "Erreur setsockopt\n"); return(-1); } - if(bind(sock_id, resultat->ai_addr, resultat->ai_addrlen)) { fprintf(stderr, "Erreur bind\n"); return(-1); } - - freeaddrinfo(origine); return sock_id; } diff --git a/Network/sniffer.c b/Network/sniffer.c index d315745..9053da4 100755 --- a/Network/sniffer.c +++ b/Network/sniffer.c @@ -7,16 +7,14 @@ #include #include "libnet.h" - +#define ADRESSE "172.26.145.205" #define SZ_DEV_PCAP 10 // Fonction lors de la detection d'un paquet void arp_detect() { - static int num=0; - num++; - printf("Voici le paquet arp numéro : %d\n", num); + printf("Paquet ARP\n"); } @@ -30,11 +28,11 @@ void reponseSonde(time_t last_time, time_t seuil_temps) if (ecart > 2*seuil_temps) { - sendUDPUnicast("192.168.1.205", msg0, 2020); + sendUDPUnicast(ADRESSE, msg0, 2020); } else if(ecart > seuil_temps) { - sendUDPUnicast("192.168.1.205", msg1, 2020); + sendUDPUnicast(ADRESSE, msg1, 2020); } else { diff --git a/Network/tcpserver.c b/Network/tcpserver.c index 6306044..26540bf 100755 --- a/Network/tcpserver.c +++ b/Network/tcpserver.c @@ -85,7 +85,7 @@ int boucleServeur(int socket, void(* fctConnex)(int)) { printf("-- boucle --\n"); if((sock_dial=accept(socket, NULL, NULL)) < 0){ fprintf(stderr, "Error accept dialogue\n"); return -1; } - printf("Dialogue ACCEPTED\n"); + printf("- Dialogue accepte -\n"); arg_sock_interf.socket=sock_dial; diff --git a/README.md b/README.md index e4876d8..833994b 100755 --- a/README.md +++ b/README.md @@ -1 +1,20 @@ -Wesh canne à pêche. +FILTRAGE : + +Instructions pour la compilation des fichiers: +Dans la racine, faire un make clean afin de supprimer les fichiers compilés. +Lancer un make à la racine, afin de manière récursive executer le make dans tous les sous-dossiers. +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. + +Instructions pour uploader dans l'interface tangible: +Se déplacer dans le répetoire Tangible, faire un make clean puis un make upload. + +Instructions au lancement de la sonde et du serveur web: +Se déplacer dans le répertoire bin et exécuter: +sudo ./serveurTCP -p +sudo ./sonde -d + +Pour visualiser les états des interfaces , ouvrir un navigateur web et entrez soit l'adresse de localhost, soit votre adresse IP, suivie de :. + +Voilà. + +(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)) diff --git a/Threads/threadSocket.c b/Threads/threadSocket.c index 8ff11bc..75746be 100755 --- a/Threads/threadSocket.c +++ b/Threads/threadSocket.c @@ -62,7 +62,6 @@ int httpReponse(FILE* sockdial_stream, Arg_Thread* argument) int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[20]) { - printf("Interface : %x %x - Adresse : %s - Taille : %ld\n", packet[0], packet[1], adresse, strlen(packet)); // On lock le mutex car on rentre dans la section critique (modification de la structure interfaces) @@ -98,7 +97,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ else if ((((unsigned char)packet[0])>>5) == 0x05) { - printf("L'interface a correctement répondu (REPONSE GETCOMMAND)\n"); + printf("L'interface a correctement répondu\n"); if(argument->interfaces[i]==NULL) { argument->interfaces[i]=malloc(sizeof(struct interface_info)); @@ -108,7 +107,7 @@ int interfaceReponse(char packet[BUFF_SIZE], Arg_Thread* argument, char adresse[ uint16_t tmp = (unsigned char)packet[0] & 0x1F; //Récupération du pourcentage tmp = tmp << 8; tmp += (unsigned char)packet[1]; - argument->interfaces[i]->commande = (int)(tmp*0.0122); + argument->interfaces[i]->commande = (int)((tmp*100)/8192); } else { // L'interface n a pas correctement répondu @@ -128,7 +127,7 @@ void* reponseConnexion(void* arg_sock_interf) Arg_Thread *argument=(Arg_Thread*)(arg_sock_interf); int sock=argument->socket; - printf("Connected\n"); // Affiche le fait que qqn soit connecté + printf("Connecte\n"); // Affiche le fait que qqn soit connecté FILE* sockdial_stream = fdopen(sock, "a+"); if (sockdial_stream == NULL) @@ -157,10 +156,7 @@ void* reponseConnexion(void* arg_sock_interf) } } - - printf("Sock : %d // Stream : %p\n", sock, sockdial_stream); - - printf("Fin de la connexion\n"); + printf("Fin de la connexion\n"); fclose(sockdial_stream); @@ -172,7 +168,7 @@ void* reponseConnexion(void* arg_sock_interf) int lanceThread(void(* fonction) (void *), void* arg, int size) { pthread_t thr_id; - printf("%d \n",size); + printf("%d\n",size); if(pthread_create(&thr_id, NULL, (void*)fonction, arg )!=0) { fprintf(stderr, "Le thread n'a pas pu être créé.\n"); return -1; } pthread_detach(thr_id); diff --git a/bin/serverTCP b/bin/serverTCP index 596fddc..7db849b 100755 Binary files a/bin/serverTCP and b/bin/serverTCP differ diff --git a/bin/sonde b/bin/sonde index 31b9b2d..d1fcb76 100755 Binary files a/bin/sonde and b/bin/sonde differ diff --git a/libs/libnet.a b/libs/libnet.a index a009083..bb34fad 100644 Binary files a/libs/libnet.a and b/libs/libnet.a differ diff --git a/libs/libthrd.a b/libs/libthrd.a index 6ad1130..32b3e9d 100644 Binary files a/libs/libthrd.a and b/libs/libthrd.a differ -- libgit2 0.21.2