Arduino:Icomsat 1.1 GSM和Adafruit GPS,当我用串行软件连接GPS时,为什么GSM会关闭?
我试着用我的Arduino 1 R3连接两个护盾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 但它不起作用 这是一段代
防护罩是:
#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系统。 这里有一个链接,指向一个这样做的项目
希望这有帮助请不要只发布链接答案。