Go Down

Topic: Problema Comunicación Serial con Modulo 3G (Read 330 times) previous topic - next topic

fullrock66

Oct 22, 2018, 02:29 pm Last Edit: Mar 18, 2019, 05:33 pm by surbyte Reason: Errores y códigos deben ir con etiquetas
Hola, estoy tratando de hacer una prueba, para imprimir en el puerto serial todo lo que envió y recibo en la comunicación con un modulo 3G Telit UL865-NAD, pero cuando corro el programa no veo nada de la comunicación en el monitor serial, este es mi codigo :

Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial GPRSBee(3,2); // RX, TX
char dato;
int salida = 0;


void setup()
{
  
  GPRSBee.begin(9600);//init serial port at 115200 baud
  Serial.begin(9600); //init serial port at 9600 baud
  Serial.println("Starting Test");
  delay(1000);
 
  
}
//-------------------------------------------------------------------------------------------
void loop()
{
  while(salida==0)
    {
    Serial.println("configuring MODEM Telit UL865-NAD");
    configuracionGPRSBee();  //Se configuran parámetros para usar el modulo, si todo OK salida=1
    Serial.println("Configuration Done!");
    }
}
//-------------------------------------------------------------------------------------------


void ShowSerialData()
{
  while(GPRSBee.available()!= 0)
    {
    dato = Serial.read();
    GPRSBee.print(dato);
  }
  while(GPRSBee.available() != 0)
  {
    dato = GPRSBee.read();
    Serial.print(dato);
  }
}


int configuracionGPRSBee()
{
  GPRSBee.println("AT");   //Verifica funcionamiento
  ShowSerialData();
  delay(3000);
  GPRSBee.println("AT+CGDCONT=1,\"IP\",\"bam.clarochile.cl\""); // APN de la compañia de tu SIM
  ShowSerialData();
  delay(3000);
  GPRSBee.println("AT#SGACT=1,1");   //Activa el contexto GSM
  ShowSerialData();
  delay(3000);
  GPRSBee.println("AT&K0");   //Se configura sin control de flujo
  ShowSerialData();
  delay(3000);
  GPRSBee.println("AT#SD=1,0,80,\"api.thingspeak.com\",0,0,1"); //Abre la conexión remota a través del socket
  ShowSerialData();
  delay(3000);
  salida=1;
}


Se supone que cuando llamo a configuracionGPRSBee(), en el monitor seria debería ver el comando AT que estoy enviando al Modulo y luego su respuesta, por ejemplo lo que debería ver si el programa corre normalmente es lo siguiente :


Quote
"Monitor Serial" ->

Starting Test

configuring MODEM Telit UL865-NAD

AT

OK

AT+CGDCONT=1,\"IP\",\"bam.clarochile.cl\

OK

AT#SGACT=1,1

OK

AT#SD=1,0,80,\"api.thingspeak.com\",0,0,1

OK
Configuration Done!

Lo que estoy viendo actualmente es :

"Monitor Serial" ->

Starting Test

configuring MODEM Telit UL865-NAD


Configuration Done!
Que puede provocar esto?.
 

surbyte

Por favor, lee el privado que te envio con instrucciones para editar tu código de acuerdo a las normas.

Revisaste la alimentación?

El módulo 3G Telit UL865-NAD que mencionas tiene tolerancia 5V?

MARIOPALMA2018

#2
Mar 18, 2019, 05:27 pm Last Edit: May 24, 2019, 01:39 am by surbyte Reason: Agregado de etiquetas de código
En tu código, en ninguna linea realizas la secuencia de encendido del modem.

Si por ejemplo, el modem tiene el terminal digital 7 (Pin D7) como power debes realizar:

Code: [Select]
pinMode(7, OUTPUT); // Configuración como pin de salida
delay(10);
digitalWrite(7, HIGH); // Encender modem 3G
delay(1000);
digitalWrite(7, LOW); // Apagar modem 3G
delay(1000);
digitalWrite(7, HIGH); // Encender modem 3G
delay(1000);

MARIOPALMA2018

Además, como usas una librería que simula un puerto virtual, no veras ninguna respuesta como tu deseas.
Te recomiendo no usar esa librería e implementar con otro puerto serial el envió de los comandos.

surbyte

#4
May 24, 2019, 01:38 am Last Edit: May 24, 2019, 01:38 am by surbyte
Bien MARIOPALMA2018 pero el hilo es de Octubre del 2018 por lo que ya se considera hilo viejo.
Dejo tu respuesta porque ayuda a esclarecer el problema pero el interesando no volvió a preguntar.
Por cierto, la próxima cada línea de código va con etiquetas, no texto plano
Gracias.


Go Up