#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 |
| 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 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 |
| 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