如何使用AT固件通过串行连接发送HTTP GET?

时间:2017-07-30 13:51:58

标签: arduino serial-port esp8266 pubnub

所以我使用Arduino UnoESP8266 module。我试图让模块使用AT串行固件发送HTTP get请求但是我不能这样做。项目从传感器获取数据,并通过将数据发布到pubnub rest API,使用Pubnub服务实时发送。

我有这个功能:

void sendSerialCommand(String cmd, int t) {
  int i=0;
  while(1) {
    Serial.println(cmd);
    client.println(cmd); 
    while(client.available()) {
      if(client.find("OK"))
     i=8;
    }
    delay(t);
    if(i>5)
      break;
    i++;
  }
  if(i==8)
    Serial.println("OK");
  else
    Serial.println("Error");
}

使用此功能,我与服务器建立连接:

 sendSerialCommand("AT+CIPMUX=1",100);
  sendSerialCommand("AT+CIPSTART=0,\"TCP\",\"" + pubnubIP + "\",80",1000);   
  Serial.println("Established connection with DashBoard Servers....."); 

然后我尝试:

sendSerialCommand("AT+CIPSEND=0," + String(getRequestLength) + "," + "http://" + pubnubIP + "/publish/<publish-key>/<sub-key>/0/water/0/<data>", 1000);

(我在实际代码中输入了发布和子键的值。)

getRequestLength是要发送的数据的长度。

当我运行代码时,输​​出显示wait.....并且连接刚刚关闭。有人可以告诉我正确的语法或发送数据的方法吗?

0 个答案:

没有答案