Nesse projeto utilizo uma shield SIM800L e um ESP8266 onde tambem poderia ser utilizado um arduino.
#include <SoftwareSerial.h>
// 0 = D3
// 4 = D2
SoftwareSerial gprsSerial(4, 0);
void setup(){
gprsSerial.begin(19200);
Serial.begin(19200);
Serial.println("Inicializando…");
delay(2000);
Serial.println("Prontinho…");
gprsSerial.flush();
Serial.flush();
//inicializar o serviço GPRS
gprsSerial.println("AT+CGATT?");
delay(100);
toSerial();
// Configurações da Portadora
gprsSerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
delay(2000);
toSerial();
// Configurações da Portadora
gprsSerial.println("AT+SAPBR=3,1,\"APN\",\"timbrasil.br\"");
delay(2000);
toSerial();
// Configurações da Portadora
gprsSerial.println("AT+SAPBR=0,1");
delay(2000);
gprsSerial.println("AT+SAPBR=1,1");
delay(2000);
toSerial();
}
void loop(){
EnviaDados();
delay(30000);
}
void EnviaDados(){
// Inicializando o serviço HTTP
gprsSerial.println("AT+HTTPINIT");
delay(2000);
toSerial();
// Setando a URL
gprsSerial.println("AT+HTTPPARA=\"URL\",\"http://www.pequenosprojetos.com.br/\"");
delay(20000);
toSerial();
// Tipo requisição: 0=GET, 1=POST, 2=HEAD
gprsSerial.println("AT+HTTPACTION=0");
delay(6000);
toSerial();
// Lendo a resposta do servidor
gprsSerial.println("AT+HTTPREAD");
delay(10000);
toSerial();
gprsSerial.println("");
gprsSerial.println("AT+HTTPTERM");
toSerial();
delay(300);
}
void toSerial(){
while(gprsSerial.available()!=0){
Serial.write(gprsSerial.read());
}
}
