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