Получение «Открыть сбой питания GPS» на модуле SIM808

arduino-uno gps tinygps error sim808

Я пытался получить GPS-координаты с помощью этой программы:

#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>

#define PIN_TX    8
#define PIN_RX    7
SoftwareSerial mySerial(PIN_RX,PIN_TX);
DFRobot_SIM808 sim808(&mySerial);//подключить RX,TX,PWR,

//DFRobot_SIM808 sim808(&Serial);

void setup() {
  mySerial.begin(9600);
  Serial.begin(9600);

  //********* Инициализировать модуль sim808 *************
  while(!sim808.init()) { 
      delay(1000);
      Serial.print("Sim808 init error\r\n");
  }


  //*************** Включите питание GPS************
  if( sim808.attachGPS())
      Serial.println("Open the GPS power success");
  else 
      Serial.println("Open the GPS power failure");
  
}

void loop() {
   //*************** Получить данные GPS *******************
   if (sim808.getGPS()) {
    Serial.print(sim808.GPSdata.year);
    Serial.print("/");
    Serial.print(sim808.GPSdata.month);
    Serial.print("/");
    Serial.print(sim808.GPSdata.day);
    Serial.print(" ");
    Serial.print(sim808.GPSdata.hour);
    Serial.print(":");
    Serial.print(sim808.GPSdata.minute);
    Serial.print(":");
    Serial.print(sim808.GPSdata.second);
    Serial.print(":");
    Serial.println(sim808.GPSdata.centisecond);
    Serial.print("latitude :");
    Serial.println(sim808.GPSdata.lat);
    Serial.print("longitude :");
    Serial.println(sim808.GPSdata.lon);
    Serial.print("speed_kph :");
    Serial.println(sim808.GPSdata.speed_kph);
    Serial.print("heading :");
    Serial.println(sim808.GPSdata.heading);
    Serial.println();

    //*************** Отключите питание GPS ************
    sim808.detachGPS();
  }

}

Но когда я запускаю его, я получаю сообщение "Откройте сбой питания GPS". сообщение.

Я думаю, что мой GPS работает, потому что если я попытаюсь использовать AT-команды, я получу ответ:

 AT+CGPSSTATUS?
+CGPSSTATUS: Location 3D Fix

OK
AT+CGPSINF=0
+CGPSINF: 0,2543.585143,10018.826326,483.868110,20221118025902.000,19,10,0.509509,266.733459

OK

Я даже пытался получить информацию NMEA и проанализировать ее в python, я получил свое фактическое положение, поэтому, похоже, все работает правильно.

Проблема возникает, когда я пытаюсь использовать библиотеку DFRobot_sim808 или библиотеки TinyGps.

Я хотел бы знать, что может быть причиной этой проблемы, или есть ли способ проанализировать информационные координаты NMEA без использования библиотеки?

, 👍1

Обсуждение

это может помочь... https://www.gpsworld.com/what-exactly-is-gps-nmea-data/, @jsotola

ты в библиотеке в Монтеррее?, @jsotola

Да... я был там. Как вы узнали местоположение? Я знаю, что дал их, но я хочу знать, как вы переводите или анализируете эту необработанную информацию GPS., @Hans Ricardo Davila Acuña

Я проанализировал предложение NMEA ... 2543,585143,10018,826326 - это широта и долгота ... 25 градусов 43,585143 минуты ... 100 градусов 18,826326 минут .... то есть 25,72641905, 100,3147721 градус .... 25 ° 43'35,1" с.ш. 100°18'53,2"з.д. https://goo.gl/maps/2UV2g2qouJ2uWhJaA, @jsotola

Окей, я так понимаю, что вы разбираете координаты в ДДДММ.ММММ в более читабельный формат. Но как ты это делаешь? Вы используете формулу, программное обеспечение, библиотеку или что? Я хочу знать это, потому что мне нужно зафиксировать эту информацию с помощью кода., @Hans Ricardo Davila Acuña

карандаш и бумага... перевести градусы и минуты в десятичные градусы, @jsotola

Окей, ты действительно дал мне достаточно для работы. Спасибо :), @Hans Ricardo Davila Acuña