Home Forum MICROCONTROLLORI Arduino e Quectel M95 (GSM2Click Board)

Questo argomento contiene 6 risposte, ha 3 partecipanti, ed è stato aggiornato da  divivoma 6 mesi, 2 settimane fa.

Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #60541

    divivoma
    Membro

    Ciao carissimi !

     

    Da quanto tempo non scrivo qualcosa di elettronicamente serio :) .. ma finalmente forse ci sono e sto ripartendo con un'attività da puro firmwarista!!

     

    Vi propongo le connessioni tra le 2 schede e il codice che ho implementato al fine di inviare un semplice comando AT via seriale.

    La strategia è quella di utilizzare una seriale sw per monitorare la seriale hw connessa al dispositivo GSM:

     

     

    #include <SoftwareSerial.h>
    
    const int PWK= 7; // Analog output pin that the LED is attached to
    const int STA= 8;
    const int RX= 2;  //Seriale HW, connessa alla seriale del GSM
    const int TX= 3; 
    
    
    
    SoftwareSerial mySerial(RX,TX); // RX, TX
    
    
    void setup() 
    {                
      // initialize the digital pin as an output.
      pinMode(PWK, OUTPUT);   // questo pin serve per accendere il dispositivo GSM
      pinMode(STA, INPUT);   
      
      pinMode(RX,INPUT);
      pinMode(TX,OUTPUT);
      
      Serial.begin(19200);  //Init seriale sw
      Serial.println("Arduino serial initialized!");
      delay(10); 
      
      mySerial.begin(19200);  //init seriale hw --> qui non so se è quello corretto, ma                          dovrebbe esserci l'autobaudrate detection attiva per default
      Serial.println("Software serial initialized!");
      delay(10); 
      
      
      
       STA_value=digitalRead(STA);
       Serial.print(" GSM STATUS= ");
       Serial.println(STA_value);
       
       gsmOn();
      
      
       STA_value=digitalRead(STA);  //check sul pin STATUS del GSM
       Serial.print(" GSM STATUS= ");
       Serial.println(STA_value);
    
      delay(5000);
      
    }
    
    
    // the loop routine runs over and over again forever:
      void loop() 
      {
    
          sendCommand("AT\r");            
          readSerial();
            
        delay(1000);
      }
    
    void sendCommand(char* msg)
    { 
      mySerial.print(msg);
      Serial.println(msg);
      delay(1); 
      
    }
    
    void readSerial()
    {
      
      while(mySerial.available()>0)
      {
        Serial.print(mySerial.read());
        delay(1);  
      }
    
      
    }
    
    
    void gsmOn() 
    { 
     
      digitalWrite(PWK, HIGH);   // turn the Phone on
      delay(2);
    }
    
    

     

    Cosa ne pensate? Ho dei dubbi sul baud rate del GSM quando si parte con il suo primo avvio e non so come fare se non riesco a mandare neanche un semplice AT..

    Adesso mi attacco anche con l'oscilloscopio su tx e rx e vedo cosa succede.

    Illuminatemi pure…! :)

    Grazie a tutti !!

     

     

     

    #75411

    divivoma
    Membro

    Mi sono reso conto del primo banale errore..ma istruttivo!!

    GSM                     ARDUINo

    RX —–>  TX (pin e non RX..!)

    TX —–> RX (di conseguenza..)

     

    Sbagliando si impara..

     

    Adesso al comando AT mi risponde sempre con 6584…sapete perchè?

    Indago..

     

    Ciao e grazie, se avete ulteriori commenti scrivete senza indugio!!

    #75412
    Piero Boccadoro
    Piero Boccadoro
    Partecipante

    E se cambi il baud rate che succede?

    #75413
    Piero Boccadoro
    Piero Boccadoro
    Partecipante

    Ben tornato ;)

    #75441

    SimSim
    Membro

    direi che ti sta rispondendo AT e lo vedi in decimale

    vedi tabellla Ascii

    http://www.asciitable.com/

     

    65= A

    84=T

     

    Ciao

     

    #75452

    divivoma
    Membro

    Infatti facendo:

     

    while(mySerial.available()>0)
      {
        Serial.print((char)mySerial.read());
        delay(1);  
      }

     

     

    Cast corretto ;)

    #75453

    divivoma
    Membro

    grazie…a te dico bravo per l'impegno!!

    State facendo belle cose..!

Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.