Forum: Mikrocontroller und Digitale Elektronik ESP8266 will nicht mit PC-Hotspot verbinden


von Peter S. (durze)


Lesenswert?

Hallo,

ich möchte Daten von einem Sensor auf meinen Laptop bekommen um sie dort 
mit Labview aus zu werten.

Soll so laufen:

Sensor--- via I2C---> ESP8266 ----via WLAN-----> PC

Da ich eventuell das Gleiche räumlich getrennt nochmal habe (aber selber 
PC) wollte ich meinen PC als WLAN Access Point konfigurieren und das ESP 
die Daten dahin senden lassen.
(Ob und wie das "rausfischen" der Daten mit Labview dann klappt weiss 
ich noch nicht)

Nun mein Problem:
Wenn ich den PC als WLAN-Host konfiguriere, passiert entweder
- gar nichts (weder ESP noch mein Handy finden den AP)
- Mein Handy findet den AP, das ESP jedoch nicht

(Habe es mit dem Windows7 internen "Adhoc Netzwerk" und mit 
verschiedener Freeware versucht. virtualrouter.codeplex.com hat bis 
jetzt am besten funktioniert (Handy verbindet).

Zum Test habe ich mit dem ESP einen AP aufgemacht. Den hat mein PC 
wiedrum auf Anhieb gefunden und konnte sich verbinden.

Habe mir jetzt die ganze Nacht damit um die Ohren geschlagen und komme 
nicht weiter.

Kann mir jemand weiterhelfen?

Danke im Vorraus.

von Thomas Z. (thomas_z41)


Lesenswert?

Hi,
der ESP8266 unterstützt den Ad-hoc Modus nicht, daher kann dieser nicht 
funktionieren.
Bei der anderen Variante wäre es hilfreich zu sehen was der ESP beim 
Verbinden auf seiner seriellen Schnittstelle ausgibt.

Aber ich finde es nicht sehr empfehlenswert den ESP sich zu einem nur 
sporadisch vorhandenen Acaesspoint verbinden zu lassen. Da muss man 
schon schwer aufpassen was man tut, da der ESP sind in einer 
Verbindungsaufbauversuchsschleife fest hängt und da öfter nicht mehr 
raus kommt. Ist zumindest meine Erfahrung.

von Peter S. (durze)


Lesenswert?

Hallo Thomas,

heißt das, dass auch der von der Freeware erzeugte AP ein Adhoc Netzwerk 
ist?
Bzw anders gefragt: gibt es denn eine Möglichkeit unter Windows7 einen 
AP ein zu richten, der nicht adhoc ist?

>Bei der anderen Variante wäre es hilfreich zu sehen was der ESP beim
Verbinden auf seiner seriellen Schnittstelle ausgibt.

Ich fürchte ich weiss nicht genau was du meinst. Kannst du das 
erläutern?

Ich möchte nicht ununterbrochen Daten empfangen, sondern nur auf Wunsch 
für ca 30 Sekunden. Dazu würde ich eben einen AP öffnen und die 
Sendeeinheit (Sensor +ESP) einschalten.

von Michael U. (amiga)


Lesenswert?

Hallo,

schau Dir mal MQTT an. Bei mir läuft ein RasPi als MQTT-Broker im Test.
Ein ESP8266 mit einem FOST02 (China-SHT11) wacht alle 30s auf, connectet 
zum WLAN (als Station), connected zum MQTT-Broker und schickt dem die 
Meßwerte.

Der RasPi bekommt vermutlich einen Apache usw. drauf, mit Apache 
ActiveMQ.
Das habe ich aber noch nicht installert. Im Moment läuft nur MQTT.fx auf 
dem PC zum experimetieren.

Gruß aus Berlin
Michael

von Peter S. (durze)


Lesenswert?

Hallo Michael,
Danke für den Tipp, von MQTT habe ich schon einmal gehört, ich habe aber 
gehofft, ohne zusätzliche Protokolle bzw Software aus zu kommen.
Ich bin, was Hardware angeht ziemlich eingeschränkt, also mehr als das 
ESP und der Sensor sollen es eigentlich nicht werden.

Und zur Funktion: Ich möchte mit dem Sensor Neigung während einer 
Bewegung auswerten, daher nicht alle 30 Sekunden einen Wert auslesen, 
sondern während 30 Sekunden möglichst viele.

von Thomas Z. (thomas_z41)


Lesenswert?

Peter S. schrieb:
> heißt das, dass auch der von der Freeware erzeugte AP ein Adhoc Netzwerk
> ist?
> Bzw anders gefragt: gibt es denn eine Möglichkeit unter Windows7 einen
> AP ein zu richten, der nicht adhoc ist?

So wie ich die Beschreibung auf der Homepage lese sollte die Software 
einen "richtigen" AP erzeugen.

>>Bei der anderen Variante wäre es hilfreich zu sehen was der ESP beim
>> Verbinden auf seiner seriellen Schnittstelle ausgibt.
>
> Ich fürchte ich weiss nicht genau was du meinst. Kannst du das
> erläutern?

Wenn du den ESP per USB-Seriell Adapterkabel mit deinem PC verbindest, 
bekommst du beim Verbinden zum AP auf dem COM Port einige Informationen 
ausgegeben.
Da könnte etwas dabei stehen, dass beim Fehlersuchen weiterhilft.

> Ich möchte nicht ununterbrochen Daten empfangen, sondern nur auf Wunsch
> für ca 30 Sekunden. Dazu würde ich eben einen AP öffnen und die
> Sendeeinheit (Sensor +ESP) einschalten.

Wäre es da nicht anders herum einfacher?
Du schaltest den Sensor+ESP ein, und der ESP stellt einen Hotspot bereit 
auf den du dich dann verbindest und wenn du fertig bist kannst du ihn 
wieder ausschalten.

von Michael U. (amiga)


Lesenswert?

Hallo,

Peter S. schrieb:
> Und zur Funktion: Ich möchte mit dem Sensor Neigung während einer
> Bewegung auswerten, daher nicht alle 30 Sekunden einen Wert auslesen,
> sondern während 30 Sekunden möglichst viele.

hmmm... Brauchst Du die Daten in Echtzeit, also willst Du jeden 
Datensatz schnellstens per UDP oder so rüberschicken oder geht im ESP 
zwischenspeichern und dann in Ruhe den Kram im Stück oder z.B. alle paar 
Sekunden schicken?

Welche Datenmenge fallen denn an?

Wer weckt denn den ESP? Darf der Strom verbrauchen, also z.B. zu Deinem 
WLAN connectet sein? Dann laß doch einen Webserver auf dem ESP laufen 
und fordere damit die Daten an.
Falls keine "Echtzeit": die Daten im ESP als passende Datei im SPIFFS 
ablegen und per GET runterladen?

Gruß aus Berlin
Michael

von Peter S. (durze)


Lesenswert?

Hallo,

Thomas Z. schrieb:
> Wenn du den ESP per USB-Seriell Adapterkabel mit deinem PC verbindest,
> bekommst du beim Verbinden zum AP auf dem COM Port einige Informationen
> ausgegeben.

Eben nicht. Ich habe mir im ESPlorer über die At commands alle 
verfügbaren APs anzeigen lassen und da war mein PC bei keiner der 
Versuche dabei.

Thomas Z. schrieb:
> Wäre es da nicht anders herum einfacher?
> Du schaltest den Sensor+ESP ein, und der ESP stellt einen Hotspot bereit
> auf den du dich dann verbindest und wenn du fertig bist kannst du ihn
> wieder ausschalten.

Prinzipiell wahrscheinlich schon, aber ich möchte mir eben die 
Möglichkeit offen halten, einen zweiten Sensor bei dieser Messung ein zu 
binden und da mein PC nicht zu zwei APs connecten kann, wollte ich es 
eben so lösen, beide Sensoren zu meinem PC - der als AP fungiert - 
verbinden zu lassen.

Ich werde es aber die Tage mal so probieren, vorerst soll ein Sensor 
genügen.

Michael U. schrieb:
> Brauchst Du die Daten in Echtzeit

Ja, wollte es mit TCP versuchen.

Ich möchte die Neigung einer Stange über ein Gyro messen und die 
ausgelesenen Werte in Echtzeit integrieren um die momentane Schieflage 
zu erhalten. Dazu wäre eine möglichst hohe Abtastrate nötig.

> Welche Datenmenge fallen denn an?

Es handelt sich um ein einziges Register also ein Byte.

> Wer weckt denn den ESP?

An besagter Stange soll eine Box montiert werden, diese enthält den 
Sensor, das ESP und eine Spannungsversorgung (dachte an Knopfzellen, 
muss aber noch prüfen ob das vom Stromverbrauch her ausreicht.)
Ein Kippschalter an dieser Box soll das ganze System anschalten und das 
ESP soll lossenden. (Vorher mache ich den AP auf und lass mir dann die 
Daten schicken, wenn der Vorgang beendet ist, schalte ich es manuell 
wieder aus.

von Michael U. (amiga)


Lesenswert?

Hallo,

ich bin ja inzwischen ziemlich ESP-begeistert, aber da würde ich 
vermutlich einen simplen AVR + RFM12 auf 433/868 MHz nehmen. Welche 
Reichweite muß das haben?

PC-seitig eine kleinen AVR mit RFM12 und FTDI-TTL-USB-Adapter.
Die 2,4GHz nRF24L01 kämen auch in Frage, habe ich zwar hier aber noch 
nicht benutzt.

Da dann in Paketen zu 128 oder 256 Byte senden, + Overhead für Preambel 
und Sync und 38400 Baud sollten da noch gut 2kB Nutzdaten pro Sekunde 
drin sein.

Zum PC hast Du dann eine virtuelle COM und schickst die Daten an 
LabView.
Ob Du direkt binär oder als ASCII oder HEX überträgst, kannst Du ja mit 
Labview ausdiskutieren, Du hättese ja an beiden Enden einen kleinen AVR, 
der das aufbereiten kann.

Stromaufnahme wäre dann bei 3,3V um 15mA im Betrieb.

Wenn doch ESP, dann würde ich den vermutlich im Station-Mode laufen 
lassen, vielleicht einen Telnet-Server drauf zum Start und bedienen.

Von meinem ESP-Webserver braucht er für eine 60k-Datei aus dem SPIFFS 
als application/octet-stream ca. 10-15s, also wären es effektiv wohl 
auch 3-6kB/s über alles.
UDP würde da merklich schneller sein, müßstest Du ja auf der PC-Seite 
ohnehin für LabView aufbereiten.

Gruß aus Berlin
Michael

von Peter S. (durze)


Lesenswert?

Michael U. schrieb:
> Welche
> Reichweite muß das haben?

Aus einem Kunststoffgehäuse heraus maximal 5 Meter im freien Raum.

Ich wollte dieses Projekt nutzen um mich ins ESP8266 ein zu arbeiten, 
weil mich das irgendwie auch begeistert, daher würde ich jetzt ungern 
auf ein Funkmodul wechseln, zumal ich davon auch noch wenig bis gar 
keine Ahnung habe.

Michael U. schrieb:
> UDP würde da merklich schneller sein, müßstest Du ja auf der PC-Seite
> ohnehin für LabView aufbereiten.

UDP kam mir bei meiner Recherche schon einmal über den Weg.

In Labview gibt es Funktionen sowohl für TCP als auch UDP, das sollte 
also kein Problem sein.


Ich werde es jetzt mal so versuchen, dass Ich das ESP als AP laufen 
lasse und direkt nach dem Boot konstant das Byte an eine bestimmte IP 
schicken lasse.
Ich werde den PC zu dem AP connecten und ihm diese IP konfigurieren.

Danke für den Tipp.

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.