首页 > 解决方案 > sim900a GSM中601网络错误的纠正

问题描述

我正在使用 gsm SIM900a 模块并尝试通过它将数据发送到 Web 服务器。一切正常。对于每个 HTTP 命令,我都得到了 OK 的响应。但是当谈到 AT+HTTPACTION=1 时,它给我的结果是 1,601,0。

我试图增加命令之间的延迟时间以及超时。

 Serial.println("HTTP post method :");

Serial.print("AT\\r\\n");

  SIM900.println("AT"); 

  delay(5000);

  ShowSerialData(); 

  delay(5000);



  Serial.print("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"\\r\\n");

  SIM900.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\""); 

  delay(5000);

  ShowSerialData();

  delay(5000);

  Serial.print("AT+SAPBR=3,1,\"APN\",\"internet\"\\r\\n");

  SIM900.println("AT+SAPBR=3,1,\"APN\",\"internet\"");  

  delay(5000);

  ShowSerialData();

  delay(5000);

  Serial.print("AT+SAPBR=1,1\\r\\n");

  SIM900.println("AT+SAPBR=1,1"); 

  delay(5000);

  ShowSerialData();

  delay(5000);

  Serial.print("AT+SAPBR=2,1\\r\\n");

  SIM900.println("AT+SAPBR=2,1"); 

 delay(5000);

  ShowSerialData();

  delay(5000);

  Serial.print("AT+HTTPINIT\\r\\n");

  SIM900.println("AT+HTTPINIT");  
  delay(5000); 

  ShowSerialData();

  delay(5000);

  Serial.print("AT+HTTPPARA=\"CID\",1\\r\\n");

  SIM900.println("AT+HTTPPARA=\"CID\",1");  

  delay(10000);

  ShowSerialData();

  delay(10000);

在此之后,我给出 AT+HTTPPARA 并传递 URL:

Serial.print("AT+HTTPDATA=100,30000\\r\\n");

  SIM900.println("AT+HTTPDATA=100,30000");

  delay(10000);

  ShowSerialData();

  delay(10000);

  Serial.print("{\"temperature\":\"20.00\" ,\"humidity\":\"10.00\" , \"recordedTime\":[2019-08-12,01:25:00] , \"latitude\":\"15.67\" , \"longitude\":\"50.00\" , \"deviceId\":\"1\" , \"macAddress\":\"A\"}");
  SIM900.println("{\"temperature\":\"20.00\" ,\"humidity\":\"10.00\" , \"recordedTime\":[2019-08-12,01:25:00] , \"latitude\":\"15.67\" , \"longitude\":\"50.00\" , \"deviceId\":\"1\" , \"macAddress\":\"A\"}");

  delay(10000);

  ShowSerialData();

  delay(10000);

  Serial.print("AT+HTTPACTION=1\\r\\n");

  SIM900.println("AT+HTTPACTION=1");  

  delay(10000);

  ShowSerialData();

  delay(10000);

  Serial.print("AT+HTTPTERM\\r\\n");  

  SIM900.println("AT+HTTPTERM"); 

  delay(5000);

  ShowSerialData();

  delay(5000);

  Serial.print("AT+SAPBR=0,1\\r\\n");

  SIM900.println("AT+SAPBR=0,1"); 

  delay(5000);

  ShowSerialData();

  delay(5000);

标签: httparduino-unogsmarduino-idesim900

解决方案


推荐阅读