Точка доступа ESP32 - PullRequest
       9

Точка доступа ESP32

0 голосов
/ 25 апреля 2018

У меня есть 2 платы ESP32, и я хочу сделать их сервер / клиент в Arduino IDE.Всего две платы, между ними нет маршрутизатора.

До сих пор я следовал инструкциям и смог подключиться к ESP32 со своего телефона.

#include <WiFi.h>
WiFiServer server;
const char *ssid = "Zupa";
const char *password = "12345678";
void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.print("Configuring access point...");

  WiFi.softAP(ssid, password);

  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);

}

void loop() {

}

Однако я не могу подключитьсяот других ESP32.Код следующий:

#include <WiFi.h>
#include <WiFiMulti.h>

WiFiMulti WiFiMulti;

void setup()
{
    Serial.begin(115200);
    delay(10);
    enter code here
    // We start by connecting to a WiFi network
    WiFiMulti.addAP("Zupa", "12345678");

    Serial.println();
    Serial.println();
    Serial.print("Wait for WiFi... ");

    while(WiFiMulti.run() != WL_CONNECTED) {
        Serial.print(".");
        delay(500);
    }

    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());

    delay(500);
}


void loop()
{
    const uint16_t port = 80;
    const char * host = "192.168.1.4"; // ip 



    Serial.print("connecting to ");
    Serial.println(host);

    // Use WiFiClient class to create TCP connections
    WiFiClient client;

    if (!client.connect(host, port)) {
        Serial.println("connection failed");
        Serial.println("wait 5 sec...");
        delay(5000);
        return;
    }

    // This will send the request to the server
    client.print("Send this data to server");

    //read back one line from server
    String line = client.readStringUntil('\r');
    client.println(line);

    Serial.println("closing connection");
    client.stop();

    Serial.println("wait 5 sec...");
    delay(5000);
}

Что происходит, просто говорит, что не может подключиться.IP-адрес по умолчанию, и я дважды проверил его на стороне сервера!Почему я могу подключиться с телефона, а не с ESP32?

Кроме того, как я буду общаться между ними?Я пытался читать онлайн, но все, кажется, делают телефон с ESP, а не ESP с ESP.Я также попытался прочитать книгу мистера Колбанса по ESP32, но безуспешно.Я новичок в этом и чувствую себя застрявшим.

Ответы [ 3 ]

0 голосов
/ 03 июля 2018

Все, что мне нужно было изменить - это библиотека Wi-Fi от ESP8266wifi.h до Wifi.h, который совместим с ESP32.

( Источник )

Отпримеры кода - это просто вопрос изменения кода в соответствии с вашими потребностями.

0 голосов
/ 17 апреля 2019
#include <WiFi.h>
#include <WiFiClient.h>

void setup()
{
    Serial.begin(115200);
    delay(10);

    // We start by connecting to a WiFi network
    WiFi.mode(WIFI_STA); //Set wifi mode as station
    WiFi.begin("Zupa", "12345678");//Connect to other ESP32

    Serial.println();
    Serial.println();
    Serial.print("Wait for WiFi... ");

    //Wait for WiFi to connect
    while(WiFi.waitForConnectResult() != WL_CONNECTED){      
      Serial.print(".");
      delay(1000);
    }

    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());

    delay(500);
}


void loop()
{
    const uint16_t port = 80;
    const char * host = "192.168.1.4"; // ip 



    Serial.print("connecting to ");
    Serial.println(host);

    // Use WiFiClient class to create TCP connections
    WiFiClient client;

    if (!client.connect(host, port)) {
        Serial.println("connection failed");
        Serial.println("wait 5 sec...");
        delay(5000);
        return;
    }

    // This will send the request to the server
    client.print("Send this data to server");

    //read back one line from server
    String line = client.readStringUntil('\r');
    client.println(line);

    Serial.println("closing connection");
    client.stop();

    Serial.println("wait 5 sec...");
    delay(5000);
}
0 голосов
/ 06 мая 2018

Попробуйте изменить IP-адрес кода клиента на:

const char * host = "192.168.4.1"

Совет: я использую приложение Finger в Android или iOS для сканирования сети,очень приятно видеть IP каждого подключенного устройства.(В вашем случае вам необходимо подключить мобильное устройство к горячей точке вашего Esp32, прежде чем использовать Finger)

...