Athena: Den globala bil spårning System(3D Images) (5 / 6 steg)
Steg 5: Slutmontering
void Cmd_Read_Act(void) //Function läser SMS som skickas till SIM900 sköld.
{
char buffer2 [64];
för (int jag = 0; jag < greve; i)
{buffer2[i]=char(buffer[i]);}
om (strstr(buffer2,"INSTRUCTABLES")) //Comparing lösenord in med lösenord som lagras i programmet
{
Serial.println ("lösenord autentiseras.");
Serial.println ("Skicka svar SMS.");
SendTextMessage();
}
}
void SendTextMessage()
{
Sim900Serial.Print ("på CMGF = 1\r"); Skicka SMS i textläge
Delay(100);
Sim900Serial.println ("på CMGS = \"***\"");//The fördefinierade telefonnummer
Delay(100);
Sim900Serial.println ("var god, vΣnta medan modulen beräknar position"); //the innehåll av meddelandet
Delay(100);
Sim900Serial.println ((char) 26); //the ASCII koden av ctrl z är 26
Delay(100);
Sim900Serial.println();
int counter = 0;
GPS.listen();
för (;)
{
lång lat, lon;
osignerade långa fix_age, tid, datum, hastighet, kurs;
osignerade långa tecken;
osignerad korta meningar, failed_checksum;
långa latitud, longitud;
hämtar /-lat/long i 100000ths av en viss
GPS.get_position (lat, lon, & fix_age);
getGPS();
Serial.Print ("Latitude:");
Serial.Print(lat/1000000,7);
Serial.Print (":: longitud:");
Serial.println(Lon/1000000,7);
om (LAT == 0 & & LON == 0)
{
fortsätta;
}
Counter;
om (counter < 30)
{
fortsätta;
}
Sim900Serial.Print ("på CMGF = 1\r"); Skicka SMS i textläge
Delay(100);
Sim900Serial.println ("på CMGS = \"***\"");//The fördefinierade telefonnummer
Delay(100);
Sim900Serial.Print ("Latitude:");
Sim900Serial.Print(lat/1000000,7);
Sim900Serial.Print (":: longitud:");
Sim900Serial.println (LON/1000000,7); //the innehåll av meddelandet
Delay(100);
Sim900Serial.println ((char) 26); //the ASCII koden av ctrl z är 26
Delay(100);
Sim900Serial.println();
räknare = 0;
bryta;
}
}
void getGPS()
{
bool newdata = false;
osignerade långa start = millis();
samtidigt (millis() - start < 1000)
{
om (feedgps ())
{
newData = sant;
}
}
om (newdata)
{
gpsdump(GPS);
}
}
bool feedgps()
{
samtidigt (GPS.available())
{
om (gps.encode(GPS.read()))
return true;
} return 0;
}
void gpsdump (TinyGPS & gps)
{
GPS.get_position (& lat, och lon);
LAT = lat;
LON = lon;
{
feedgps();
}
}