Arduino, как создать точку доступа Wi-Fi с ESP2668?
Я использую устройство типа Arduino RobotDyn WiFi D1 R2 со встроенным модулем ESP8266 WiFi. Есть две фотографии: Я хочу создать точку доступа 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. Итак, вопрос: как создать рабочую точку доступа на Arduino с помощью ESP8266? Буду благодарен за любую помощь или совет!
Спасибо!
PS Иногда я могу заставить это работать. Как: Сначала подключите Arduino к любой существующей сети, а после нее все работает. Но я сомневаюсь, что это правильное решение.
PPS Вы можете скачать эскиз прямо там: https://drive.google.com/open?id=1sWYOxqG3EaeYfM6akXVU5omP3jr7Ki2c
1 ответ
Похоже, что ваши настройки TCP IP не инициализируются с этим кодом, но они устанавливаются, когда вы подключаете его к внешнему Wi-Fi через DHCP-сервер.
У меня есть эта функция, которая работает для меня. Вы можете попробовать это.
ConfigAndStartAp(){
while(!(WiFi.softAPConfig(IPAddress(192, 168, 4, 2) , IPAddress(192, 168, 4, 2) , IPAddress(255, 255, 255, 0) )));
while(!(WiFi.softAP( ssid)));
}