begin process at 2012 05 28 21:29:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Envoi SMS avec c


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoi SMS avec c

mercredi 24 février 2010 à 19:22:05 | Envoi SMS avec c

hb008

je veu faire un projet sur l' Envoi SMS lors d'un alarme en utilisant module gsm programmeé en C par une pic 16f877A
je serai tres reconnaissant pour tout personne qui peut m'aider
Merci
mardi 22 mai 2012 à 12:41:24 | Re : Envoi SMS avec c

BOUABIDIALI

comment envoyer un sms en utilusant les commande AT avec le logiciel PIC COMPALIER
mardi 22 mai 2012 à 13:01:59 | systeme de surveillance par gsm

BOUABIDIALI

mon sujet de pfe est un systeme de surveillance par gsm,j'ai fait la sumilation de mon code sur un montage isis composé:un afficheur lcd,un hyperterminal ,une clavier 12 touches,un pic 18f4620,6 switchers et 3 leds:j'aime bien aider pour otimoser mieux mon
code suivante;

#include "D:\telesurv\test9.h"
//#include "D:\PROJ222\AAAAA.h"
#define use_portb_kbd TRUE
#include <string.h>
#include <kbd.c>
#define use_portb_lcd TRUE
#include <lcd.c>
#int_RTCC
void RTCC_isr(void)
{

}
int VrfCdUs (char *);void menu300();
void initialisation();
void coderronne();void test();
int testetat( );void Afficheetat(int );
void tapecode();void affpourcode (int x);
void menu1(); void menu4();void menu2();
void menu3();void menu5();void menu6();void menu31();
void menu541();void menu531();void menu532();
void menu0();void affichemenu(long );
void menu61();void menu62();void menu99();
void menu63();void menu64();void menu520();void menu530();void menu20();
void menu65(); void menu21();int1 verifpass();
void entercode();int1 verifcode(long );
void modif(int nbtch,long adresse,long nex,long ret);
//char message[20]="";

char codesystem[8];
char cd[8];
char pass[9];
char gs[8];
//char cmaster[9];//////////////////////
char codetaped[9];
char capteur=0,capteur_ancien=255;
int1 actsys=False,sirene=false,codeblok=false,defaut=false,activemenu=true;
int codeselect,repcode=0,nbrusr;
long menuAff=0,ancien_menuAff=18,retour;
int attente=2;
int y,x,b=0;
int RT;// RT=Relay Time
int ST;// ST=Siren Time
int ENT;//EXT=Delay Time
int EXT;//Ext=Exit Time
void main()
{
printf("debut du programme");
initialisation();

while (activemenu)
{
//printf("menue %d ancien",menuaff);
if (ancien_menuAff!=menuAff)
{

ancien_menuAff=menuAff;
affichemenu(menuaff);
}
}
while(1)
{
//printf("xxxxx");
if (actsys)
{
capteur_ancien=capteur;
capteur=testetat();
if (capteur!=capteur_ancien)
test();
}
test();
tapecode();
}
}

void initialisation()
{
int i;
port_b_pullups(true);

kbd_init();

lcd_init();
EXT=(read_eeprom(14)-48)*10+read_eeprom(15)-48;
ENT=(read_eeprom(12)-48)*10+read_eeprom(13)-48;
ST=(read_eeprom(10)-48)*10+read_eeprom(11)-48;
RT=(read_eeprom(8)-48)*10+read_eeprom(9)-48;

}

int VrfCdUs (char *usercode)
{
int comp;
comp=strcmp(usercode,codesystem);
printf("\n -%s- -%s-",usercode,codesystem);
repcode++;
if (comp==0)
{
comp=1;
repcode=0;codeblok=false;actsys=!actsys;
lcd_putc("\fCode valide:");
repcode=0;sirene=false;
if (actsys)
lcd_putc("\nAlarm ON");
else
lcd_putc("\nAlarm OFF");
}
else
comp=0;
return (comp);
}
int testetat()
{
char *message;
int1 P,F,B1,B2,Z1,Z2;
int1 Err;
int y=0;
P=input(pin_D0);F=input(pin_D1);
B1=input(pin_D2);B2=input(pin_D3);
Z1=input(pin_D4);Z2=input(pin_D5);
if (P)
y=y+1;
if (F)
y=y+2;
if (B1)
y=y+4;
if (B2)
y=y+8;
if (Z1)
y=y+16;
if (Z2)
y=y+32;
if(y>0)
{
defaut=true;
//sirene=true;
}
else
{
sirene=false;defaut=false;
}
return (y);
}

void menu0()
{
int x;
char t=0;
lcd_putc("\f");
if (actsys)
lcd_putc("ALARME ON");
else
lcd_putc("ALARME OFF");
lcd_putc("\n1:ALARME 2:\SETUP");
while ((t!='1') && (t!='2'))
t=kbd_getc();
switch (t)
{
case '1':{menuAff =1;break;}
case '2':{menuAff =20;break;}
}
t=0;
}

void menu1()
{
char t=0;
lcd_putc("\f");
lcd_putc("1:ALARME on/off \n2:\STATUS");
while ((t!='1') && (t!='2') && (t!='#'))
t=kbd_getc();
switch (t)
{
case '1':menuAff=2;break;
case '2':menuAff=3;break;
case '#':menuAff=0;break;
t=0;
}
}

void menu4()
{
char t=0;
menuAff =4;
lcd_putc("\f");
lcd_putc("1:SETUP USER\n2:SETUP SYSTEM");
while ((t!='1') && (t!='2')&& (t!='#'))
t=kbd_getc();
switch (t)
{
case '1':menuAff =5;break;
case '2':menuAff =6;break;
case '#':menuAff =0;break;
}
t=0;
}


void menu2()
{char cd[8],t;
int i;
lcd_putc("\fALARME ON/OFF");
lcd_putc("\nUser code:");
//menu530();
tapecode();/////////////////////////////////////////////////////////////////////
//entercode();
//!for(i=0;i<8;i++)
//!cd[i]=read_eeprom(38+i);
//!lcd_putc(cd[i]);
//!while(t==0)
//!t=kbd_getc();
//!while((t!='*')&&(t!='#'))
//!switch(t)
//!{case '*':delay_ms(500);for(i=0;i<8;i++)
//!if(cd[i]==codetaped[i])
//!lcd_putc("\f code valide");break;

}





void menu3()
{
char t=0;
capteur=testetat();capteur_ancien=capteur;
lcd_putc("\f");
if (actsys)
lcd_putc("Alarm ON ");
else
lcd_putc("Alarm OFF ");
lcd_putc("# to exit\n");
afficheetat(capteur);
test();

while (t!='#')
{
t=kbd_getc();
capteur=testetat();
if (capteur_ancien!=capteur)
{
capteur_ancien=capteur;
lcd_putc("\f");
if (actsys)
lcd_putc("Alarm ON ");
else
lcd_putc("Alarm OFF ");
afficheetat(capteur);
lcd_putc("# to exit");
}
}
menuAff =1;
}

void menu5()
{
char t=0;
menuAff =5;
lcd_putc("\f");
lcd_putc("1:MASTER CODE\n2:USER CODE/GSM");
while ((t!='1') && (t!='2')&& (t!='#'))
t=kbd_getc();

switch (t)
{
case '1':menuAff =51;break;
case '2':menuAff =520;break;
case '#':menuAff =0;break;
}
t=0;
}

void menu51()
{
menuAff=51;
lcd_putc("\f MASTER CODE:\n ");
modif(8,0,5,51);
if (menuaff==5)
{ delay_ms(500);lcd_putc("\fSAVE MATER CODE");}
}

void menu520()
{
char t=0;
menuAff =520;
lcd_putc("\f");
lcd_putc("1:USER CODE\n2:USER GSM");
while ((t!='1') && (t!='2')&& (t!='#'))
t=kbd_getc();

switch (t)
{
case '1':menuAff =531;break;
case '2':menuAff =52;break;
case '#':menuAff =5;break;
}
t=0;
}

void menu52()
{
int nu=-1;
char t=0;
int1 r=false;
menuAff=52;
lcd_putc("\f GSM NUMBER:");
while (!r)
{
while (t==0)
t=kbd_getc();
if (((t=='*')&&(nu!=-1))||(t=='#'))
r=true;
else
if (t!='*')
{nu=t-48;
if ((nu==1)||(nu==2)||(nu==3)||(nu==4)||(nu==5))
{lcd_gotoxy(14,1);lcd_putc(t);t=0;r=false;}
else
{t=0;}}
}
switch (t)
{
case '*':nbrusr=nu;menuAff=541;break;
case '#':{menuAff =99;retour=52;break;}
}
}

void menu541()
{
char t=0,i,dep;
menuAff=541;
dep=8+(nbrusr)*8;
lcd_putc("\fGSM(");lcd_putc(nbrusr+48);lcd_putc("):");
for (i=0;i<8;i++)
{//lcd_putc(read_eeprom(i+dep));
gs[i]=read_eeprom(i+dep);////////////////////////////////////////////////////
lcd_putc(gs[i]);
}
lcd_putc("\n*MDF 2_DEL #EXIT");
t=0;
while ((t!='2')&&(t!='*')&&(t!='#')&&(t!='1'))
t=kbd_getc();
printf("\rtouche =%c",t);
switch(t)
{
case '1':for(i=0;i<8;i++)
lcd_putc(gs[i]);break;
case '*':menuaff=54;break;
case '#':menuaff=520;break;
case '2':{for (i=0;i<8;i++)
{write_eeprom(i+dep,'?');delay_ms(100);};menuaff=64;retour=541;t=0;break;}
}
t=0;break;
}

void menu54()
{
char t=0,i,dep;
menuAff=54;
dep=8+(nbrusr)*8;
lcd_putc("\fGSM(");lcd_putc(nbrusr+48);lcd_putc("):");
for (i=0;i<8;i++)
lcd_putc(read_eeprom(i+dep));
lcd_putc("\nNew GSM:");
modif(8,dep,541,54);
if (menuaff==5)
{ delay_ms(500);lcd_putc("\fUser GSM Saved");delay_ms(500);}
}
void menu531()
{
{
int nu=-1;
char t=0;
int1 r=false;
menuAff=531;
lcd_putc("\f USER NUMBER:");
while (!r)
{
while (t==0)
t=kbd_getc();
if (((t=='*')&&(nu!=-1))||(t=='#'))
r=true;
else
if (t!='*')
{nu=t-48;
if ((nu==1)||(nu==2)||(nu==3)||(nu==4)||(nu==5)||(nu==6)||(nu==7)||(nu==8)||(nu==9)||(nu==0))
{lcd_gotoxy(14,1);lcd_putc(t);t=0;r=false;}
else
{t=0;}}
}
switch (t)
{
case '*':nbrusr=nu;menuAff=530;break;
case '#':{menuAff =99;retour=531;break;}
}
}

}

void menu530()
{
char t=0,i,dep;
menuAff=530;
dep=56+(nbrusr)*8;
lcd_putc("\fcode(");lcd_putc(nbrusr+48);lcd_putc("):");
for (i=0;i<8;i++)
{cd[i]=read_eeprom(i+dep);
lcd_putc(cd[i]);
}//lcd_putc(read_eeprom(i+dep));
lcd_putc("\n*MDF 2_DEL #EXIT");
t=0;
while ((t!='2')&&(t!='*')&&(t!='#'))
t=kbd_getc();
switch(t)
{
case '*':menuaff=532;delay_ms(500);retour=532;break;
case '#':menuaff=520;delay_ms(500);retour=520;break;
case '2':{for (i=0;i<8;i++)
{write_eeprom(i+dep,'?');delay_ms(100);};menuaff=530;break;}
}
}

void menu532()
{
char t=0,i,dep;
menuAff=532;
dep=56+(nbrusr)*8;
lcd_putc("\fCODE(");lcd_putc(nbrusr+48);lcd_putc("):");
for (i=0;i<8;i++)
lcd_putc(read_eeprom(i+dep));
lcd_putc("\nNew CODE:");
modif(8,dep,530,532);
if (menuaff==5)
{ delay_ms(500);lcd_putc("\fUser CODE Saved");delay_ms(500);}
}

void menu53()
{
char t=0,i,dep;
menuAff=53;
dep=56+(nbrusr)*8;
lcd_putc("\fCD US(");lcd_putc(nbrusr+48);lcd_putc(')');
for (i=0;i<8;i++)
lcd_putc(read_eeprom(i+dep));
lcd_putc("\nNew Cde:");
modif(8,dep,54,53);
if (menuaff==54)
{ delay_ms(500);lcd_putc("\fUser Code Saved");delay_ms(500);}
}

void menu6()
{
char c=0;
menuAff=6;
printf(lcd_putc,"\fLast RT:%c%c\nNew RT:",read_eeprom(8),read_eeprom(9));
modif(2,8,61,6);
if (menuaff==61)
{ delay_ms(500);lcd_putc("\fSAVE RELAY TIME");delay_ms(500);RT=(read_eeprom(8)-48)*10+read_eeprom(9)-48;}
}

void menu61()
{
menuAff=61;
printf(lcd_putc,"\fSIREN TIME:%c%c\nSIREN TIME:",read_eeprom(10),read_eeprom(11));
modif(2,10,62,61);
if (menuaff==62)
{ delay_ms(500);lcd_putc("\fSave SIREN TIME");delay_ms(500);ST=(read_eeprom(10)-48)*10+read_eeprom(11)-48;}
}

void menu62()
{
menuAff=62;
printf(lcd_putc,"\fDELAY ENT IME:%c%c\nDELAY ENT TME:",read_eeprom(12),read_eeprom(13));
modif(2,12,63,62);
if (menuaff==63)
{ delay_ms(500);lcd_putc("\fSave ENTRY DELAY TIME");delay_ms(500);ENT=(read_eeprom(12)-48)*10+read_eeprom(13)-48;}
}

void menu63()
{
menuAff=63;
printf(lcd_putc,"\fDELAY EXT TME:%c%c\nDELAY EXT TME:",read_eeprom(14),read_eeprom(15));
modif(2,14,4,63);
if (menuaff==4)
{ delay_ms(500);lcd_putc("\fSYSTEM READY TO USE");delay_ms(500);EXT=(read_eeprom(14)-48)*10+read_eeprom(15)-48;}
}

void menu64()
{
delay_ms(100);
menuAff =retour;
}

void menu99()
{
menuAff=99;
delay_ms(500);lcd_putc("\fRepeat Last opertaion");delay_ms(500);
menuAff=retour;

}

void affichemenu(long x)
{
printf("\rmenue affiché (%lu)",x);
switch (x)
{
case 0:menu0();break;
case 1:menu1();break;
case 2:menu2();break;
case 21:menu21();break;
case 3:menu3();break;
case 4:menu4();break;
case 5:menu5();break;
case 6:menu6();break;
case 61:menu61();break;
case 99:menu99();break;
case 62:menu62();break;
case 63:menu63();break;
case 64:menu64();break;
case 51:menu51();break;
case 520:menu520();break;
case 52:menu52();break;
case 53:menu53();break;
case 54:menu54();break;
case 541:menu541();break;
case 530:menu530();break;
case 531:menu531();break;
case 532:menu532();break;
case 20:menu20();break;
//case 300:menu300();break;
}
}

void Afficheetat(int y)
{
char *message;
int1 P,F,B1,B2,Z1,Z2,v;
char Po[3]="p ",Fe[3]="F ",Bo1[4]="B1 ",Bo2[4]="B2 ",Zo1[4]="Z1 ",Zo2[4]="Z2 ";
int1 Err;
P=input(pin_D0);F=input(pin_D1);
B1=input(pin_D2);B2=input(pin_D3);
Z1=input(pin_D4);Z2=input(pin_D5);
v=B1*F*B2*Z1*Z2;
if (P)
{
lcd_putc("Po ");
}
if (F)
{
lcd_putc("Fe ");
}
if (B1)
{
lcd_putc("Bo1 ");
}
if (B2)
{
lcd_putc("Bo2 \n");
}
if (Z1)
{
lcd_putc("Zo1 ");
}
if (Z2)
{
lcd_putc("Zo2 ");
}
if (y==0)
lcd_putc("No error");
else if(v==0)
output_high(pin_a1);
}

void coderronne()
{
if (repcode<3)
{
affpourcode (repcode);
//printf("\n Recode=%d \n",repcode);
}
else
{
lcd_putc("\fUndifined User:");
output_high(PIN_A1);
codeblok=true;printf("\n Recode=%d \n",repcode);
}
}

void test()
{
int y=0;
if (codeblok)
sirene=true;

if (actsys)
{
y++;
delay_ms(attente*1000);
if (defaut)
sirene=true;
}
if (sirene)
y=y+2;
if (defaut)
y=y+4;
output_a(y);
}

void tapecode()
{
char c=0;int i=0,n=0;
int1 cdtap=false,exitmenu=false;
affpourcode (repcode);
while (!exitmenu)
{while(n<8)
{while (c==0)
c=kbd_getc();
if ((c!='*') && (c!='#'))
{
lcd_putc('*');printf("%c",c);
for(i=0;i<8;i++)/////////////////////////////////////////
codetaped[i]=c;n++;
codetaped[i]='\0';c=0;
}
}
if (c=='#')
{
printf("\n Repcode=%d \n",repcode);
if (cdtap||(i==0))
{
exitmenu=true;menuaff=1;
}
else
{
affpourcode (repcode);i=0;c=0;
}
}
if (c=='*')
{
printf("#%s# ---> #%s# ",codesystem,codetaped);i=0;
codeselect=VrfCdUs (codetaped);
printf(" comparaison =%d",codeselect);cdtap=true;c=0;
if (codeselect==1)
{
capteur=testetat();
delay_ms(2000);
exitmenu=true;menuaff=3;
}
else
coderronne();
}
}
}

void affpourcode (int x)
{
lcd_putc("\fAlaram ");
if (actsys)
lcd_putc("ON");
else
lcd_putc("OFF");
lcd_putc("(");lcd_putc(repcode+49);lcd_putc("):\n");
//lcd_putc("Press # to exit\n");
lcd_putc("User Code:");
}

void modif(int nbtch,long adresse,long nex,long ret)
{
char num[9],t;
int nbrtch=0,i=0;

while (nbrtch<nbtch)
{
while ((t==0)||(t=='*')||(t=='#'))
t=kbd_getc();
num[nbrtch]=t;
nbrtch++;
lcd_putc(t);
t=0;
}
t=0;
while ((t!='*')&&(t!='#'))
t=kbd_getc();
//printf("\rmodif %d %d %c\r",nbtch,adresse, t);
switch (t)
{

case '*':{menuAff =nex;for (i=0;i<nbtch;i++)
{write_eeprom(adresse+i,num[i]);delay_ms(100);};break;}
case '#':{menuAff =99;retour=ret;break;}
}
}

void menu21()
{
int1 u;
menuaff=21;
lcd_putc("\fEnter MSTR Code:");
entercode();
u=verifcode(0);
printf("\r res==%d menu=%lu==>code[0]=%d",u,menuaff,codetaped[0]);
if (codetaped[0]!='?')
break;
if (codetaped[0]!='\0')
if (u)
{menuaff=4;lcd_putc("\faccess autorized");delay_ms(500);break;}
else
{menuaff=0;lcd_putc("\faccess denied");delay_ms(500);break;}
else
{retour=21;menuaff=99;break;}
}

void entercode()
{
char t=0;
int nbrtch=0,i=0;
lcd_gotoxy(1,2);lcd_putc(" ");lcd_gotoxy(5,2);
while (nbrtch<8)
{
while ((t==0)||(t=='*'))
t=kbd_getc();
codetaped[nbrtch]=t;
nbrtch++;
if (t=='#')
{ codetaped[0]='?';nbrtch=8;t='?';}
else
{lcd_putc('*');t=0;}
}
while ((t!='*')&&(t!='#')&&(t!='?'))
t=kbd_getc();
//printf("\rmodif %d %d %c\r",nbtch,adresse, t);
switch (t)
{
case '*':{codetaped[8]='\0';break;}
case '#':{codetaped[0]='\0';menuaff=21;break;}
case '?':{codetaped[0]='?';menuaff=0;break;}
}
}

int1 verifcode(long adresse)
{
long i=0;int1 j=true;
for (i=0;i<8;i++)
j=j&&(codetaped[i]==read_eeprom(adresse+i));
return (j);
}
void menu20()
{int val;
val=read_eeprom(0);
if(val==0)
{delay_ms(500);
menuaff=4;}
else
//delay_ms(500);
menuaff=21;
}
int msge()
{

//printf("(at+cmgs="gs[i]");
}


Cette discussion est classée dans : sms, envoi


Répondre à ce message

Sujets en rapport avec ce message

envoi de sms avec Visual [ par youne ] Je voudrais envoyer un sms a partir de Visual mais je ne sais comment faire.Existe t-il des fonctions deja faites dans des .h et .cpp. Si oui, ou me l envoi de sms a partir de vicual c++ [ par initialb ] je souhaiterai savoir s'il existe un programme me permettant d'envoyer des sms via visual c++ ( si oui, merci de bien vouloir me repondre, et n'hesite envoi de SMS [ par toma2194 ] Bonjour,je voudrais développer une appli C ou C++ pour envoyer des SMS via mon portable qui serait relié à mon PC via un câble data (série).j'ai beauc SMS gratuits [ par supergrey ] Salut, voila mon probleme:Je possède un site internet sur lequel j'aimerai ajouter un service d'envoi de SMS gratuits (payé par moi).Pour cela je voud envoi sms via GSM [ par steeveness ] Bonjour, J'ai réalisé un site local pour un micro établissement, et je souhaiterais à partir de ce site envoyer des sms via un GSM. Malheureusement, c envoi de données sous tableur type excel [ par Nakinneuil ] Bonjour, Je suis sous linux et je dois envoyer des mesures (environ 10k mesures) dans un tableur type Excel pour afficher un graphe, le tout en C, je Envoi de données hexadecimale via un port sériel (communication sérielle) [ par parrin ] Salut tout le monde,je suis entrain de programmer un logiciel pour un AS-Interface Master! Celon le constructeur pour communiquer avec le Master il fa envoyer un sms via une carte à pic 16F877 [ par MarwaINSAT ] Bonjour,j ai un projet qui consiste a realiser une maquette didactique de TP a base d un microcontroleur pic 16F877qui contient des relai,un clavier e Problem d'envoi de fichier par socket en c [ par dyroj ] Bonjour, je veut envoyer un fichier(image, texte, executable) via les socket en c, j'ai créer mon programme et il marche que pour les fichier texte. P Utilisation socket Synchrone et Asynchrone simultanément [ par bigzooloo ] Bonjour,Le problème que j'ai n'est pas spécifique à Windows, j'utilise boost::asio pour une connexion client / serveur (donc portable sur linux et aut


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales