Programme GSM M95 v2.0
Dependencies: mbed
Fork of mbed_m95 by
main.cpp
- Committer:
- mbedjf
- Date:
- 2018-03-04
- Revision:
- 0:a2a2c45b4247
- Child:
- 1:be115e3a98ae
File content as of revision 0:a2a2c45b4247:
/* JF - Lycee Cabanis de Brive-la-Gaillarde - date : 20180304*/ /* Essai gsm modem M95 : envoi SMS */ #include "mbed.h" void power_on(); // to turn on le modem gsm void led1_blink(); // to blink led1 void reset(); // to reset gsm modem void init_gsm(); // to init gsm modem DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); DigitalOut bp_fire(p14); DigitalOut pwrkey(p21); DigitalOut emerg_off(p22); DigitalIn status(p11); Serial pc(USBTX, USBRX); // creation objet -> stream serial USB Serial gsm(p9,p10); // creation objet -> stream serial uart p9 et p10 char numero_destinataire[20]={"06XXXXXXXX"};; char message_transmis[100]={"Hello world ! Lycee Cabanis Brive SN2 !"}; char code_pin[5]={"1234"}; char reponse_gsm[20]; int element=0; //indice pour tableau int main() { //gsm.baud(9600); // vitesse uart gsm 9600 bauds for (int i=0;i<20;i++) reponse_gsm[i]=0; // initialisation tableau réponses pc.printf("Lycee cabanis - Brive-la-Gaillarde - date : 20180304"); pc.printf("\n\r>"); pc.printf("Essai gsm modem m95 : envoi SMS"); pc.printf("\n\r>"); init_gsm(); pc.printf("Appuyez sur ''bp enter'' pour envoi SMS"); pc.printf("\n\r>"); while (1) { if(bp_fire==1){ // envoi message SMS au N° pré-saisi gsm.printf("AT+CMGS=%s\r",numero_destinataire); gsm.printf("%s",message_transmis); gsm.putc(0x1A); // envoi ctrl+Z //wait(30); // l'envoi du message SMS prends en 120 s maximum pc.printf("AT+CMGS=%s\r",numero_destinataire); pc.printf("\n\r>"); pc.printf("%s",message_transmis); pc.putc(0x1A); // envoi ctrl+Z pc.printf("\n\r>"); wait(30); // l'envoi du message SMS prends en 120 s maximum /*while (gsm.readable()){ reponse_gsm[element]=gsm.getc(); element++; } pc.printf("Reponse modem gsm = s%\r",reponse_gsm); // monitoring*/ pc.printf("Appuyez sur ''bp_enter'' pour envoi SMS"); pc.printf("\n\r>"); } } } // to turn on_off le modem gsm m95 void power_on_off(){ pwrkey=1; // création impulsion turn on sur ligne pwrkey wait(1); //pwrkey=1; // attente de l'état turn on sur la ligne status while(status==0)led1_blink(); pwrkey=0; } // to turn on_off le modem gsm m95 void reset(){ emerg_off=1; // création impulsion turn on sur ligne emerg_off wait(0.1); emerg_off=0; wait(3); } // to blink led1 void led1_blink(){ //int i; for(int i=0;i<3;i++) { led1=1; wait(0.250); led1=0; wait(0.250); } } void init_gsm(){ pc.printf("Patientez quelques instants : initialisation du modem gsm"); pc.printf("\n\r>"); pwrkey=0; emerg_off=0; power_on_off(); //modem on gsm.printf("AT+CPIN=%s\r",code_pin); // stockage du PIN wait(5); pc.printf("AT+CPIN=%s\r",code_pin); // monitoring pc.printf("\n\r>"); /*while (gsm.readable()){ reponse_gsm[element]=gsm.getc(); element++; } pc.printf("Reponse modem gsm = s%\r",reponse_gsm); // monitoring*/ gsm.printf("AT+CMGF=1\r"); // sélection du format du message SMS wait(0.3); pc.printf("AT+CMGF=1\r"); // monitoring pc.printf("\n\r>"); /*while (gsm.readable()){ reponse_gsm[element]=gsm.getc(); element++; } pc.printf("Reponse modem gsm = s%\r",reponse_gsm); // monitoring pc.printf("\n\r>");*/ }