【问题标题】:Arduino Uno sim808 init errorArduino Uno sim808 初始化错误
【发布时间】:2018-03-14 12:58:08
【问题描述】:

嘿,我有 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();
  }

}

所以我总是得到“sim808 init error”的结果

我不知道问题出在哪里,但我确实希望 sim808 没有损坏,因为它在 STA(状态)和 NET(网络)中的指示灯缓慢闪烁,但 PPS(gps)中没有指示灯我不知道是什么问题我真的很困惑。

【问题讨论】:

    标签: arduino gps arduino-uno arduino-ide


    【解决方案1】:
    //mySerial.begin(9600);
    

    void setup下面的这一行必须是代码部分而不是注释,删除

    '//'   
      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,
    

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

    【讨论】:

      【解决方案2】:

      您必须使用 Arduino 的引脚 7 和 8 作为 Tx 和 Rx。使用您选择的 3 和 2 将不适合您。

      【讨论】:

        猜你喜欢
        • 2016-08-24
        • 2021-08-26
        • 1970-01-01
        • 1970-01-01
        • 2014-07-22
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多