POST-запрос sim808 не отправляет данные - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь отправить данные в веб-приложение, используя TCP-соединение SIM808, которое подключено к моему NodeMcu. Кажется, что все работает нормально, соединение идеально, но на отправляющей части, почтовый запрос не выполняется полностью. ниже мой код и вывод

, пожалуйста, помогите проверить строку http_cmd. В моем выводе после отображения содержимого в выводе я должен увидеть что-то вроде Recv: ### bytes, но вместо этого я получаю ☐fetch over

#include <ESP8266WiFi.h>
#include <DFRobot_sim808.h>
#include <sim808.h>
#include <SoftwareSerial.h>


DFRobot_SIM808 sim808(&Serial);

char http_cmd[] =  "POST /tracker/ HTTP/1.1\r\nContent-Type: application/json\r\nContent-Length: 34\r\nHost: haul1.herokuapp.com\r\n\r\n{ \"trackerId\": \"2222\",\"height\": \"42\" }";
char buffer[512];


void setup(){
  //mySerial.begin(9600);
  Serial.begin(9600);

  //******** Initialize sim808 module *************
  while(!sim808.init()) {
      delay(1000);
      Serial.print("Sim808 init error\r\n");
  }
  delay(3000);  

  //*********** Attempt DHCP *******************
  while(!sim808.join()) {
      Serial.println("Sim808 join network error");
      delay(2000);
  }

  //************ Successful DHCP ****************
  Serial.print("IP Address is ");
  Serial.println(sim808.getIPAddress());

  //*********** Establish a TCP connection ************
  if(!sim808.connect(TCP,"haul.herokuapp.com", 80)) {
      Serial.println("Connect error");
  }else{
      Serial.println("Connect haul.herokuapp.com success");
  }

  //*********** Send a GET request *****************
  Serial.println("waiting to fetch...");
  sim808.send(http_cmd, sizeof(http_cmd)-1);
  while (true) {
      int ret = sim808.recv(buffer, sizeof(buffer)-1);
      if (ret <= 0){
          Serial.println("fetch over...");
          break; 
      }
      buffer[ret] = '\0';
      Serial.print("Recv: ");
      Serial.print(ret);
      Serial.print(" bytes: ");
      Serial.println(buffer);
      break;
  }

  //************* Close TCP or UDP connections **********
  sim808.close();

  //*** Disconnect wireless connection, Close Moving Scene *******
  sim808.disconnect();
}

void loop(){

}

OUTPUT: OUTPUT из Serial Monitor

Sim808 init error
AT
Sim808 init error
AT
AT+CFUN=1
AT+CPIN?
AT+CSTT="","",""
AT+CIICR
AT+CIFSR
IP Address is 10.10.124.205
AT+CIPSTART="TCP", “haul.herokuapp.com”, 80
Connect haul.herokuapp.com success
waiting to fetch...
AT+CIPSEND=145
POST /tracker/ HTTP/1.1
Content—Type: application/json
Content—Length: 34
Host: haul.herokuapp.com

{"trackerId": "2222","height": "42"}☐fetch over...
AT+CIPSTATUS
AT+CIPSHUT

...