1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 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 77 78 79
| do
{
if((Nbr=recv(sock, buffer, sizeof(buffer), 0)) != SOCKET_ERROR) {
// printf("Recu : Nbr - %d\n", Nbr);
if (Nbr==1) {
switch (buffer[0]){
case 0x24:
// printf("PIR detector\n");
break;
case 0x42:
// printf("telecommande\n");
break;
}
}
else {
if (Nbr==5) {
// printf("TCode materiel PIR : %02x%02x%02x - etat :%02x%02x %02x%02x\n",buffer[0],buffer[1],buffer[2],buffer[3],buffer[4],state[0],state[1]);
if ((buffer[0]==mat[0]) && (buffer[1]==mat[1]) && (buffer[2]==mat[2])) {
// printf("Here\n");
if (!((buffer[3]==state[0]) && (buffer[4]==state[1]))) {
printf("Code materiel PIR : %02x%02x%02x - etat :%02x%02x\n",buffer[0],buffer[1],buffer[2],buffer[3],buffer[4]);
state[0]=buffer[3];
state[1]=buffer[4];
}
}
else {
mat[0]=buffer[0];
mat[1]=buffer[1];
mat[2]=buffer[2];
state[0]=buffer[3];
state[1]=buffer[4];
printf("Code materiel PIR : %02x%02x%02x - etat :%02x%02x\n",buffer[0],buffer[1],buffer[2],buffer[3],buffer[4]);
}
}
if (Nbr==9) {
if ((buffer[4]==mat[0]) && (buffer[5]==mat[1]) && (buffer[6]==mat[2])) {
if (!((buffer[7]==state[0]) && (buffer[8]==state[1]))) {
printf("Code materiel telecommande: %02x%02x%02x - etat :%02x%02x\n",buffer[4],buffer[5],buffer[6],buffer[7],buffer[8]);
state[0]=buffer[7];
state[1]=buffer[8];
}
}
else {
mat[0]=buffer[4];
mat[1]=buffer[5];
mat[2]=buffer[6];
state[0]=buffer[7];
state[1]=buffer[8];
printf("Code materiel telecommande: %02x%02x%02x - etat :%02x%02x\n",buffer[4],buffer[5],buffer[6],buffer[7],buffer[8]);
}
}
}
// for (i=0;i<Nbr; i++)
// printf("%02x ",buffer[i]);
//}
/*
if (buffer[0]=='1')
{
//sock_err = listen (sock, 5);
puts("Saisir une lettre") ;
scanf("%s", &buffer);
sock_err = send(csock, buffer, sizeof(buffer), 0);
if (sock_err != SOCKET_ERROR)
printf("Chaine envoyée : %s\n", buffer);
else puts("error");
}
else
puts("Oh no!");
*/
}
}
while (finish == 1);
}
else
printf("Failed sending command\n");
} |
Partager