Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino:Icomsat 1.1 GSM和Adafruit GPS,当我用串行软件连接GPS时,为什么GSM会关闭?_Gps_Arduino_Gsm - Fatal编程技术网

Arduino:Icomsat 1.1 GSM和Adafruit GPS,当我用串行软件连接GPS时,为什么GSM会关闭?

Arduino:Icomsat 1.1 GSM和Adafruit GPS,当我用串行软件连接GPS时,为什么GSM会关闭?,gps,arduino,gsm,Gps,Arduino,Gsm,我试着用我的Arduino 1 R3连接两个护盾 防护罩是: 带ICOMSAT 1.1屏蔽的GSM() 带Adafruit GPS护罩的GPS(Adafruit产品:1272) 如果我分开使用这些模块,它们工作得很好,当我把它们放在一起时,GSM模块没有通电,状态指示灯关闭,只有电源指示灯亮起 我读了很多论坛,似乎问题出在softwareSerial上,所以我尝试了以下解决方案: =>使用AltSoftSerial,在GPS屏蔽的引脚9和RX之间架桥,并从TX切割引脚7 但它不起作用 这是一段代

我试着用我的Arduino 1 R3连接两个护盾

防护罩是:
  • 带ICOMSAT 1.1屏蔽的GSM()
  • 带Adafruit GPS护罩的GPS(Adafruit产品:1272)
  • 如果我分开使用这些模块,它们工作得很好,当我把它们放在一起时,GSM模块没有通电,状态指示灯关闭,只有电源指示灯亮起

    我读了很多论坛,似乎问题出在softwareSerial上,所以我尝试了以下解决方案:

    =>使用AltSoftSerial,在GPS屏蔽的引脚9和RX之间架桥,并从TX切割引脚7

    但它不起作用

    这是一段代码

    #include <Adafruit_GPS.h>
    #include <GSM.h>
    #include <AltSoftSerial.h>
    
    
    #define PINNUMBER ""
    #define PMTK_SET_NMEA_OUTPUT_RMCONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29"
    #define PMTK_Q_RELEASE "$PMTK605*31"
    #define PMTK_SET_NMEA_UPDATE_1HZ  "$PMTK220,1000*1F"
    
    //GPS
    AltSoftSerial gpsSerial;  //rx, tx (softwareSerial is called in GSM.H)
    Adafruit_GPS GPS(&gpsSerial);
    
    //GSM
    GSM gsmAccess;
    GSM_SMS sms;
    
    void setup(){
       Serial.begin(9600);
       GPS.begin(9600);
       ...
    }
    
    void loop(){
    ...
    }
    
    #包括
    #包括
    #包括
    #定义PINNUMBER“”
    #定义PMTK集合输出“$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29”
    #定义PMTK_Q_发布“$PMTK605*31”
    #定义PMTK\u集合\u NMEA\u更新\u 1HZ“$PMTK2201000*1F”
    //全球定位系统
    AltSoftSerial gpsSerial//rx,tx(在GSM.H中称为软件串行)
    Adafruit_GPS(和gpsSerial);
    //GSM
    GSM-gsmAccess;
    手机短信;
    无效设置(){
    Serial.begin(9600);
    开始(9600);
    ...
    }
    void循环(){
    ...
    }
    

    如果我将GPS屏蔽开关置于“Direct”位置,GSM电源将打开,但我无法读取GPS数据

    首先,您需要知道不能同时使用两个串行软件。其次,icomsat使用D8和D9作为软件电源控制和复位,您不应该使用D9作为软件串行引脚

    最好的方法是使用iteaduino mega 2560和iteaduino gps屏蔽

    将icomsat连接到UART1,并将gps连接到UART2

    您可以使用适用于sim900的tinygps库和gsm库,您可以在icomsat网站的有用链接下找到gsm库

    致以最良好的祝愿


    斯坦·李

    硬件工程师


    Lizq@iteadstudio.com

    您可以使用AltSoftSerial和TinyGPSPlus在Arduino R3上创建一个工作的GPS和GSM系统。 这里有一个链接,指向一个这样做的项目
    希望这有帮助

    请不要只发布链接答案。