我已经购买了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();
}
}
抱歉英语。
答案 0 :(得分:0)
sim800l模块是一个网络接口,在本例中是一个GSM / GPRS网络。
理论上,如果您将Adrunio设置为服务器,那么只要您的网络提供商支持对该接口的HTTP请求,它就可以使用任何接口来发送和接收来自客户端的消息。
但是,许多移动网络提供商可能不允许传入的HTTP请求,即使他们在分配给您网络中的调制解调器的内部IP地址与您从中访问它时看到的外部IP地址之间进行转换。互联网可能会随着时间而变化,这可能很容易成为解决方案的问题。