0
我正在嘗試使用Arduino和ESP8266模塊,現在我試圖將一些傳感器數據發送到TCP服務器。爲此,我使用AT + CIPSTART命令(建立TCP連接)和AT + CIPSEND來發送數據。ESP8266:如何使用AT + CIPSEND命令發送TCP消息
如果我使用串行監視器測試它,它工作正常。輸入CIPSEND命令後,我可以在終端中寫入一些文本,並將此消息/文本發送到TCP服務器。
當我試圖使它在Arduino草圖中時,它會發送一條空的消息。連接有效,但我沒有看到任何數據。
如何使用我的TCP數據包發送消息文本(msg)?
下面的代碼片段
// ESP8266 Client
String cmd = "AT+CIPSTART=\"TCP\",\"";// Setup TCP connection
cmd += IP;
cmd += "\",3103";
sendDebug(cmd);
delay(2000);
if(Serial.find("Error"))
{
debug.print("RECEIVED: Error\nExit1");
return;
}
String msg = "test";
Serial.print("AT+CIPSEND=");
Serial.println(msg.length());
if(Serial.find(">"))
{
debug.print(">");
debug.print(msg);
Serial.print(msg);
}
else
{
sendDebug("AT+CIPCLOSE");//close TCP connection
}
if(Serial.find("OK"))
{
debug.println("RECEIVED: OK");
}
else
{
debug.println("RECEIVED: Error\nExit2");
}
}
你發送AT + CIPMUX = 0是否只有一個連接?在你的AT + CIPSEND = len之後它是否會返回'''以外的東西?你可以發佈日誌嗎? – leetibbett