#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <signal.h>#include <string.h>#include <unistd.h>#include <netdb.h>#include <netinet/in.h>#include <sys/socket.h>#include <arpa/inet.h>#include <semaphore.h>#include <pthread.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/ioctl.h>#include <sys/mman.h>#include <ctype.h>#include <time.h>#include <termios.h>Go to the source code of this file.
| Data Structures | |
| struct | Sem_et_int | 
| Defines | |
| #define | SERVEURNAME "192.168.1.167" | 
| #define | NB_CASE 22 | 
| #define | NB_CASE_CMD 32 | 
| #define | NB_FAN 16 | 
| #define | NB_SENSOR 32 | 
| #define | NB_PHOTODIODE 8 | 
| #define | NB_GPIO 32 | 
| #define | SIZE_BUFFER 512 | 
| #define | MAX_SEUIL 10 | 
| #define | SIZE_STRING 80 | 
| #define | BLOC_SIZE 4096 | 
| #define | DELAY_SLEEP_FAN 100 | 
| #define | DELAY_TEMPERATURE 30 | 
| #define | DELAY_SLEEP_GPIO 100 | 
| #define | DELAY_SLEEP_PHOTODIODE 100 | 
| Functions | |
| void | clean (char *buffer) | 
| void | purger (void) | 
| int | userKey (void) | 
| int | parse2 (char *bloc, int debut) | 
| int | connectServeur (void) | 
| int | connectServeurMessage (void) | 
| void | showMenu (void) | 
| void | doCommand (void) | 
| int | InitSocketServeurMessage (Sem_et_int ind) | 
| void | finPrg (void) | 
| void * | listenServerMessage (void *toto) | 
| void | cmdAllFan (int value) | 
| void | initSocket2 (void) | 
| int | strpos (char *chaine, char *ch) | 
| int | readConfigFile (char *fileName) | 
| void | reset (void) | 
| int | initCaseString (void) | 
| void | tempFanlocateTable (char *valeur) | 
| Variables | |
| int | client_socket | 
| int | file_desc | 
| int | ma_socket | 
| int | ma_socketMessage | 
| char * | server_name | 
| struct sockaddr_in serverSockAddr | serverSockAddrMessage | 
| struct hostent * | serverHostEnt | 
| struct hostent * | serverHostEntMessage | 
| long | hostAddr | 
| long | hostAddrMessage | 
| int *** | tempFanTable | 
| char | caseString [NB_CASE][SIZE_STRING] | 
| char | caseStringCmd [NB_CASE_CMD][SIZE_STRING] | 
| int | tempOnOff | 
| int | fanOutOnOff | 
| int | photodiodeOnOff | 
| int | tempNbMoy | 
| int | photodiodeNbMoy | 
| float | seuilTemp [10] | 
| float | seuilTempDecrease [10] | 
| float | seuilPhotodiodeIncrease [10] | 
| float | seuilPhotodiodeDecrease [10] | 
| int | nbSeuilTemp | 
| int | nbSeuilPhotodiode | 
| int | autoMod | 
| unsigned int | seuilGPOLocateTable [MAX_SEUIL] | 
| int | maskGPOLocateTable [MAX_SEUIL] | 
| int | directionGPIO [NB_GPIO] | 
| unsigned int | ValueOutGPIO [NB_GPIO] | 
| unsigned int | ValueInGPIO [NB_GPIO] | 
| char | descriptionGPIO [NB_GPIO][80] | 
| float | valeurMoyTemp [NB_SENSOR] | 
| int | etat [NB_SENSOR] | 
| int | etatMax | 
| int | numSonde | 
| float | moyTemp [NB_SENSOR][MAX_SEUIL] | 
| int | calculFan [NB_FAN] | 
| int | fin | 
| int | val | 
| unsigned int | param | 
| int | valeurLuFan [NB_FAN] | 
| unsigned int | seuilInOutGPOLocateTable0 [NB_GPIO] | 
| int | maskInOutGPOLocateTable0 [NB_GPIO] | 
| unsigned int | seuilInOutGPOLocateTable1 [NB_GPIO] | 
| int | maskInOutGPOLocateTable1 [NB_GPIO] | 
| int | etatPhotoDiode [NB_PHOTODIODE] | 
| #define BLOC_SIZE 4096 | 
| #define DELAY_SLEEP_FAN 100 | 
| #define DELAY_SLEEP_GPIO 100 | 
| #define DELAY_SLEEP_PHOTODIODE 100 | 
| #define DELAY_TEMPERATURE 30 | 
| #define MAX_SEUIL 10 | 
| #define NB_CASE 22 | 
| #define NB_CASE_CMD 32 | 
| #define NB_FAN 16 | 
| #define NB_GPIO 32 | 
| #define NB_PHOTODIODE 8 | 
| #define NB_SENSOR 32 | 
| #define SERVEURNAME "192.168.1.167" | 
| #define SIZE_BUFFER 512 | 
| #define SIZE_STRING 80 | 
| void clean | ( | char * | buffer | ) | 
Description : Cette fonction permet de purger la chaine de caractere et le buffer clavier purger()
| void cmdAllFan | ( | int | value | ) | 
| int connectServeur | ( | void | ) | 
| int connectServeurMessage | ( | void | ) | 
| void doCommand | ( | void | ) | 
| void finPrg | ( | void | ) | 
Description : Prepare le fin du programme (socket)
detail de la fonction :
shutdown() des sockets
close() des sockets et file descriptor (driver)
| int initCaseString | ( | void | ) | 
| void initSocket2 | ( | void | ) | 
| int InitSocketServeurMessage | ( | Sem_et_int | ind | ) | 
Description : Permet de crée un socket pour communiquer les messages.
Valeur de retour : 0 = ok -1 = pb
detail de la fonction :
creation de socket
bind serveur - socket
ecoute sur la socket
accept la connexion
| void* listenServerMessage | ( | void * | toto | ) | 
| int parse2 | ( | char * | bloc, | |
| int | debut | |||
| ) | 
Description : Permet de decouper le bloc et d'affecter les variables ou faire des actions en fonction des balises
Valeur de retour :
-> 0 = fin pas trouve de balise <>
-> val = position dans le bloc de la prochaine balise
detail de la fonction :
--> cherche le debut et fin de balise "<" ">"
--> cherche le nom de la balise
--> cherche la valeur de la balise
--> cherche la correspondance de cette balise avec la liste dans le tableau caseStringCmd[]
--> en fonction de l'index trouve via le tableau caseStringCmd[] le programme va effectuer les actions actions (switch(qui) -> case
| void purger | ( | void | ) | 
Description : Cette fonction permet de purger le buffer clavier
| int readConfigFile | ( | char * | fileName | ) | 
Description : ouvre un fichier de configuration et le decripte. Le nom du fichier est donne dans le parametre fileName
Valeur de retour : 0 = ok -1 = pb
detail de la fonction :
ouvre le fichier
alloue de la memoire et lit le fichier dans variable bloc
ferme le fichier
pour le contenu du fichier appel de la fonction parse2()
| void reset | ( | void | ) | 
| void showMenu | ( | void | ) | 
| int strpos | ( | char * | chaine, | |
| char * | ch | |||
| ) | 
Description : Trouve la position de la premiere occurence de la chaine.
| void tempFanlocateTable | ( | char * | valeur | ) | 
| int userKey | ( | void | ) | 
| int autoMod | 
| int calculFan[NB_FAN] | 
| char caseString[NB_CASE][SIZE_STRING] | 
| char caseStringCmd[NB_CASE_CMD][SIZE_STRING] | 
| int client_socket | 
| char descriptionGPIO[NB_GPIO][80] | 
| int directionGPIO[NB_GPIO] | 
| int etat[NB_SENSOR] | 
| int etatMax | 
| int etatPhotoDiode[NB_PHOTODIODE] | 
| int fanOutOnOff | 
| int file_desc | 
| int fin | 
| long hostAddr | 
| long hostAddrMessage | 
| int ma_socket | 
| int ma_socketMessage | 
| int maskGPOLocateTable[MAX_SEUIL] | 
| int maskInOutGPOLocateTable0[NB_GPIO] | 
| int maskInOutGPOLocateTable1[NB_GPIO] | 
| float moyTemp[NB_SENSOR][MAX_SEUIL] | 
| int nbSeuilTemp | 
| int numSonde | 
| unsigned int param | 
| int photodiodeNbMoy | 
| int photodiodeOnOff | 
| char* server_name | 
| struct hostent* serverHostEnt | 
| struct hostent * serverHostEntMessage | 
| struct sockaddr_in serverSockAddr serverSockAddrMessage | 
| unsigned int seuilGPOLocateTable[MAX_SEUIL] | 
| unsigned int seuilInOutGPOLocateTable0[NB_GPIO] | 
| unsigned int seuilInOutGPOLocateTable1[NB_GPIO] | 
| float seuilPhotodiodeDecrease[10] | 
| float seuilPhotodiodeIncrease[10] | 
| float seuilTemp[10] | 
| float seuilTempDecrease[10] | 
| int*** tempFanTable | 
| int tempNbMoy | 
| int tempOnOff | 
| int val | 
| int valeurLuFan[NB_FAN] | 
| float valeurMoyTemp[NB_SENSOR] | 
| unsigned int ValueInGPIO[NB_GPIO] | 
| unsigned int ValueOutGPIO[NB_GPIO] | 
 1.5.8
 1.5.8