• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Brak połączenia UART z GSM SIM800L EVB (V2)
#1
Witam!

Jestem osobą mocno początkującą stąd proszę o wyrozumiałość Smile

Chciałem zapytać czy jest jakiś sposób, by sprawdzić czy moduł ten działa w pełni poprawnie?

Problem mam taki, że moduł po podłączeniu do kumputera poprzez kabel USB-UART (RX, TX) nie odpowiada na komendy AT. W programie Putty (Arduino IDE też próbowałem) ustalam połączenie jako SERIAL wybierająć poprawny PORT. Problem w tym, że gdy chcę wysłać jakąkolwiek komendę, to moduł GSM nic nie zwraca. Karta SIM ma środki, nie jest zablokowana ani nie ma SIM-LOCKA.

Na samym początku miałem problem z zasileniem tego modułu, ponieważ zasilanie 5V z płytki Arduino Uno powodowało, że moduł nie mógł się połączyć z siecią komórkową i resetował co pewien okres. Dopiero jak zasiliłem ten moduł warsztatowym zasilaczem (ATX) 5V, to ładnie sieć odnalazł. 

Ten moduł zakupiłem na AliExpress.


Załączone pliki Miniatury
       
 
Odpowiedź
#2
Oczywiście prędkość portu prawidłowo ustawiona?
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#3
(05-06-2020, 22:44)Jarewa0606 napisał(a): Oczywiście prędkość portu prawidłowo ustawiona?
Ustawiłem na 9600
 
Odpowiedź
#4
a próbowałeś przez arduino przez prosty testowy kod? Mi szybciej zadziałał jak podłączyłem do Arduino niż do kompa przez uart, koniecznie podłącz tez pin 3.3V bo bez niego też mi nie działał dobrze. Samo 5V z zewnętrznego zasilania nie wystarczało 

Kod:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(A2, A3); (dla arduino nano, wiadomo podłączamy TX arduino  do RX sim800 EVB)

void setup() {
  mySerial.begin(9600);  // the GPRS baud rate 
  Serial.begin(9600);    // the SERIAL baud rate
  delay(5000);

  //*************************** konfiguracja modulu GSM
  Serial.println("KONFIGURACJA MODEMU GSM SIM800L");
  Serial.print("\ntest polaczenia z SIM800L");
  mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
  ShowSerialData2();
  delay(100);

  Serial.print("\nTest jakosci sygnalu ");
  mySerial.println("AT+CSQ");  //Signal Quality Report
  ShowSerialData2();
  delay(100);

  mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
  ShowSerialData2();
 
  mySerial.println("AT+CMGF=1");  //TA sets parameter to denote which input and output format of messages to use. /0 PDU mode / 1 Text mode
  ShowSerialData2();
 
  mySerial.println("AT+CNMI=1,2,0,0,0"); //ustaw tryb odbioru sms
  ShowSerialData2();

  mySerial.println("AT+CREG?");  ////Check whether it has registered in the network
  ShowSerialData2();
//********************************************************************************************************* ShowSerialData
void ShowSerialData2()
{
  while(mySerial.available()){
    Serial.write(mySerial.read()); 
    }
  while(Serial.available()){
    mySerial.write(Serial.read()); 
    }
    delay(100);
}
 
Odpowiedź
#5
Jak podłączysz moduł do zasilania obserwuj LED, na początku miga w innym rytmie niż po uchwyceniu sygnału GSM. Komunikację rozpoczynam gdy złapie sygnał, to przy okazji świadczy o tym, że zasilanie ma wystarczającą wydajność do prawidłowej pracy modułu.
Jeśli nie masz ustawioną nieprawidłową prędkość moduły GSM potrafią wykryć nieprawidłową i dostosować się do wykorzystywanej, wysyłam co 1s "AT" i czekam na odpowiedź "OK", potem dopiero kolejne komunikaty. W dokumentacji trzeba sprawdzić czy modem wymaga NL CR, GSM zwykle tak.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości