Я использую Arduino Mega 2560 с модулем SIM808.Я хочу отправить HTTP-запрос с моими текущими GPS-координатами.Если смотреть отдельно (в двух эскизах), я могу использовать обе функции.Если я объединю оба эскиза, модуль больше не будет получать данные GPS.
Какие изменения необходимы, чтобы оба эскиза могли работать вместе?#include
DFRobot_SIM808 sim808(&Serial);
char buffer[512];
void setup(){
Serial.begin(9600);
//******** Initialize sim808 module *************
while(!sim808.init()) {
delay(1000);
Serial.print("Sim808 init error\r\n");
}
delay(3000);
//*********** Attempt DHCP *******************
while(!sim808.join(F("internet.eplus.de"))) {
Serial.println("Sim808 join network error");
delay(2000);
}
//************ Successful DHCP ****************
Serial.print("IP Address is ");
Serial.println(sim808.getIPAddress());
//************* Turn on the GPS power************
if( sim808.attachGPS())
Serial.println("Open the GPS power success");
else
Serial.println("Open the GPS power failure");
delay(2000);
}
void loop(){
tcp();
delay(2000);
}
void tcp()
{
// Update the GPS data
float lati, longi;
if (sim808.getGPS()) {
lati = sim808.GPSdata.lat;
longi = sim808.GPSdata.lon;
sim808.detachGPS();
}
else {
// No gps, abort
return;
}
//*********** Establish a TCP connection ************
if (!sim808.connect(TCP,"100.100.100.100", 80)) {
Serial.println("Connect error");
return;
}
else {
Serial.println("Connect POPO success");
}
//*********** Send a GET request *****************
char http_cmd[100];
sprintf(http_cmd, "GET /api/v1/Status?latitude=%f&longitude=%f HTTP/1.0\r\n\r\n\0", lati, longi);
sim808.send(http_cmd, strlen(http_cmd));
//************* Close TCP or UDP connections **********
sim808.close();
//*** Disconnect wireless connection, Close Moving Scene *******
sim808.disconnect();
}