无法在两个ESP8266之间传输数据

时间:2016-06-29 12:01:42

标签: sockets networking arduino esp8266

我正在尝试将两个 esp 8266 Wi-Fi )模块相互连接为热点(服务器),使用Wifi ESP12 E 模块8266 ,其他是(客户端)。我正在使用 Arduino IDE 进行编程

我的服务器正常启动,客户端连接到服务器,但是当我从客户端向服务器发送数据时,我什么都没得到。我谷歌关于客户端和服务器之间的数据传输,但没有使用Arduino编码进行客户端数据传输。

以下是 Arduino

中的我的代码

服务器端代码

#include <ESP8266WiFi.h>

WiFiServer server(80);        //Initialize the server on Port 80

void setup() 
{

  WiFi.mode(WIFI_AP);                              // ESP8266-12E is an AccessPoint 
  WiFi.softAP("11111111", "12345678");            // Provide the (SSID, password)  
  server.begin();                                // Start the Server
  Serial.begin(115200);                         //Start communication between the ESP8266-12E and the monitor window
  IPAddress HTTPS_ServerIP= WiFi.softAPIP();   // Obtain the IP of the Server 
  Serial.print("Server IP is: ");             // Print the IP to the monitor window 
  Serial.println(HTTPS_ServerIP);

}

void loop()
{
   WiFiClient client = server.available();
   if (!client)
    { 
       return; 
    } 
   //Looking under the hood 
   Serial.println("Somebody has connected :)"); 
}

客户端代码

#include <ESP8266WiFi.h>


const char *ssid = "11111111";
const char *password = "12345678";
const char *host = "192.168.4.2";
const int httpPort = 80;

void setup() 
{
  Serial.begin(115200);
  delay(10);
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid); 
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}


void loop()
{
  delay(8000);
  Serial.print("connecting to ");
  Serial.println(host);
  WiFiClient client;
  client.connect(host,httpPort);
  if (!client.connect(host,httpPort))
  {
    Serial.println("connection failed");
    return;
  }
  else
   client.print("connected");
}

任何人都可以建议我如何将数据从客户端传输到服务器

1 个答案:

答案 0 :(得分:0)

Arduino ESP8266类WiFiClient继承自Stream,因此,您可以使用所有流功能。您可以找到该课程here的文档。

您可以使用readBytesreadString或简单read来做您想做的事情。

此外,如果您计划使用HTTP,您可能有兴趣使用ESP8266 Arduino环境附带的库ESP8266WebServerESP8266HTTPClient并实现大量此类低级代码。试着写。您可以找到服务器here和客户端here

的示例