Arduino Uno sim808初始化错误

时间:2018-03-14 12:58:08

标签: arduino gps arduino-uno arduino-ide

嘿所以我有arduino uno和带有gps天线和gsm天线的sim808。以下是示例代码:

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

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

DFRobot_SIM808 sim808(&mySerial);

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

  //******** Initialize sim808 module *************
  while(!sim808.init()) { 
      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);
    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();

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

}

所以我总是得到&#34; sim808初始化错误&#34; here's the result

我不知道问题是什么,但我确实希望sim808没有被破坏,因为它在STA(状态)和NET(网络)中有轻微的缓慢闪烁但是没有PPS中的亮点(gps)我不知道我真正感到困惑的是什么。

2 个答案:

答案 0 :(得分:0)

您必须将Arduino的引脚7和8用作Tx和Rx。对于您选择的3和2,它对您不起作用。

答案 1 :(得分:0)

//mySerial.begin(9600);

void设置正下方的这一行必须是代码部分,不能注释,删除

'//'   
  mySerial.begin(9600);
  Serial.begin(9600);

也是第6行

//DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,
must be part of code not comment, delete the '//'

重试为

DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,

它应该工作,因为它是冷启动,可能需要一些时间,如果您再次将这些注释行更正为代码时遇到问题,只需交换引脚即可