저는 2 일 동안이 작업을 시도했습니다. 수신 번호로 문자 메시지로 GPS lat, lang을 보낼 수 있습니다. 그러나 내가 지금 원하는 것은 GPRS를 사용하여 이것을 보내는 것입니다. SIM900A GSM/GPRS 모듈을 사용하고 있습니다. 저는 소프트웨어 공학 학생이며 Arduino를 처음 접했습니다. 이것은 GSM을 사용하는 코드입니다.GPU를 사용하여 서버에 GPS 위치를 전송하기 위해 Arduino uno가있는 SIM900a를 사용합니다.
#include <SoftwareSerial.h>
#include <TinyGPS.h>
TinyGPS gps;
SoftwareSerial ss(5, 6);
static void smartdelay(unsigned long ms);
void setup()
{
Serial.begin(115200);
ss.begin(9600);
}
void loop()
{
float flat, flon;
unsigned long age, date, time, chars = 0;
unsigned short sentences = 0, failed = 0;
gps.f_get_position(&flat, &flon, &age);
sendLatLang(flat, flon);
gps.stats(&chars, &sentences, &failed);
Serial.println();
smartdelay(1000);
}
static void smartdelay(unsigned long ms)
{
unsigned long start = millis();
do
{
while (ss.available())
gps.encode(ss.read());
} while (millis() - start < ms);
}
static void sendLatLang(float lat, float lang)
{
if (lat == TinyGPS::GPS_INVALID_F_ANGLE || lang == TinyGPS::GPS_INVALID_F_ANGLE) {
Serial.println("Searching for GPS fix...");
} else {
Serial.println("AT+CMGF=1");
delay(1000);
Serial.println("AT+CMGS=\"+94123445678\"");
delay(1000);
Serial.print("Latittude : ");
Serial.println(lat);
Serial.print("Longitude : ");
Serial.println(lang);
Serial.write(26);
delay(1000);
}
}
답장을 보내 주셔서 대단히 감사합니다! 내가 언급 한 모든 것을 시도하고 곧 다시보고 할 것입니다. –