DFRobot GSM / GPS shield с ошибкой UNO init

gsm gps error

Прошу прощения, но у меня мало опыта работы с Arduino и т. Д. Была ли где-нибудь устранена "Ошибка инициализации Sim808", пожалуйста? Я перепробовал все примеры, которые смог найти, включая и те, что были на этих страницах StackExchange, но безуспешно. Я начал с тестового кода GPS из следующего источника:

https://wiki.dfrobot.com/SIM808_GPS_GPRS_GSM_Shield_SKU__TEL0097

Паранси, Марчелло, Пуя, Арслан и другие предлагали моды к этому коду, так что я перепробовал их все, как мне кажется, - ни один не работал.

Затем я посмотрел это видео:

https://www.youtube.com/watch?v=fN8fwX3KmsM

который, по-видимому, показывает приведенный ниже код или что-то подобное:

/*
### Получить данные GPS
1. Этот пример используется для проверки считывания GPS-данных SIM808 GPS/GPRS/GSM Shield.
2. Откройте пример SIM808_GetGPS или скопируйте этот код в свой проект
3. Загрузите и наберите функциональный переключатель на Arduino
4. откройте последовательный помощник
4. Поместите его снаружи, подождите несколько минут, а затем он отправит GPS-данные на последовательный порт.

create on 2016/09/23, version: 1.0
by jason

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

//#define PIN_TX    10
//#define PIN_RX    11
//SoftwareSerial mySerial(PIN_TX,PIN_RX);
//DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,

DFRobot_SIM808 sim808(&Serial);

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

  //******** Initialize sim808 module *************
  //while(!sim808.init()) { 
  while(!sim808.checkPowerUp()) {
      delay(1000);
      Serial.print("Sim808 init error\r\n");
  }

  //************* Turn on the GPS power************
  if( sim808.attachGPS())
      Serial.println("Open the GPS power success");
  else 
      Serial.println("Open the GPS power failure");
  
}

void loop() {
   //************** Get GPS data *******************
   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,6);
    
    sim808.latitudeConverToDMS();
    Serial.print("latitude :");
    Serial.print(sim808.latDMS.degrees);
    Serial.print("\^");
    Serial.print(sim808.latDMS.minutes);
    Serial.print("\'");
    Serial.print(sim808.latDMS.seconeds,6);
    Serial.println("\"");
    Serial.print("longitude :");
    Serial.println(sim808.GPSdata.lon,6);
    sim808.LongitudeConverToDMS();
    Serial.print("longitude :");
    Serial.print(sim808.longDMS.degrees);
    Serial.print("\^");
    Serial.print(sim808.longDMS.minutes);
    Serial.print("\'");
    Serial.print(sim808.longDMS.seconeds,6);
    Serial.println("\"");
    
    Serial.print("speed_kph :");
    Serial.println(sim808.GPSdata.speed_kph);
    Serial.print("heading :");
    Serial.println(sim808.GPSdata.heading);

    //************* Turn off the GPS power ************
    sim808.detachGPS();
  }

}

Я установил щит DFRobot на UNO и запитал его через бочкообразный разъем стабилизированным источником питания 2_amp 5V. Щит DFRobot показывает красный светодиод питания, а нажатие кнопки reset мигает синим светодиодом рядом с ним, но больше ничего не делает - последовательный монитор просто повторяет "ошибка инициализации Sim808". На видео синий светодиод "net" мигает еще до того, как SIM-карта вставлена, но моя карта не мигает. Должен ли я вернуть плату Фарнеллу и потребовать назад свои деньги?

Любая помощь очень ценится!

, 👍1

Обсуждение

Проблема, вероятно, в том, что вы пытаетесь использовать Serial для связи с SIM808 и ПК одновременно. Это не может действительно работать., @Majenko

У вас есть подлинный Arduino или дешевая китайская подделка?, @Majenko

@Majenko: Спасибо за помощь. Это с подлинным Arduino Uno от RobotShop не стук, и экран DFRobot пришел от Farnell в надлежащей маркированной коробке и в антистатических мешках для антенны и экрана. Цитируемый код-лишь один из многих, которые я пробовал., @Bolin

Не совсем уместно, но я только что подключил китайскую универсальную плату Sim900, и она работала "прямо из коробки", используя код LastMinuteEngineers, так что я думаю, что мой щит DFRobot Sim808 сломан/ непригоден к эксплуатации., @Bolin


1 ответ


1

Плата dfrobot имеет странную систему кнопок загрузки, которой вам нужно следовать, чтобы загрузить плату. Я потратил целую вечность, пытаясь заставить его работать, прежде чем наконец чего-то добился.

На плате есть синий светодиод, который будет непрерывно мигать с разной скоростью, если чип правильно питается и ищет мобильную сеть.

Я заметил, что вы прокомментировали его в строке while(!sim808.init ()). Это попытка включить плату автоматически, но я действительно помню, что что-то было забавным в этой реализации.

Судя по тому, что я некоторое время занимался исследованиями, прорывная плата dfrobot-не самая лучшая аппаратная реализация этого чипа. На самом деле из памяти я не смог найти ни одного модуля, который удовлетворял бы всем моим требованиям к проекту. Я бы порекомендовал ознакомиться со всей документацией, которую dfrobot предоставляет на своем веб-сайте. Надеюсь, это поможет вам работать.

Резюме: это безумно сложный процесс, чтобы заставить его работать, но платы функциональны

,