Arduino如何使用ESP2668创建wifi接入点?

时间:2019-01-26 10:51:26

标签: c++ arduino wifi esp8266 hotspot

我正在使用带内置ESP8266 WiFi模块的Arduino类型设备RobotDyn WiFi D1 R2。有两张照片: enter image description here 我想使用从那里获取的官方图书馆创建WiFi接入点:

https://arduino-esp8266.readthedocs.io/en/2.5.0-beta2/installing.html

请看我的草图(代码)

#include <ESP8266WiFi.h> // Include the Wi-Fi library
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

const char *ssid = "ESP8266Test";  // The name of the Wi-Fi network that will be created
const char *password = "vadimn231"; // The password required to connect to it, leave blank for an open network

ESP8266WebServer server(80);

void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
  // Go to http://192.168.4.1 in a web browser connected to this access point to see it.
}

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

  WiFi.softAP(ssid); // Start the access point

  Serial.println("");
  IPAddress myIP = WiFi.softAPIP();
  Serial.print("Access Point IP address: ");
  Serial.println(myIP);
  Serial.print("Access Point \"");
  Serial.print(ssid);
  Serial.println("\" started");

  server.on("/", handleRoot);
  server.begin();

  Serial.println("HTTP server started");
}

void loop() {
  server.handleClient();
}

此代码有效,但无法创建WiFi HotSpot。所以,问题是:如何使用ESP8266在Arduino上创建工作访问点? 如果有任何帮助或建议,我将不胜感激!

谢谢!

P。 S.有时,我可以强迫它工作。如何:首先将Arduino连接到任何现有网络,然后一切正常。但是我怀疑这是正确的解决方案。

P。 P. S.您可以直接在此处下载草图:https://drive.google.com/open?id=1sWYOxqG3EaeYfM6akXVU5omP3jr7Ki2c

1 个答案:

答案 0 :(得分:1)

似乎没有使用此代码初始化TCP IP设置,但是当您通过DHCP服务器将其连接到外部wifi时,它们会被设置。

我有适合我的此功能。您可能要尝试一下。

ConfigAndStartAp(){
  while(!(WiFi.softAPConfig(IPAddress(192, 168, 4, 2) , IPAddress(192, 168, 4, 2) , IPAddress(255, 255, 255, 0) )));
  while(!(WiFi.softAP( ssid)));
}