C027_Support library test

Dependencies:   C027_Support

Dependents:   C027_SupportTest_xively_location software_test_v1

Fork of Seeed_GPRS_Library_HelloWorld by wei zou

When running this example make sure you have:

  • edited the SIM PIN, APN, USER and PASSWORD for you network operator
  • have inserted a SIM card with enough credits
  • the antennas connected
  • have good reception (especially for GPS)
  • installed the mbed CDC drivers if you run windows
  • connected a terminal program, such as teraterm

The example will connect the modem to the network and attach it. I will place a post request to download a file from mbed website. It will do a USSD request and finally wait for incoming SMS. It will try to answer your SMS (try asking "where are you").

You should see a similar output in your preferred console program:

C027 Support Example
Device Init
Device Status:
  Device:       SARA-G350
  Power Save:   Active
  SIM:          Ready
  CCID:         xxxxxxxxxxxxxxxxxxxxxxxxxxx
  IMEI:         xxxxxxxxxxxxxxxxxxx
  IMSI:         xxxxxxxxxxxxxxxxxxx
  Manufacturer: u-blox
  Model:        SARA-G350
  Version:      08.49
Network Check
Network Status:
  Registration:       Home
  Signal Strength:    -87 dBm
  Operator:           Swisscom
  Phone Number:       +41xxxxxxxxxxx
Network Join
  IP Address: xx.xx.xx.xx
Socket Create
Socket Connect
Make a Http Post Request
Socket Send
Socket Recving
Socket 0: 337 bytes pending
Socket 0: 145 bytes pending
Socket 0: closed by remote host
Socket Recv "HTTP/1.1 200 OK
Server: nginx/1.1.19
Date: Thu, 10 Apr 2014 13:09:02 GMT
Content-Type: text/plain
Connection: close
Last-Modified: Fri, 27 Jul 2012 13:30:34 GMT
Cache-Control: max-age=36000
Expires: Thu, 10 Apr 2014 20:43:53 GMT
Vary: Accept-Encoding
X-Mystery-Header: 260358892
X-be: web0_prod_sjc
Age: 8709

Hello world!
"
Socket Close
Socket Free
Network Disconnect
Send Ussd Command *#134#
Got Ussd Answer: "UNKNOWN APPLICATION"
Checking SMS and GPS
GPS Location: 47.28xxx 8.56xxx
GPS Location: 47.28xxx 8.56xxx
...
GPS Location: 47.28xxx 8.56xxx
GPS Location: 47.28xxx 8.56xxx
Network Status:
  Registration:       Home
  Signal Strength:    -89 dBm
  Operator:           Swisscom
  Phone Number:       +41xxxxxxxxx
GPS Location: 47.28xxx 8.56xxx
GPS Location: 47.28xxx 8.56xxx
...
Revision:
7:e000317ddef6
Parent:
6:71f6214d595e
Child:
9:26f694bc31b4
--- a/main.cpp	Wed Apr 09 13:04:06 2014 +0000
+++ b/main.cpp	Thu Apr 10 13:07:35 2014 +0000
@@ -10,6 +10,9 @@
     const char* txtDev[] = { "Unknown", "SARA-G350", "LISA-U200", "LISA-C200" };
     if (status->dev < sizeof(txtDev)/sizeof(*txtDev) && (status->dev != MDMParser::DEV_UNKNOWN))
         printf("  Device:       %s\r\n", txtDev[status->dev]);
+    const char* txtLpm[] = { "Disabled", "Enabled", "Active" };
+    if (status->lpm < sizeof(txtLpm)/sizeof(*txtLpm))
+        printf("  Power Save:   %s\r\n", txtLpm[status->lpm]);
     const char* txtSim[] = { "Unknown", "Pin", "Ready" };
     if (status->sim < sizeof(txtSim)/sizeof(*txtSim) && (status->sim != MDMParser::SIM_UNKNOWN))
         printf("  SIM:          %s\r\n", txtSim[status->sim]);
@@ -19,6 +22,8 @@
         printf("  IMEI:         %s\r\n", status->imei);
     if (*status->imsi)  
         printf("  IMSI:         %s\r\n", status->imsi);
+    if (*status->meid) 
+        printf("  MEID:         %s\r\n", status->meid);
     if (*status->manu) 
         printf("  Manufacturer: %s\r\n", status->manu);
     if (*status->model)  
@@ -60,10 +65,10 @@
 
     GPSI2C gps(GPSSDA,GPSSCL,GPSADR);     // use GPSI2C class
     // GPSSerial gps(GPSTXD,GPSRXD,GPSBAUD); // or GPSSerial class 
-    MDMSerial mdm(MDMTXD, MDMRXD, MDMBAUD
-#if DEVICE_SERIAL_FC
-                 ,MDMRTS,MDMCTS
-#endif
+    MDMSerial mdm(MDMTXD,MDMRXD,MDMBAUD
+ #if DEVICE_SERIAL_FC
+                ,MDMRTS,MDMCTS
+ #endif
                 );
                 
     // initialize the modem 
@@ -186,7 +191,7 @@
         mdm.powerOff();
         gps.powerOff();
     }
-    printf("done\r\n");
+    printf("Shutdown\r\n");
     // now it is safe to switch off
     c027.mdmPower(false);
     c027.gpsPower(false);