Jump to content

ESP32: ipcon_connect returns E_NO_CONNECT


Recommended Posts

Hallo zusammen,

ich kann keine Verbindung zum ESP32 über WLAN aufbauen, ipcon_connect gibt -4 (E_NO_CONNECT) zurück, während Brick Viewer die Verbindung mit den gleichen Einstellungen herstellen kann. Hier der Code:

   IPConnection ipcon;
    ipcon_create(&ipcon);

    // Create device object
    DC dc;
    dc_create(&dc, UID, &ipcon);

    // Connect to brickd
    int result = ipcon_connect(&ipcon, "10.0.0.1", 4223);
    if (result < 0) {
        fprintf(stderr, "Could not connect\n");
        return;
    }
    ...

MacOS 10.15.7

Irgendwelche Ideen dazu?

Danke und beste Grüße,

Eberhard

Link to comment
Share on other sites

Der Code sieht soweit korrekt aus. Mir sind aber keine Probleme mit dem ESP32 und macOS bekannt. Ein paar Ideen:

  • Teste sicherheitshalber mal das unmodifizierte IP-Connection-Enumerate-Beispiel (die Host musst du natürlich ersetzen, der Rest kann so bleiben)
  • Hast du mehrere Brick Viewer-Instanzen offen? Der ESP erlaubt im Moment maximal vier TFP-Verbindungen (erhöhen wir mit der nächsten Firmware auf 10)

Welche Version von Bindings, ESP-Firmware und Brick Viewer verwendest du?

Link to comment
Share on other sites

13 minutes ago, EAmmelt1 said:

Vielleicht liegt es am Router?

Moment. Ist dein Mac im WLAN des ESPs oder sind beide im WLAN deines Routers? Die IP 10.0.0.1 funktioniert nur wenn du mit dem Access Point des ESPs verbunden bist (oder sehr ungewöhnliche statische IPs konfiguriert hast).

Statt 10.0.0.1 sollte übrigens auch (egal in welchem Netz du bist, solange es bei Mac und ESP das selbe ist) der Hostname warp2-xyz [Edit: esp32-xyz, nicht alles ist eine Wallbox] funktionieren (siehe Aufkleber auf dem ESP)

Link to comment
Share on other sites

Versuch mal esp32-xyz statt 10.0.0.1. Aufs Webinterface kommst du noch? Falls ja, zieh unter System->Ereignis-Log mal einen Debug-Report und lad ihn hier hoch. Ich glaube nicht dass da was hilfreiches drinsteht, aber man weiß ja nie ;)

Link to comment
Share on other sites

esp32-Zj7 funktioniert nicht, ipcon_connect gibt E_HOSTNAME_INVALID zurück. Das Webinterface funktioniert mit 10.0.0.1. Hier der Debug-Report:

                  0,025      **** TINKERFORGE ESP32 BRICK V2.0.1-627e5281 ****
                  0,026           329K RAM SYSTEM   295228 HEAP BYTES FREE
                  0,036  READY.
                  0,088  Mounted data partition. 16384 of 3538944 bytes (0.5 %) used
                  0,267  ESP32 Brick config version: 2.0.0
                  0,268  ESP32 Brick UID: Zj7
                  0,587  Set timezone to Europe/Berlin
                  0,848  Starting scan to select unoccupied channel for soft AP.
                  0,928  mDNS responder started
                  0,946  Wifi connecting to R2D2
                  0,950  This is  (esp32-Zj7), a ESP32 Brick
                  1,351  Selecting channel 5 for softAP
                  1,354  Had to configure soft AP IP address 1 times.
                  1,354  Wifi soft AP started
                  1,364      SSID: esp32-Zj7
                  1,681      MAC address: 44:17:93:60:FD:DD
                  1,682      IP address: 10.0.0.1
                  6,931  Wifi connected to R2D2
                  6,963  Wifi MAC address: 44:17:93:60:FD:DC
                  6,965  Wifi got IP address: 192.168.178.55. Connected to BSSID 44:4E:6D:ED:2E:AE

Warum steht da "Wifi connected to R2D2"? R2D2 ist mein WLAN.

Link to comment
Share on other sites

Das ist nur das Event-Log. Im Debug-Report steht zusätzlich noch die Konfiguration des ESPs.

4 minutes ago, EAmmelt1 said:

Warum steht da "Wifi connected to R2D2"? R2D2 ist mein WLAN.

Dann ist der ESP darauf konfiguriert sich zu deinem WLAN zu verbinden.

Da aber die Zeile "Network connected. Stopping soft AP" fehlt sollte der Access Point des ESPs weiterlaufen, d.h. du hast ihn nicht auf "nur als Fallback" konfiguriert.

Link to comment
Share on other sites

Dann hier der ganze Report:

2022-06-15T14-02-45-547Z
Scroll down for event log!

{"uptime": 47837,
 "free_heap_bytes":147912,
 "largest_free_heap_block":110580,
 "devices": [],
 "error_counters": [ {"port": "A", "SpiTfpChecksum": 0, "SpiTfpFrame": 0, "TfpFrame": 0, "TfpUnexpected": 0},{"port": "B", "SpiTfpChecksum": 0, "SpiTfpFrame": 0, "TfpFrame": 0, "TfpUnexpected": 0},{"port": "C", "SpiTfpChecksum": 0, "SpiTfpFrame": 0, "TfpFrame": 0, "TfpUnexpected": 0},{"port": "D", "SpiTfpChecksum": 0, "SpiTfpFrame": 0, "TfpFrame": 0, "TfpUnexpected": 0},{"port": "E", "SpiTfpChecksum": 0, "SpiTfpFrame": 0, "TfpFrame": 0, "TfpUnexpected": 0},{"port": "F", "SpiTfpChecksum": 0, "SpiTfpFrame": 0, "TfpFrame": 0, "TfpUnexpected": 0}],
 "info/modules": {"event_log":true,"esp32_brick":true,"network":true,"ntp":true,"wifi":true,"http":true,"ws":true,"firmware_update":true,"proxy":true,"authentication":true,"device_name":true},
 "info/features": [],
 "info/version": {"firmware":"2.0.1-627e5281","config":"2.0.0"},
 "network/config": {"hostname":"esp32-Zj7","enable_mdns":true},
 "ntp/config": {"enable":true,"use_dhcp":true,"timezone":"Europe/Berlin","server":"ptbtime1.ptb.de","server2":"ptbtime2.ptb.de"},
 "ntp/state": {"synced":true},
 "wifi/state": {"connection_state":3,"ap_state":1,"ap_bssid":"44:17:93:60:FD:DD","sta_ip":"192.168.178.55","sta_rssi":-77,"sta_bssid":"44:4E:6D:ED:2E:AE"},
 "wifi/sta_config": {"enable_sta":true,"ssid":"R2D2","bssid":[68,78,109,237,46,174],"bssid_lock":false,"passphrase":null,"ip":"0.0.0.0","gateway":"0.0.0.0","subnet":"0.0.0.0","dns":"0.0.0.0","dns2":"0.0.0.0"},
 "wifi/ap_config": {"enable_ap":true,"ap_fallback_only":false,"ssid":"esp32-Zj7","hide_ssid":false,"passphrase":null,"channel":0,"ip":"10.0.0.1","gateway":"10.0.0.1","subnet":"255.255.255.0"},
 "proxy/error_counters": {"A":{"SpiTfpChecksum":0,"SpiTfpFrame":0,"TfpFrame":0,"TfpUnexpected":0},"B":{"SpiTfpChecksum":0,"SpiTfpFrame":0,"TfpFrame":0,"TfpUnexpected":0},"C":{"SpiTfpChecksum":0,"SpiTfpFrame":0,"TfpFrame":0,"TfpUnexpected":0},"D":{"SpiTfpChecksum":0,"SpiTfpFrame":0,"TfpFrame":0,"TfpUnexpected":0},"E":{"SpiTfpChecksum":0,"SpiTfpFrame":0,"TfpFrame":0,"TfpUnexpected":0},"F":{"SpiTfpChecksum":0,"SpiTfpFrame":0,"TfpFrame":0,"TfpUnexpected":0}},
 "proxy/devices": [],
 "authentication/config": {"enable_auth":false,"username":"","digest_hash":""},
 "info/name": {"name":"esp32-Zj7","type":"esp32","display_type":"ESP32 Brick","uid":"Zj7"},
 "info/display_name": {"display_name":""},
 "reboot": null,
 "network/config_update": {"hostname":"esp32-Zj7","enable_mdns":true},
 "ntp/config_update": {"enable":true,"use_dhcp":true,"timezone":"Europe/Berlin","server":"ptbtime1.ptb.de","server2":"ptbtime2.ptb.de"},
 "wifi/scan": null,
 "wifi/sta_config_update": {"enable_sta":true,"ssid":"R2D2","bssid":[68,78,109,237,46,174],"bssid_lock":false,"passphrase":null,"ip":"0.0.0.0","gateway":"0.0.0.0","subnet":"0.0.0.0","dns":"0.0.0.0","dns2":"0.0.0.0"},
 "wifi/ap_config_update": {"enable_ap":true,"ap_fallback_only":false,"ssid":"esp32-Zj7","hide_ssid":false,"passphrase":null,"channel":0,"ip":"10.0.0.1","gateway":"10.0.0.1","subnet":"255.255.255.0"},
 "authentication/config_update": {"enable_auth":false,"username":"","digest_hash":""},
 "info/display_name_update": {"display_name":""}}

                  0,025      **** TINKERFORGE ESP32 BRICK V2.0.1-627e5281 ****
                  0,025           329K RAM SYSTEM   295228 HEAP BYTES FREE
                  0,036  READY.
                  0,056  Mounted data partition. 16384 of 3538944 bytes (0.5 %) used
                  0,111  ESP32 Brick config version: 2.0.0
                  0,112  ESP32 Brick UID: Zj7
                  0,424  Set timezone to Europe/Berlin
                  0,579  Starting scan to select unoccupied channel for soft AP.
                  0,622  mDNS responder started
                  0,641  Wifi connecting to R2D2
                  0,645  This is  (esp32-Zj7), a ESP32 Brick
                  1,082  Selecting channel 5 for softAP
                  1,085  Had to configure soft AP IP address 1 times.
                  1,085  Wifi soft AP started
                  1,095      SSID: esp32-Zj7
                  1,412      MAC address: 44:17:93:60:FD:DD
                  1,413      IP address: 10.0.0.1
                  6,448  Wifi connected to R2D2
                  6,471  Wifi MAC address: 44:17:93:60:FD:DC
                  6,472  Wifi got IP address: 192.168.178.55. Connected to BSSID 44:4E:6D:ED:2E:AE
2022-06-15 16:02:29,157  NTP synchronized at 31,441!

Link to comment
Share on other sites

On 6/15/2022 at 4:06 PM, EAmmelt1 said:

"wifi/sta_config": {"enable_sta":true,"ssid":"R2D2",

On 6/15/2022 at 4:06 PM, EAmmelt1 said:

"wifi/ap_config": {"enable_ap":true,"ap_fallback_only":false

So weit so gut. Der ESP ist konfiguriert, dass er sich zu deinem WLAN verbindet, den Access Point aber offen lässt.

Du könntest noch testen, ob es klappt, wenn du mit deinem Mac auch in deinem WLAN (nicht dem des ESPs) bist und dann versuchst dich per Brick Viewer und mit dem C-Programm zu 192.168.178.55 bzw. esp32-Zj7 zu verbinden.

Wenn du aber per Brick Viewer und per Browser auf den ESP zugreifen kannst, kann es ja eigentlich kein reines Netzwerkproblem sein. (Bin kein macOS-Experte) Musst du dem Programm eventuell Zugriff auf das Netzwerk erlauben o.Ä.? Ich habe hier mit einem Mac getestet und musste das nicht, aber vielleicht ist dein Setup subtil anders. Falls du mit z.B. Wireshark umgehen kannst, könntest du einen Blick auf den Verbindungsaufbau werfen.

Du kannst auch mal andere Bindings testen, falls du z.B. Python installiert hast. Vielleicht ist es ein C-Bindings-spezifisches Problem.

Link to comment
Share on other sites

Gleiche Situation über 192.168.178.55, aber ich habe gerade die Ursache gefunden: Ich muss (natürlich) in den Sandbox Entitlements Netzwerkverbindungen erlauben.

Danke für Deine Hilfe, Eberhard

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...