Невозможно передать данные между двумя ESP8266

Я пытаюсь подключить два модуля esp 8266 (Wi-Fi) друг к другу как точку доступа (сервер), используя Wi-Fi 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");
}

может ли кто-нибудь предложить мне, как передавать данные с клиента на сервер


person Amit Upadhyay    schedule 29.06.2016    source источник


Ответы (1)


Класс WiFiClient Arduino ESP8266 наследуется от Stream, поэтому вам доступны все потоковые функции. Вы можете найти документацию по этому классу здесь.

Вы можете использовать readBytes, readString или просто read, чтобы делать то, что хотите.

Кроме того, если вы планируете использовать HTTP, вас могут заинтересовать библиотеки ESP8266WebServer и ESP8266HTTPClient, которые поставляются с вашей средой Arduino ESP8266 и реализуют большую часть этого низкоуровневого кода, который вы пытаетесь написать. Вы можете найти примеры для сервера здесь, а для клиента здесь

person Dawn Minion    schedule 29.06.2016
comment
я пробую библиотеки ESP8266WebServer и ESP8266HTTPClient, но данные не передаются на сервер. подключение ... но когда я делаю то же самое, используя точку доступа модуля ESP 8266, я не могу получить значение температуры по IP, поэтому, пожалуйста, помогите мне, где я ошибаюсь. - person Amit Upadhyay; 30.06.2016
comment
Можете ли вы добавить Serial.setDebugOutput(true) как к коду вашего клиента, так и к серверу, и опубликовать вывод здесь? Кроме того, вы можете обновить свой пост с новым кодом? - person Dawn Minion; 30.06.2016