-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Closed
Description
I've been told to open an issue about it, so here it is: (edited by maintainer)
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
char *wifiNet = "mywifi";
char *wifiPassword = "mywifipasswd";
char *apName = "box";
char *apPassword = "box";
char *apIp = "10.1.1.1";
char *apMask = "255.255.255.0";
void setup()
{
int res;
Serial.begin(115200);
Serial.println("\nStarting");
WiFi.persistent(false);
WiFi.disconnect();
WiFi.mode(WIFI_AP_STA);
IPAddress localIp;
IPAddress localMask;
IPAddress localGw;
localIp.fromString(apIp);
localMask.fromString(apMask);
localGw.fromString(apIp);
res = WiFi.softAPConfig(localIp, localGw, localMask);
Serial.printf("After softAPConfig: %d\n", res);
res = WiFi.softAP(apName, apPassword, 2, false, 20);
Serial.printf("After softAP: %d\n", res);
Serial.printf("After softAP IP: %s\n", WiFi.softAPIP().toString().c_str());
WiFi.hostname(apName);
WiFi.setAutoReconnect(true);
WiFi.begin();
if (!MDNS.begin(apName))
{
Serial.printf("Cannot start mDNS responder\n");
}
else
{
Serial.printf("mDNS responder started\n");
}
MDNS.addService("http", "tcp", 80);
Serial.println("Started");
}
void loop()
{
static int counter = 0;
static int counter2 = 0;
MDNS.update();
if (counter++ > 10)
{
static int lastStatus = WiFi.status();
if (WiFi.status() == WL_IDLE_STATUS)
{
Serial.println("Reconnecting...");
WiFi.begin(wifiNet, wifiPassword);
WiFi.reconnect();
}
if (WiFi.status() == WL_CONNECTED && lastStatus != WL_CONNECTED)
{
Serial.printf("Connected, IP is: %s\n", WiFi.localIP().toString().c_str());
counter = 0;
MDNS.end();
if (!MDNS.begin(apName))
{
Serial.printf("Cannot restart mDNS responder\n");
}
else
{
Serial.printf("mDNS responder restarted\n");
}
MDNS.addService("http", "tcp", 80);
}
lastStatus = WiFi.status();
}
if (counter2++ > 10)
{
int sc = MDNS.queryService("http", "tcp");
Serial.printf("MDNS: %d services found\n", sc);
counter2 = 0;
}
delay(1000);
}
Produces
Starting
After softAPConfig: 1
After softAP: 0
After softAP IP: 10.1.1.1
mDNS responder started
Started
Reconnecting...
MDNS: 0 services found
Connected, IP is: 172.16.5.79
mDNS responder restarted
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
MDNS: 0 services found
And no services are visible in service discovery like dns-sd -B
viktor@Work:~ $ telnet box.local 80
box.local: nodename nor servname provided, or not known
viktor@Work:~ $
Versions:
$ platformio update
Updating tool-unity @ 1.20500.200322 [Up-to-date]
Updating contrib-piohome @ 3.1.1 [Up-to-date]
Updating tool-scons @ 2.20501.191222 [Up-to-date]
Updating contrib-pysite @ 2.27.191017 [Up-to-date]
Platform Manager
================
Platform Espressif 8266
--------
Updating espressif8266 @ 2.4.0 [Up-to-date]
Updating tool-esptoolpy @ 1.20800.0 [Up-to-date]
Updating tool-mkspiffs @ 1.200.0 [Up-to-date]
Updating tool-esptool @ 1.413.0 [Up-to-date]
Updating framework-arduinoespressif8266 @ 3.20603.200130 [Up-to-date]
Updating toolchain-xtensa @ 2.40802.191122 [Up-to-date]
Library Manager
===============
Library Storage: /Users/viktor/.platformio/lib
Updating ESPAsyncTCP @ 1.2.2 [Up-to-date]
A quick update:
- Downloaded latest arduino 1.8.12
- Made a clean install
- Added https://arduino.esp8266.com/stable/package_esp8266com_index.json to the "Additional Boards manager URLs"
- Installed esp8266 2.6.3
- Tested this sketch and observed the same result
viktor@Work:~ $ telnet box.local 80
box.local: nodename nor servname provided, or not known
viktor@Work:~ $