2017-10-17 9 views
0

J'ai acheté le module sim800l et j'ai réussi à me connecter à Internet en tant que client, mais maintenant je veux savoir s'il est possible de créer un serveur GSM avec ce module, j'en ai vu des exemples mais avec les bibliothèques arduino pour un module sim900, mais je n'ai pas trouvé de commandes AT qui obtiennent le même effet, je vous laisse une partie du code source utilisé jusqu'à présent.Comment créer un serveur avec le module sim800l?

void iniciar(){ 
     comandoAT("AT","OK",3000); // Comprueba que el modulo SIM800L esta arrancado 
     Serial.println("Conectando a la red..."); 
     delay(3000); 
     while(!comandoAT("AT+CREG?","+CREG: 0,1",1000)); //Espera hasta estar conectado a la red movil 
     Serial.println("Conectado a la red."); 
     comandoAT("AT+CGATT=1", "OK", 1000); //Iniciamos la conexión GPRS 
     comandoAT("AT+CSTT=\"internet.comcel.com.co\",\"comcel\",\"comcel\"", "OK", 3000); //Definimos el APN, usuario y clave a utilizar 
     comandoAT("AT+CIICR", "OK", 3000); //Activamos el perfil de datos inalámbrico 
     comandoAT("AT+CIFSR", "", 3000); //Obtenemos nuestra IP 
    } 

    void peticion(){ 
     char aux_str[50]; 
     char direccion[] = "GET /asciilogo.txt HTTP/1.1\r\nHost: arduino.cc\r\nConnection: close\r\n\r\n"; 
     if(comandoAT("AT+CREG?","+CREG: 0,1",1000)){ //Comprueba la conexion a la red 
      comandoAT("AT+CIPSTART=\"TCP\",\"arduino.cc\",\"80\"","CONNECT OK",5000); //Inicia una conexión TCP 
      // Envíamos datos a través del TCP 
      sprintf(aux_str, "AT+CIPSEND=%d", strlen(direccion)); 
      if (comandoAT(aux_str,">",10000)) 
      { 
      comandoAT(direccion, "OK", 10000); 
      } 
     }else{ 
      Serial.print("Reiniciando..."); 
      iniciar(); 
     } 
    } 

Désolé pour l'anglais.

Répondre

0

Le module sim800l est une interface réseau, dans ce cas un réseau GSM/GPRS. En théorie, si vous configurez notre Adrunio en tant que serveur, il peut utiliser n'importe quelle interface pour envoyer et recevoir des messages des clients, à condition que votre fournisseur de réseau prenne en charge les requêtes HTTP à cette interface. Cependant, de nombreux fournisseurs de réseaux mobiles peuvent ne pas autoriser les requêtes HTTP entrantes, et même si elles effectuent leur traduction entre l'adresse IP interne attribuée à votre modem dans leur réseau et l'adresse IP externe que vous verriez si vous y accédiez. Internet peut changer au fil du temps, ce qui pourrait facilement être un problème pour votre solution.