Send SMS with UBlox-C027 controlled by BBB and monitored by PC
Dependencies: C027_Support mbed
Diff: main.cpp
- Revision:
- 0:af2a3f44ce5e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Oct 02 09:50:39 2015 +0000 @@ -0,0 +1,98 @@ +#include "mbed.h" +#include "MDM.h" +#include "C027_api.h" +//------------------------------------------------------------------------------------ +// You need to configure these cellular modem / SIM parameters. +//! Set your secret SIM pin here (e.g. "1234"). Check your SIM manual. +#define SIMPIN NULL +/*! The APN of your network operator SIM, sometimes it is "internet" check your + contract with the network operator. You can also try to look-up your settings in + google: https://www.google.co.uk/search?q=APN+list */ +#define APN NULL +//! Set the user name for your APN, or NULL if not needed +#define USERNAME NULL +//! Set the password for your APN, or NULL if not needed +#define PASSWORD NULL +//------------------------------------------------------------------------------------ +Serial pc(USBTX, USBRX); +Serial bbb(P4_28, P4_29); +int main(void) +{ + // Create the modem object + MDMSerial mdm; + // initialize the modem + MDMParser::DevStatus devStatus = {}; + MDMParser::NetStatus netStatus = {}; + bool mdmOk = false; + while (!mdmOk) + { + mdmOk=mdm.init(SIMPIN, &devStatus); + } + do + { + mdmOk = mdm.registerNet(&netStatus); + } + while (!mdmOk); + mdm.dumpNetStatus(&netStatus); + mdm.dumpDevStatus(&devStatus); + printf("SMS and GPS Loop\r\n"); + char* num = "+447923598328"; + char* reply; + int n; + printf("Please input the content.\n"); + bbb.putc('o'); + while (bbb.getc() != 'S') + { + continue; + } + send: + pc.puts("New SMS\n"); + n = 0; + reply = new char [140]; + reply[0] = '\0'; + char tmpc = bbb.getc(); + while (true) + { + if (tmpc == ' ' or tmpc == '\n') + { + bbb.puts(reply); + char tmp = bbb.getc(); + while(tmp != 'T' and tmp != 'F') + { + tmp = bbb.getc(); + continue; + } + pc.puts(reply); + pc.putc('\n'); + if (tmp == 'T') + { + mdm.smsSend(num, reply); + pc.puts(reply); + pc.putc('\n'); + if ( tmpc == '\n') + { + delete [] reply ; + bbb.putc('o'); + goto finish; + } + } + else + { + pc.puts("Discard\n"); + } + delete reply; + bbb.putc('o'); + goto send; + } + reply[n] = tmpc; + reply[n+1] = '\0'; + ++n; + tmpc = bbb.getc(); + } + finish: + pc.puts(reply); + pc.putc('\n'); + pc.puts("SMS sent\n"); + mdm.powerOff(); + return 0; +}