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:
chris
Date:
Wed Oct 31 01:35:49 2012 +0000
Revision:
1:17036ca8cb9f
Parent:
0:9488714d539f
First 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"
chris 1:17036ca8cb9f 3 #include "LM75B.h"
donatien 0:9488714d539f 4
chris 1:17036ca8cb9f 5 LM75B tmp(p28,p27);
chris 1:17036ca8cb9f 6
chris 1:17036ca8cb9f 7 #define MY_PHONE_NUMBER "+447957363267"
donatien 0:9488714d539f 8
chris 1:17036ca8cb9f 9 void test(void const*)
donatien 0:9488714d539f 10 {
chris 1:17036ca8cb9f 11 DigitalOut led4(LED4);
donatien 0:9488714d539f 12 SprintUSBModem modem(p18);
chris 1:17036ca8cb9f 13 char msg[128];
chris 1:17036ca8cb9f 14
donatien 0:9488714d539f 15
donatien 0:9488714d539f 16 printf("Switching power on\r\n");
donatien 0:9488714d539f 17 modem.power(true);
chris 1:17036ca8cb9f 18
donatien 0:9488714d539f 19 modem.sendSM(MY_PHONE_NUMBER, "Hello from mbed:)");
donatien 0:9488714d539f 20
chris 1:17036ca8cb9f 21 while(true) {
chris 1:17036ca8cb9f 22 if (tmp.read() > 32.0) {
chris 1:17036ca8cb9f 23 led4 = 1;
chris 1:17036ca8cb9f 24 sprintf(msg,"Temperature : %.1f!",tmp.read());
chris 1:17036ca8cb9f 25 modem.sendSM(MY_PHONE_NUMBER, msg);
chris 1:17036ca8cb9f 26 while (tmp.read() > 30.0) {
chris 1:17036ca8cb9f 27 Thread::wait(1000);
chris 1:17036ca8cb9f 28 }
chris 1:17036ca8cb9f 29 led4=0;
donatien 0:9488714d539f 30 }
chris 1:17036ca8cb9f 31 }
donatien 0:9488714d539f 32
chris 1:17036ca8cb9f 33 modem.disconnect();
chris 1:17036ca8cb9f 34
chris 1:17036ca8cb9f 35 modem.power(false);
chris 1:17036ca8cb9f 36
donatien 0:9488714d539f 37 }
donatien 0:9488714d539f 38
donatien 0:9488714d539f 39
donatien 0:9488714d539f 40 int main()
donatien 0:9488714d539f 41 {
chris 1:17036ca8cb9f 42 DBG_INIT();
chris 1:17036ca8cb9f 43 DBG_SET_SPEED(115200);
chris 1:17036ca8cb9f 44 DBG_SET_NEWLINE("\r\n");
chris 1:17036ca8cb9f 45 Thread testTask(test, NULL, osPriorityNormal, 1024 * 5);
chris 1:17036ca8cb9f 46 DigitalOut led(LED1);
chris 1:17036ca8cb9f 47 while(1) {
chris 1:17036ca8cb9f 48 led=!led;
chris 1:17036ca8cb9f 49 Thread::wait(1000);
chris 1:17036ca8cb9f 50 }
donatien 0:9488714d539f 51
chris 1:17036ca8cb9f 52 return 0;
donatien 0:9488714d539f 53 }