Forum: Mikrocontroller und Digitale Elektronik ESP8266 immer auch Access-Point?


von Christian S. (solder)


Lesenswert?

Ich habe einige Sensoren mit ESP8266 ausgestattet. Die ESP senden 
eigentlich nur periodisch ihre Daten über einen HTTP-Client an den 
Server. Trotzdem habe ich jetzt gesehen, dass mir die FritzBox alle ESPs 
auch als Funknetz anzeigt. Komischerweise sogar als aktives Funknetz, 
dabei läuft nur ein ESP dauerhaft (mit delay), alle anderen sind 
normalerweise im Deepsleep oder werden über einen anderen Controller 
eingeschaltet. Ich dachte, die FritzBox scannt die Umgebung nur, wenn 
man die entsprechende Seite aufruft. Dann sollten die ESPs gar nicht 
erscheinen, denn die sind nur selten für einige Sekunden da. Trotzdem 
würde ich gern auf den AP verzichten. Der ESP soll nicht als AP 
auftauchen (z.B. auf dem Smartphone des Nachbarn). Ich habe es probiert: 
Man kann sich dann damit problemlos verbinden (offenes Netz). Das will 
ich nicht. Wie kann ich es verhindern? Ich verwende eine eigene FW, 
erstellt mit der Arduino IDE. Initialisierung WLAN mit 
WiFi.begin("Netz","PW).

Solder

von Michael U. (amiga)


Lesenswert?

Hallo,

versuche es mit
WiFi.mode(WIFI_STA);

Der ESP baut normalerweise nach Reset automatisch eine Verbindung zum 
zuletzt benutzten Netz auf, außerdem ist der default-Mode AP und STA 
gleichzeitig.

Die Listen im Router bleiben recht lange im Cache, auch wenn das Gerät 
aus dem WLAN raus ist.

Gruß aus Berlin
Michael

von Einer K. (Gast)


Lesenswert?


von Christian S. (solder)


Lesenswert?

Ok, ich hab's (durch Zufall gefunden): Ich schreibe noch 
WiFi.mode(WIFI_STA) und der AP ist verschwunden.

Gefunden habe ich das, weil ich einem Link zu einem anderen wichtigen 
Thema gefolgt bin, das ich auch noch nicht kannte:

Wird WiFi.begin() aufgerufen, wird jedesmal die Config in das Flash 
geschrieben. Irgendwann ist das dann erledigt, wenn man z.B. alle 5 
Minuten Messwerte schickt und z.B. DeepSleep benutzt (dann startet der 
ESP immer neu mit Reset). Lösung soll sein, vorher noch 
WiFi.persistent(false) zu benutzen. Quellen:
http://www.forum-raspberrypi.de/Thread-esp8266-achtung-flash-speicher-schreibzugriff-bei-jedem-aufruf-von-u-a-wifi-begin

https://github.com/esp8266/Arduino/blob/4897e0006b5b0123a2fa31f67b14a3fff65ce561/doc/esp8266wifi/generic-class.md#persistent

Bei letzterer habe ich dann gleich darunter den Befehl zum Abschalten 
des AP gefunden.

Im Projekt DashButton der c't 1/17 wird auf das Thema auch nicht 
eingegangen, ist aber wohl kein Problem, da man so oft nicht auf den 
Knopf drücken wird.

von Christian S. (solder)


Lesenswert?

Arduino F. schrieb:
>> WiFi.mode(m)
> 
http://esp8266.github.io/Arduino/versions/2.1.0-rc1/doc/libraries.html#wifi-esp8266wifi-library

Danke (auch an Michael U.), hatte sich überschnitten.

: Bearbeitet durch User
von Ralf (Gast)


Lesenswert?

Danke, hat mir sehr geholfen, war exakt auch mein Problem. Habe 
WiFi.mode(WIFI_STA) vor dem WiFi.begin(ssid, password) eingefügt und 
dann war der AP weg.
Grüße
Ralf

von D. A. (Gast)


Lesenswert?

Danke auch, nutze nun
1
WiFi.mode(WIFI_STA);
2
WiFi.hostname(HOSTNAME);
3
WiFi.begin(ssid, password);

Aktuelle Doku: http://esp8266.github.io/Arduino/versions/2.3.0/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.