#include <EEPROM.h>
#include <EEPROMAnything.h>
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "inetGSM.h"
//#include "sms.h"
//#include "call.h"
//To change pins for Software mySerial, use the two lines in GSM.cpp.
//GSM Shield for Arduino
//www.open-electronics.org
//this code is based on the example of Arduino Labs.
//Simple sketch to start a connection as client.
InetGSM inet;
//CallGSM call;
//SMSGSM sms;
char in_data[10];
char msg[50];
char a1[30];
int numdata;
char data;
char inSerial[50];
int i = 0;
int j = 0;
boolean started = false;
String s1 = "";
char m[10];
char* s;
int reader_flag = 0;
void url_reader();
//////EEPROM/////////////
int add1 = 10;
int add2 = 15;
int add3 = 20;
char first;
//////////flags////////////
int tcp_flag = 0;
void setup()
{
//Serial connection.
Serial.begin(9600);
Serial.println(tcp_flag);
Serial.println("GSM Shield testing.");
/// reader_flag = 1;
if (gsm.begin(9600)) {
Serial.println("\nstatus=READY");
started = true;
} else Serial.println("\nstatus=IDLE");
if (started) {
//GPRS attach, put in order APN, username and password.
//If no needed auth let them blank.
if (inet.attachGPRS("internet.wind", "", ""))
Serial.println("status=ATTACHED");
else Serial.println("status=ERROR");
delay(1000);
//Read IP address.
gsm.SimpleWriteln("AT+CIFSR");
delay(5000);
//Read until serial buffer is empty.
gsm.WhileSimpleRead();
tcp_flag = 1;
// read_s();
/// data = inet.connectTCP(s, 80); ///////////// uncomment if not done////////////
//TCP Client GET, send a GET request to the server and
//save the reply.
// numdata=inet.httpGET("www.google.com", 80, "/", msg, 50);
/// data=inet.httpGET(s, 80, "/", msg, 50);
//Print the results.
}
// s = EEPROM.read(add2);
//data = inet.connectTCP(s, 80);
tcp_flag = 1;
}
///////////////loop///////////////////////////
void loop()
{
if (tcp_flag == 1) {
tcp_fun();
tcp_flag = 0;
}
read_s();
// serialhwread();
//Read for new byte on NewSoftSerial.
serialswread();
// char s = char(inSerial[50]);
}
////////////////////////////////////////////////////////
void serialhwread()
{
i = 0;
j = 0;
char s = char(inSerial[i]);
if (Serial.available() > 0) {
while (Serial.available() > 0) {
//inSerial[0] = '
this is the code which i have done. that s is nothing but a character which is passed inside inet.connectTCP(); function;
inSerial[i] = (Serial.read());
// char s = char(inSerial[i]);
// data = inet.connectTCP(s, 90);
delay(10);
i++;
tcp_flag = 0;
reader_flag = 0;
//Serial.print(s);
/*if (strcmp(inSerial, s))
{
i = 0;
Serial.print("TCP IS:");
data = (inet.connectTCP(s, 90));
}*/
///
//break;
}
inSerial[i] = '\0';
// s = (char*)(inSerial);
if (!strcmp(inSerial, "/END")) {
Serial.println("_");
inSerial[0] = 0x1a;
inSerial[1] = '\0';
gsm.SimpleWriteln(inSerial);
}
//Send a saved AT command using serial port.
if (!strcmp(inSerial, "TEST")) {
Serial.println("SIGNAL QUALITY");
gsm.SimpleWriteln("AT+CSQ");
}
//Read last message saved.
if (!strcmp(inSerial, "MSG")) {
Serial.println(msg);
} else {
Serial.println(inSerial);
gsm.SimpleWriteln(inSerial);
}
inSerial[0] = '\0';
}
}
void serialswread()
{
gsm.SimpleRead();
}
void read_s() {
// s1 = char(s);
// s1 = "";
if (Serial.available()) {
//reader_flag = 1;
// s = Serial.read();
gsm.WhileSimpleRead();
//String s1 = Serial.readString();
in_data[10] = Serial.read();
gsm.SimpleRead();
char s = char(in_data[10]);
///Serial.write(s);
// gsm.SimpleWrite(in_data[10]);
///tcp_flag = 0;
reader_flag = 0;
////////Serial.println(j);
///in_data[9] = "\0";
/* if (j == 2) {
s = EEPROM.read(add2);
gsm.SimpleWrite(s);
}
if (j == 3) {
s = EEPROM.read(add3);
gsm.SimpleWrite(s);
}*/
// Serial.write("\r\n");
//
// Serial.write(*ss);
}
/////////gsm.SimpleWrite(s);
}
void tcp_fun() {
tcp_flag = 1;
read_s();
data = inet.connectTCP(s, 80); //////gsm.SimpleWrite(s);
}
this is the code which i have done. that s is nothing but a character which is passed inside inet.connectTCP(); function