jomjol / AI-on-the-edge-device

Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world
https://jomjol.github.io/AI-on-the-edge-device-docs/
5.94k stars 648 forks source link

SSID with special characters. #360

Closed Mikei386 closed 3 years ago

Mikei386 commented 3 years ago

Hi there,

I’m using the shared Wi-Fi connection of my friend, so I’m not able to change the Wi-Fi SSID. It’s called “C= C64 Arpanet 2,4|5Ghz” …very strange, I know.

But it seems that this firmware isn’t able to connect to this SSID. The serial-monitor says that the connection to the AP failed.

Other firmwares like Tasmota are able to connect, so it’s not an hardware issue.

is there any way to be able to connect to SSIDs with special characters?

Thanks a lot!

GERMAN Version:

Hallo,

ich hänge mit meinen Geräten am WLAN eines Freundes mit dran. Aus dem Grund kann ich den Namen des WLAN nicht ändern. Es heißt: "C= C64 Arpanet 2,4|5Ghz" ... ich weis nicht grad Alltäglich...

Jedenfalls ist es mir nicht möglich zu dieser SSID zu verbinden. Der serielle Monitor zeigt immer wieder, daas die Verbindung zum AP fehlgeschlagen ist....

Andere ESPs wie z.B: Tasmota funktionieren.

Gibts da irgendeine Möglichkeit solche "besonderen" SSIDs zum laufen zu bekommen?

Danke und viele Grüße Michael

jomjol commented 3 years ago

Hi, habe es gerade mal rudimentär getestet, zumindest läßt es sich in der wlan.ini einstellen und wird auch korrekt ausgelesen:

CheckOTAUpdate Partition: ESP_OK
open config file /sdcard/wlan.ini in mode r
file loaded

WLan: C=C64 Arpanet 2,4|5Ghz, C=C64 Arpanet 2,4|5Ghz
Hostename: watermeter

Jetzt wird es mit dem Testen schwierig, denn ich müsste mein WLAN umkonfigurieren und das möchte ich nicht machen. "Dead end" momentan.

Mikei386 commented 3 years ago

Danke für deine Mühe,

kann ich dich da irgendwie unterstützen? Austesten, oder dir Logs senden?

Muss ich es eventuell "anderes" in die ini eintragen? Ich habe die Vermutung er stört sich an dem "="?

Ich werde morgen im laufe des Tages weiter herumspielen mit einem Test-AP auf Arbeit. Eventuell kann ich herausfinden an welchem Zeichen er sich stört.

jomjol commented 3 years ago

Ich denke nicht, dass es am "=" liegt, denn das wird ja korrekt angezeigt. Wenn ich weiß, an welchem Zeichen es liegt, dann kann ich genauer nach dem Fehler suchen.

Mikei386 commented 3 years ago

Ok super, dann teste ich morgen mit einem AP auf der Arbeit verschiedene Kombinationen durch und berichte...

Mikei386 commented 3 years ago

Ich habe nun verschiedene Kombinationen getestet:

"C= C64 Arpanet 2,4|5Ghz" -> Geht nicht. "C= C64 Arpanet 2,45Ghz" -> Geht nicht. "C C64 Arpanet 2,4|5Ghz" -> Geht!

(6708) wifi station: connected to ap SSID:C C64 Arpanet 2,4|5Ghz password: test1passwort2 Scheint das "=" zu sein?

MMeinhardt1 commented 3 years ago

Hier gab es den gleichen Fehler,

https://github.com/jomjol/AI-on-the-edge-device/issues/238

jomjol commented 3 years ago

@MMeinhardt1: das ist nicht der gleiche Fehler, denn das Gleichheitszeichen wird nicht mehr aus dem Passwort herausgeschnitten:

open config file /sdcard/wlan.ini in mode r
file loaded

WLan: C=C64 Arpanet 2,4|5Ghz, C=C64 Arpanet 2,4|5Ghz

Das Problem dürfte hier die Kombination aus Gleichheitszeichen und Leerzeichen sein.

jomjol commented 3 years ago

@Mikei386: ich weiss jetzt woran es liegt: das Leerzeichen hinter dem Gleichheitszeichen wird gelöscht. Das liegt an der besonderen Art, wie der String zerlegt wird. Da muss ich für das Passwort eine gesonderte Textverarbeitungsroutine schreiben. Bin diese Tage etwas im Stress und vielleicht dauert es ein paar Tage, aber ich denke, dass ich es spätestens nächste Woche umsetzen kann.

Danke für deine Fehlersuche, hat mir den richtigen Hinweis gegeben. Melde mich, wenn es korrigiert wurde.

Mikei386 commented 3 years ago

Kein Stress. Ich bin schon dankbar das du dir die Zeit nimmst und helfen kannst.

Nur ein kurzer Hinweis: du erwähntest eben die Passwortroutine. Es handelt sich in diesem Fall um die SSID also der Name des WLAN. Aber vielleicht meintest du das ja.

Auf jeden Fall vielen Dank für deine Unterstützung. Echt klasse.

jomjol commented 3 years ago

Ja du hast Recht, aber es ist diesselbe Routine. Die ist eigentlich ausgelegt, einen String in mehrere Teile zu zerlegen. Als Trennzeichen wird eigentlich auch ein Gleichheitzeichen aktzeptiert, der anschließende Trim löscht dann dass Leerzeichen und da liegt das Problem. Ich darf den String nicht mehrfach zerlegen und wieder zusammensetzen, sondern werde hier eine Kopie der Routine anpassen.l

jomjol commented 3 years ago

Ging schneller als ich dachte - probier bitte mal das neue Release (v8.5.0)

Mikei386 commented 3 years ago

Es funktioniert wunderbar! Der ESP hat sich problemlos verbunden.

Saustark! Vielen vielen Dank für deine schnell Hilfe. Echt super!

Ich schließe das Problem hiermit ab.