#include <ThingSpeak.h>
#include <SoftwareSerial.h>
#include <String.h>
SoftwareSerial mySerial(7, 8);
boolean pin2=LOW,pin3=LOW,pin4=LOW,pin5=LOW,pin6=LOW;
float temp=1.0;
void setup()
{
mySerial.begin(9600); // the GPRS baud rate
Serial.begin(9600); // the GPRS baud rate
delay(1000);
}
void loop()
{
temp=analogRead(A0);
delay(2);
Send2Pachube();
if (mySerial.available())
Serial.write(mySerial.read());
}
void Send2Pachube()
{
mySerial.println("AT");
delay(1000);
mySerial.println("AT+CREG=1");
delay(1000);
mySerial.println("AT+CGATT=1");
delay(1000);
mySerial.println("AT+CIPSHUT");
delay(1000);
mySerial.println("AT+CIPSTATUS");
delay(1000);
mySerial.println("AT+CIPMUX=0");
delay(2000);
mySerial.println("AT+CSTT=\"internet.comcel.com.co,COMCELWEB,comcelweb\"");//start task and setting the APN,
delay(1000);
ShowSerialData();
mySerial.println("AT+CIPSPRT=1");
delay(4000);
ShowSerialData();
mySerial.println("AT+CIPSTART=TCP,api.thingspeak.com,80");//start up the connection
delay(20000);
ShowSerialData();
mySerial.println("AT+CIPSEND");//begin send data to remote server
delay(4000);
ShowSerialData();
String str="GET https://api.thingspeak.com/update?api_key=08L71HX0303YW0OV&field1=1" + String(temp);
mySerial.println(str);//begin send data to remote server
delay(4000);
ShowSerialData();
mySerial.println((char)26);//sending
delay(5000);//waitting for reply, important! the time is base on the condition of internet
mySerial.println();
ShowSerialData();
mySerial.println("AT+CIPSHUT");//close the connection
delay(100);
ShowSerialData();
}
void ShowSerialData()
{
while(mySerial.available()!=0)
Serial.write(mySerial.read());
}