It is the code of the Sim800 GPRS code.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
champion0311
Date:
Fri Aug 05 08:49:59 2016 +0000
Commit message:
SIM800_GPRS_CODE

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Aug 05 08:49:59 2016 +0000
@@ -0,0 +1,94 @@
+//It is the code of the GPRS communication by the use of the Sim800 module.
+//This code has work is "to upload data on data.sparkfun.com in every 5 seconds.
+//To check the uploaded data the URL is "data.sparkfun.com/streams/roYVdJgWrXUpxVpDYJpA".
+
+#include "mbed.h"
+#include <string> 
+
+Serial sim800(PTE0,PTE1);                                   //Serial communication of the sim800 and pc.
+Serial pc(USBTX,USBRX);
+
+AnalogIn pot(PTB0);
+AnalogIn ldr(PTB1);
+
+char x[300],y[30],z[30],l[30],m[30];
+            
+int main()
+{
+    float potval = 0;
+    float ldrval = 0;
+
+    pc.baud(9600);
+    sim800.baud(9600);
+
+    pc.printf("*******GPRS TEST*******\r\n");
+
+    sim800.printf("ATE0\r\n");                              //Command for the TURN OFF the repated terms(ECHO).
+        sim800.scanf("%s",x);                               //Take response in string x given by the "sim800".
+        pc.printf("%s\r\n",x);
+       
+        sim800.printf("AT+CGATT?\r\n");                     //To check the GPRS is attached or not.
+            sim800.scanf("%s%s",x,y);
+            pc.printf("%s   %s\r\n",x,y);
+        
+        sim800.printf("AT+CIPSHUT\r\n");                    //To reset the IP session if any.
+            sim800.scanf("%s%s",x,y);
+            pc.printf("%s   %s\r\n",x,y);
+  
+        sim800.printf("AT+SAPBR=3,1,Contype,GPRS\r\n");     //To Set the connection type to GPRS.
+            sim800.scanf("%s",x);
+            pc.printf("%s\r\n",x);
+        
+        sim800.printf("AT+SAPBR=3,1,APN,www\r\n");          //To Set the APN to to "www" , It might be different for you, and depends on the network.
+            sim800.scanf("%s",x);
+            pc.printf("%s\r\n",x);
+        
+        sim800.printf("AT+SAPBR =1,1\r\n");                 //To Enable the GPRS.
+            sim800.scanf("%s",x);
+            pc.printf("%s\r\n",x);
+        
+        sim800.printf("AT+SAPBR =2,1\r\n");                 //To get the IP address.
+            sim800.scanf("%s%s%s",x,y,z);
+            pc.printf("%s   %s  %s\r\n",x,y,z); 
+        
+        
+        sim800.printf("AT+HTTPINIT\r\n");                   //To enable the HTTP mode.
+            sim800.scanf("%s",x);
+            pc.printf("%s\r\n",x);
+        
+        sim800.printf("AT+HTTPPARA=CID,1\r\n");             //To sets up HTTP parameters for the HTTP call.
+            sim800.scanf("%s",x);
+            pc.printf("%s\r\n",x);
+            
+        
+        float lng,lat = 0;
+        while(lat == 0)
+        {                            
+            sim800.printf("AT+CIPGSMLOC=1,1\r\n");          //To check the Location of GSM in Co-Ordinates(Longitude,Latitude).
+            sim800.scanf("%s%s%s",x,y,z);
+            sscanf(y,"0,%f,%f",&lng,&lat);                  //To sperate out the value of longitude and latitude from the string 'y'.       
+        }
+        pc.printf("%0.6f   %0.6f",lng,lat);
+        
+        
+        while(1)
+        {
+            potval = pot.read();
+            ldrval = ldr.read();
+        
+            sim800.printf("AT+HTTPPARA=URL,data.sparkfun.com/input/roYVdJgWrXUpxVpDYJpA?private_key=jkgpNMYr81cgMGgbypgr&co_lat=%0.6f&co_long=%0.6f&ldr=%0.2f&pot=%0.2f\r\n",lat,lng,potval,ldrval);
+                                                            //The above command is for "To Set the url to the address of the webpage you want to access".
+                sim800.scanf("%s",x);
+                pc.printf("%s\r\n",x);
+            
+            sim800.printf("AT+HTTPACTION=0\r\n");           //To Start the HTTP GET session, by giving this command.
+                sim800.scanf("%s%s%s",x,y,z);
+                pc.printf("%s   %s  %s\r\n",x,y,z);
+        
+            sim800.printf("AT+HTTPREAD\r\n");               //To read the received data.
+                sim800.scanf("%s%s%s%s%s",x,y,z,l,m);
+                pc.printf("%s   %s  %s  %s  %s\r\n",x,y,z,l,m);
+            
+            wait(5);
+        }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Aug 05 08:49:59 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34
\ No newline at end of file