我已经购买了sim800l模块,并设法连接到互联网作为一个客户端,但现在我想知道是否有可能创建一个GSM服务器与这个模块,我已经看到了例子,但与arduino库,这是一个sim900模块,但我没有找到一些AT命令,达到同样的效果,我给你留下了源代码的一部分,直到现在。
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();
}
}很抱歉我说的是英语。
发布于 2017-10-19 18:15:30
在这种情况下,sim800l模块是到GSM/GPRS网络的网络接口。
理论上,如果您将我们的Adrunio设置为服务器,那么它可以使用任何接口来发送和接收来自客户端的消息,前提是您的网络提供商支持对该接口的HTTP请求。
但是,许多移动网络提供商可能不允许传入的HTTP请求,即使他们在其网络中分配给您的调制解调器的内部IP地址与您从互联网访问时看到的外部IP地址之间进行转换,也可能会随着时间的推移而发生变化,这很容易成为您的解决方案的问题。
https://stackoverflow.com/questions/46793483
复制相似问题