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 Adafruit Fona上串行监视器中的Suppress AT代码输出_Arduino_Gps_Gsm_Adafruit - Fatal编程技术网

Arduino Adafruit Fona上串行监视器中的Suppress AT代码输出

Arduino Adafruit Fona上串行监视器中的Suppress AT代码输出,arduino,gps,gsm,adafruit,Arduino,Gps,Gsm,Adafruit,我修改了Adafruit Fona GPS示例文件,以显示我的位置与其收集的GPS和GSM位置之间的错误。我输出的错误部分显示正确,但AT代码也显示在串行监视器上,我不知道如何抑制它们。代码在下面,输出在下面。我试图摆脱一切不是以“GPS错误…”开头的线 /** * ___ ___ _ _ _ ___ __ ___ ___ ___ ___ * | __/ _ \| \| | /_\ ( _ )/ \( _ ) / __| _ \/ __| * | _| (_

我修改了Adafruit Fona GPS示例文件,以显示我的位置与其收集的GPS和GSM位置之间的错误。我输出的错误部分显示正确,但AT代码也显示在串行监视器上,我不知道如何抑制它们。代码在下面,输出在下面。我试图摆脱一切不是以“GPS错误…”开头的线

/**
*  ___ ___  _  _   _     ___  __  ___    ___ ___  ___
* | __/ _ \| \| | /_\   ( _ )/  \( _ )  / __| _ \/ __|
* | _| (_) | .` |/ _ \  / _ \ () / _ \ | (_ |  _/\__ \
* |_| \___/|_|\_/_/ \_\ \___/\__/\___/  \___|_|  |___/
*
*本示例旨在与Adafruit一起使用
*FONA 808或3G屏蔽或突破
*
*版权所有:2015 Adafruit
*作者:Todd Treece
*执照:麻省理工学院
*
*/
#包括“Adafruit_FONA.h”
//护罩的标准销,必要时进行调整
#定义FONA_RX 2
#定义FONA_TX 3
#定义FONA_RST 4
常数浮动电流=28.086084;
常数浮点电流=-82.401916;
浮动GPS_-LAT;
浮动GPS_LON;
浮动GSM_LAT;
浮子;
//我们默认使用软件串行。如果要使用硬件串行
//(因为不支持softserial)注释掉以下三行
//并取消对HardwareSerial行的注释
#包括
SoftwareSerial fonaSS=SoftwareSerial(FONA_TX,FONA_RX);
SoftwareSerial*fonaSerial=&fonaSS;
//硬件串行也是可能的!
//硬件目录*基金目录=&Serial1;
Adafruit_FONA FONA=Adafruit_FONA(FONA RST);
//拥有FONA 3G?请改用此对象类型
//Adafruit_FONA_3G FONA=Adafruit_FONA_3G(FONA_RST);
无效设置(){
而(!串行);
序列号开始(115200);
//串行打印(F(“Adafruit FONA 808和3G GPS演示”);
//Serial.println(F(“初始化FONA…(可能需要几秒钟)”);
基金会->开始(4800);
如果(!fona.begin(*fonaSerial)){
//Serial.println(F(“找不到FONA”);
而(1),;
}
//序列号:println(F(“FONA还好”);
//尝试启用GPRS
//Serial.println(F(“启用GPS…”);
fona.enableGPS(正确);
}
void循环(){
延迟(1000);
浮动纬度、经度、时速、航向、时速、高度;
//如果您请求高度读数,如果没有3D修复,getGPS将返回false
布尔gps_success=fona.getGPS(纬度、经度、速度、航向和高度);
如果(gps_成功){
//串行打印(“GPS lat:”);
//序列号println(纬度6);
//串行打印(“GPS长:”);
//序列号println(经度,6);
//串行打印(“GPS速度KPH:”);
//串行打印LN(速度单位kph);
//串行打印(“GPS速度MPH:”);
//速度每小时=速度每小时*0.621371192;
//串行打印LN(速度/英里/小时);
//串行打印(“GPS标题:”);
//序列号println(标题);
//串行打印(“GPS高度:”);
//串行打印LN(高度);
GPS_LAT=纬度;
GPS_LON=经度;
}否则{
//Serial.println(“等待FONA GPS 3D定位…”);
}
//Fona 3G没有GPRSlocation:/
if((fona.type()=FONA3G_A)| |(fona.type()=FONA3G_E))
返回;
//检查网络,然后使用GPRS
//Serial.println(F(“检查蜂窝网络…”);
if(fona.getNetworkStatus()==1){
//网络和GPRS?太好了!打印出GSM位置以进行比较
布尔gsmloc_success=fona.getGSMLoc(&纬度和经度);
如果(gsmloc_成功){
//串行打印(“GSMLoc lat:”);
//序列号println(纬度6);
//串行打印(“GSMLoc长:”);
//序列号println(经度,6);
GSM_LAT=纬度;
GSM_LON=经度;
}否则{
//Serial.println(“GSM定位失败…”);
//Serial.println(F(“禁用GPRS”);
fona.enableGPRS(错误);
//Serial.println(F(“启用GPRS”);
如果(!fona.enableGPRS(真)){
//Serial.println(F(“无法打开GPRS”);
}
}
}
//常数浮动电流=28.086084;
//常数浮点电流=-82.401916;
//浮动GPS_-LAT;
//浮动GPS_LON;
//浮动GSM_LAT;
//浮子;
浮动GPS_DIFF=sqrt((GPS_LAT-CURR_LAT)*(GPS_LAT-CURR_LAT)+(GPS_LON-CURR_LON)*(GPS_LON-CURR_LON));
浮动GSM_DIFF=sqrt((GSM_LAT-CURR_LAT)*(GSM_LAT-CURR_LAT)+(GSM_LON-CURR_LON)*(GSM_LON-CURR_LON));
串行打印(“GPS错误:”);
串行打印(GPS_DIFF,6);
串行打印(“GSM错误:”);
串行打印LN(GSM_DIFF,6);
}
输出为:

GPS Error: 87.056900  GSM Error: 87.056900
    ---> AT+CGNSINF
    <--- +CGNSINF: 1,0,20170529194222.000,,,,0.20,78.0,0,,,,,,12,3,,,25,,
    ---> AT+CREG?
    <--- +CREG: 0,1
    ---> AT+CIPGSMLOC=1,1
    <--- +CIPGSMLOC: 601
    ---> AT+CIPSHUT
    <--- SHUT OK
    ---> AT+SAPBR=0,1
    <--- ERROR
    ---> AT+CIPSHUT
    <--- SHUT OK
    ---> AT+CGATT=1
    <--- OK
    ---> AT+SAPBR=3,1,"CONTYPE","GPRS"
    <--- OK
    ---> AT+SAPBR=3,1,"APN","FONAnet"
    <--- OK
    ---> AT+CSTT="FONAnet"
    <--- OK
    ---> AT+SAPBR=1,1
    <--- OK
    ---> AT+CIICR
    <--- OK
GPS Error: 87.056900  GSM Error: 87.056900
GPS错误:87.056900 GSM错误:87.056900
--->AT+CGNSINF
在+克雷格?
AT+CIPGSMLOC=1,1
AT+CIPSHUT
AT+SAPBR=0,1
AT+CIPSHUT
AT+CGATT=1
AT+SAPBR=3,1,“连续类型”、“GPRS”
AT+SAPBR=3,1,“APN”,“FONAnet”
AT+CSTT=“FONAnet”
AT+SAPBR=1,1
AT+CIICR

您正在使用Adafruit的库/函数,如fona.getGPS,并对其进行编码以返回信息

可在图书馆的“Adafruit_Fona”文件夹中编辑

GPS Error: 87.056900  GSM Error: 87.056900
    ---> AT+CGNSINF
    <--- +CGNSINF: 1,0,20170529194222.000,,,,0.20,78.0,0,,,,,,12,3,,,25,,
    ---> AT+CREG?
    <--- +CREG: 0,1
    ---> AT+CIPGSMLOC=1,1
    <--- +CIPGSMLOC: 601
    ---> AT+CIPSHUT
    <--- SHUT OK
    ---> AT+SAPBR=0,1
    <--- ERROR
    ---> AT+CIPSHUT
    <--- SHUT OK
    ---> AT+CGATT=1
    <--- OK
    ---> AT+SAPBR=3,1,"CONTYPE","GPRS"
    <--- OK
    ---> AT+SAPBR=3,1,"APN","FONAnet"
    <--- OK
    ---> AT+CSTT="FONAnet"
    <--- OK
    ---> AT+SAPBR=1,1
    <--- OK
    ---> AT+CIICR
    <--- OK
GPS Error: 87.056900  GSM Error: 87.056900