Модуль GPS не ловит сигнал
Я делаю GPS-трекер с модулем Neo6m GPS и платой разработки ESP32.
Я проверил проводку и кодировку, но мой модуль все равно не ловит сигнал
Я уже на крыше своего дома на случай, если для подключения понадобится чистое небо
Это мой код
#include <WiFi.h>//для подключения esp32 к Wi-Fi
#include <TinyGPS++.h>//для получения данных GPS с GPS-модуля neo-6m
#define WIFI_SSID "Airtel_pawa_4182"//название Wi-Fi простыми словами
#define WIFI_PWD "Ahuja6230"//пароль Wi-Fi
TinyGPSPlus GPS;//создание объекта GPS из библиотеки tinygps++
void setup() {
Serial.begin(9600);
//настройка Wi-Fi{
WiFi.begin(WIFI_SSID, WIFI_PWD);
Serial.println("connecting to wifi");
while(WiFi.status() != WL_CONNECTED){
Serial.println(".");
delay(100);
}
Serial.print("Successfully connected to ");
Serial.println(WIFI_SSID);
//}
//настройка GPS{
Serial2.begin(9600);
delay(1000);
Serial.println(".");
Serial.println("ESP32-GPS Tracker");
Serial.println("Initializing...");
//}
}
void loop() {
if(Serial2.available() > 0) {
if(GPS.encode(Serial2.read())) {
if(GPS.location.isValid()) {
double latitude = GPS.location.lat();
double longitude = GPS.location.lng();
Serial.print(F("- latitude: "));
Serial.println(latitude);
Serial.print(F("- longitude: "));
Serial.println(longitude);
}
else{
Serial.println(F("- location: INVALID"));
}
Serial.println();
}
}
if (millis() > 5000 && GPS.charsProcessed() < 10) {
Serial.println(F("No GPS data received: check wiring"));
}
}
Подключение простое
VCC(gps)--->3V3(esp32)
Gnd--->Gnd
Rx---->GPIO17(Tx)
Tx---->GPIO16(Rx)
Вот что показывает последовательный монитор:
connecting to wifi
.
.
.
.
.
Successfully connected to Airtel_pawa_4182
.
ESP32-GPS Tracker
Initializing...
No GPS data received: check wiring
No GPS data received: check wiring
No GPS data received: check wiring
No GPS data received: check wiring
Как решить эту проблему?
Изменение: макетная плата изначально была подключена неправильно, но позже это было исправлено. Спасибо Starcat за исправление ошибки. Но все равно модулю GPS требуется очень много времени, чтобы поймать сигнал. Когда он запускается, он сначала выводит, что данные GPS не были получены в течение некоторого времени, а затем сообщает, что местоположение недействительно. Только затем он выводит широту и долготу. Кроме того, широта и долгота не обновляются на последовательном мониторе вовремя. Задержка составляет всего одну секунду, но это занимает гораздо больше времени... Если у кого-то есть решение, пожалуйста, ответьте..
@Yug Ahuja, 👍1
Обсуждение2 ответа
Сообщение "GPS не обнаружен" означает, что прошло 5 секунд и на последовательный порт GPS поступило менее 10 допустимых символов. Возможно, несоответствие скорости передачи данных.
Макетная плата неправильно подключена. Детали по обе стороны от центральной планки макетной платы не соединены друг с другом (см. здесь), поэтому белый и оранжевый провода, а также черный, желтый и провода не соединяются.
Решение: поместите провода на одной стороне макетной платы, и вы получите более высокое изменение рабочего GPS.
Теперь вы должны по крайней мере получать выходные данные от GPS, даже если он просто сообщает о том, что еще не получил действительное местоположение. Может потребоваться некоторое время (особенно при первом использовании), чтобы получить фиксацию. Я бы дал ему по крайней мере 30 минут для первой фиксации.
Он работает, но каждый раз, когда я его запускаю, он говорит, что данные GPS не получены в течение некоторого времени, затем местоположение недействительно, и только тогда он выводит широту и долготу. Также широты и долготы обновляются на последовательном мониторе с большой задержкой, даже если я просто добавил задержку в 1 секунду в своей программе... У вас есть решение этой проблемы?, @Yug Ahuja
- Получите GPS-координаты с помощью беспроводного трекера Heltec на базе Arduino
- GPS-модуль uBlox Neo 6M не отвечает
- Отправка команд PUBX на плату GPS (Ublox NEO-6M) через SoftwareSerial
- Arduino SoftwareSerial - не удается получить данные от модуля NEO 6M-GPS
- TinyGPS не дает долготу, широту и другие данные
- последовательная передача данных на GPS-экране duinopeak
- Интерфейс U-Blox Neo M8N GNSS-GPS с ESP32-TTGO-T-CALL
- Декодировать радиочастотные удаленные сигналы с помощью ESP32 или node MCU?
Не могли бы вы приложить фотографию или схему подключения и питания ESP32 и GPS?, @StarCat
@StarCat добавил картинку. Сейчас я питаю его от своего ноутбука, @Yug Ahuja
Вы неправильно используете макетную плату. Детали по обе стороны от центральной планки макетной платы не соединены друг с другом [(см. здесь)](https://learn.pimoroni.com/article/anatomy-of-a-mini-breadboard) поэтому белый и оранжевый провода и черный желтый и провода не создают соединение. Поместите провода на одну сторону макетной платы, и у вас будет более высокое изменение рабочего GPS., @StarCat
@StarCat Сработало... Это был мой первый опыт использования мини-макетной платы. Я всегда использовал обычные макетные платы, которые подключались вертикально (при размещении в альбомной ориентации), поэтому не знал, что у них нет соединения через среднюю планку..., @Yug Ahuja
Но местоположение по какой-то причине все еще отображается как НЕДЕЙСТВИТЕЛЬНОЕ., @Yug Ahuja
Неважно, это сработало после нескольких попыток. Спасибо @StarCat, но как мне отметить твой комментарий как ответ?, @Yug Ahuja
Я разместил свой комментарий в качестве ответа, так что вы можете его принять., @StarCat