概述
#include <SoftwareSerial.h>
// The serial connection to the GPS module
SoftwareSerial air(4, 3);
SoftwareSerial gps(10, 11);
#include <TinyGPS++.h> //到github上下载tinygps这个库
char gpsData;
TinyGPSPlus gpsCls;
void setup() {
Serial.begin(9600);
air.begin(9600);
gps.begin(9600);
Serial.println("started");
}
void loop() {
while (Serial.available() > 0) {
air.write(Serial.read());
// byte gpsData = Serial.read();
// Serial.println(Serial.read());
}
while (gps.available() > 0) {
// get the byte data from the GPS
if (gpsCls.encode(gps.read())) // encode gps data
{
displayInfo();
}
}
while (air.available() > 0) {
byte airData = air.read();
Serial.write(airData);
// Serial.println(airData);
}
}
String lastString;
void displayInfo()
{
if (gpsCls.location.isValid())
{
// 读取到gps数据 通过4G发给服务器
Serial.print("Latitude: ");
Serial.println(gpsCls.location.lat(), 6);
Serial.print("Longitude: ");
Serial.println(gpsCls.location.lng(), 6);
Serial.print("Altitude: ");
Serial.println(gpsCls.altitude.meters());
String latitude = String(gpsCls.location.lat(), 6);
String longitude = String(gpsCls.location.lng(), 6);
String themeters = String(gpsCls.altitude.meters());
if (latitude + ";" + longitude + ";" + longitude != lastString) {
lastString = String(latitude + ";" + longitude + ";" + longitude);
air.println(latitude + ";" + longitude + ";" + longitude);
}
} else
{
Serial.println("Location: Not Available");
lastString = String("searching");
air.println(lastString);
}
delay(1000);
}
最后
以上就是怕孤单流沙为你收集整理的gps coding的全部内容,希望文章能够帮你解决gps coding所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复