An example program using the Sprint Mobile Braodband to provide and SMS alert when the temperature read from the LM75B exceeds 32^C

Dependencies:   LM75B SprintUSBModem mbed-rtos mbed

Fork of SprintUSBModemSMSTest by Donatien Garnier

Committer:
donatien
Date:
Tue Oct 30 10:14:23 2012 +0000
Revision:
0:9488714d539f
Child:
1:17036ca8cb9f
Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:9488714d539f 1 #include "mbed.h"
donatien 0:9488714d539f 2 #include "SprintUSBModem.h"
donatien 0:9488714d539f 3
donatien 0:9488714d539f 4 #define MY_PHONE_NUMBER "+1xxxxxxxxx"
donatien 0:9488714d539f 5
donatien 0:9488714d539f 6 void test(void const*)
donatien 0:9488714d539f 7 {
donatien 0:9488714d539f 8 SprintUSBModem modem(p18);
donatien 0:9488714d539f 9
donatien 0:9488714d539f 10 printf("Switching power on\r\n");
donatien 0:9488714d539f 11
donatien 0:9488714d539f 12 modem.power(true);
donatien 0:9488714d539f 13
donatien 0:9488714d539f 14 modem.sendSM(MY_PHONE_NUMBER, "Hello from mbed:)");
donatien 0:9488714d539f 15
donatien 0:9488714d539f 16 while(true)
donatien 0:9488714d539f 17 {
donatien 0:9488714d539f 18 char num[17];
donatien 0:9488714d539f 19 char msg[128];
donatien 0:9488714d539f 20 size_t count;
donatien 0:9488714d539f 21 int ret = modem.getSMCount(&count);
donatien 0:9488714d539f 22 if(ret)
donatien 0:9488714d539f 23 {
donatien 0:9488714d539f 24 printf("getSMCount returned %d\r\n", ret);
donatien 0:9488714d539f 25 Thread::wait(3000);
donatien 0:9488714d539f 26 continue;
donatien 0:9488714d539f 27 }
donatien 0:9488714d539f 28 if( count > 0)
donatien 0:9488714d539f 29 {
donatien 0:9488714d539f 30 printf("%d SMS to read\r\n", count);
donatien 0:9488714d539f 31 ret = modem.getSM(num, msg, 128);
donatien 0:9488714d539f 32 if(ret)
donatien 0:9488714d539f 33 {
donatien 0:9488714d539f 34 printf("getSM returned %d\r\n", ret);
donatien 0:9488714d539f 35 Thread::wait(3000);
donatien 0:9488714d539f 36 continue;
donatien 0:9488714d539f 37 }
donatien 0:9488714d539f 38
donatien 0:9488714d539f 39 printf("%s : %s\r\n", num, msg);
donatien 0:9488714d539f 40 }
donatien 0:9488714d539f 41 Thread::wait(3000);
donatien 0:9488714d539f 42 }
donatien 0:9488714d539f 43
donatien 0:9488714d539f 44 modem.disconnect();
donatien 0:9488714d539f 45
donatien 0:9488714d539f 46 modem.power(false);
donatien 0:9488714d539f 47
donatien 0:9488714d539f 48 while(1) {
donatien 0:9488714d539f 49 }
donatien 0:9488714d539f 50 }
donatien 0:9488714d539f 51
donatien 0:9488714d539f 52
donatien 0:9488714d539f 53 int main()
donatien 0:9488714d539f 54 {
donatien 0:9488714d539f 55 DBG_INIT();
donatien 0:9488714d539f 56 DBG_SET_SPEED(115200);
donatien 0:9488714d539f 57 DBG_SET_NEWLINE("\r\n");
donatien 0:9488714d539f 58 Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
donatien 0:9488714d539f 59 DigitalOut led(LED1);
donatien 0:9488714d539f 60 while(1)
donatien 0:9488714d539f 61 {
donatien 0:9488714d539f 62 led=!led;
donatien 0:9488714d539f 63 Thread::wait(1000);
donatien 0:9488714d539f 64 }
donatien 0:9488714d539f 65
donatien 0:9488714d539f 66 return 0;
donatien 0:9488714d539f 67 }