claudeheintz / LXDMXWiFi_Library

Library for ESP8266 implements Art-Net and sACN with example DMX input/output to/from network
BSD 3-Clause "New" or "Revised" License
74 stars 17 forks source link

Artnet node not found in AP Mode #25

Closed Andreadj closed 1 year ago

Andreadj commented 1 year ago

Hi Claude, sorry, I know, I'm a pain in the ass... I'm trying "Osram DMX WiFi controller" App to drive my Led light with your library with ESP32. To work you should Poll the Artnet node. When connected to a local network (static mode) Artnet node is found and I can drive my light but in AP mode Artnet node is not found or found as 0.0.0.0 IP Address and I can't control the light. Is this correct? There's a way to solve this? I found that also with a PC software (Chamsys for PC) in AP mode the Artnet node found is 0.0.0.0 Knowing in advance my AP IP Address maybe I can set the Artnet node IP Address?

claudeheintz commented 1 year ago

Hi,

I don't know specifically what the issue is.  The WiFiDMX library responds to Art-Net polls using the IPAddress supplied:

artNetInterface = new LXWiFiArtNet(WiFi.localIP(), WiFi.subnetMask());

You can check to make sure WiFi is initialized and has a WiFi.localIP() before the artnetinterface is initialized.  If WiFi is not initialized it probably returns 0 for WiFi.localIP() which would explain why the Art-Net poll reply would indicate a 0.0.0.0 address.

You can also use a tool like wireshark to look at the actual poll reply and see what address is being sent.

I hope this helps.

​​​​​​​-Claude Heintz  

On Fri, 28 Oct 2022 08:42:56 -0700, Andreadj @.***> wrote:    

Hi Claude, sorry, I know, I'm a pain in the ass... I'm trying "Osram DMX WiFi controller" App to drive my Led light with your library with ESP32. To work you should Poll the Artnet node. When connected to a local network (static mode) Artnet node is found and I can drive my light but in AP mode Artnet node is not found or found as 0.0.0.0 IP Address and I can't control the light. Is this correct? There's a way to solve this? I found that also with a PC software (Chamsys for PC) in AP mode the Artnet node found is 0.0.0.0

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Andreadj commented 1 year ago

Hi Claude, I think this should be a problem related to "DMXWiFiConfig.apIPAddress()" and "LXWiFiArtNet(WiFi.localIP()". I also tried your example "ESP32-DMX_rdm" and I have same problem. You can also see it on the serial monitor: "AP_MODE ESP-DMX-WiFiXcreated access point at 10.110.115.10 accessPoint SSID ESP-DMX-WiFiX, wifi started 0.0.0.0"

claudeheintz commented 1 year ago

WiFi.localIP() seems to always return 0.0.0.0 in AP mode.  The "ESP32-DMX_rdm" example has been updated to manually keep the local_ip_address and subnet and pass them to the Art-Net constructor.  This results in the poll reply containing the correct address, not 0.0.0.0  

On Wed, 02 Nov 2022 09:07:26 -0700, Andreadj @.***> wrote:    

Hi Claude, I think this should be a problem related to "DMXWiFiConfig.apIPAddress()" and "WiFi.localIP()". I also tried your example "ESP32-DMX_rdm" and I have same problem. You can also see it on the serial monitor: "AP_MODE ESP-DMX-WiFiXcreated access point at 10.110.115.10 accessPoint SSID ESP-DMX-WiFiX, wifi started 0.0.0.0"

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

Andreadj commented 1 year ago

WiFi.localIP() seems to always return 0.0.0.0 in AP mode. The "ESP32-DMX_rdm" example has been updated to manually keep the local_ip_address and subnet and pass them to the Art-Net constructor. This results in the poll reply containing the correct address, not 0.0.0.0 On Wed, 02 Nov 2022 09:07:26 -0700, Andreadj @.> wrote: Hi Claude, I think this should be a problem related to "DMXWiFiConfig.apIPAddress()" and "WiFi.localIP()". I also tried your example "ESP32-DMX_rdm" and I have same problem. You can also see it on the serial monitor: "AP_MODE ESP-DMX-WiFiXcreated access point at 10.110.115.10 accessPoint SSID ESP-DMX-WiFiX, wifi started 0.0.0.0" — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.>

Hi Claude, are you sure? look at the picture taken from software. That program used to control lights shows Artnet nodes. I also tried this App (it is also downloadable from the Play Store) and it's not able to find Artnet node Image I think that maybe it would be better to specify the IP Artnet for both cases APIP and LocalIP for Ap mode and Station mode

Update: I found there was a problem given by Mobile data, so I switched them off and this was the result I also tried with another Artnet node scanner and this has been the result so... I don't know what to think... with some software it works, with some other it won't...

claudeheintz commented 1 year ago

DMXWorkshop is the gold standard, made by Artistic License (who invented Art-Net).

The thing is that not all software relies on the IP address passed in the Art-Net Poll Reply. Some software uses the IPAddress that sent the ArtPollReply packet. LXConsole does this which is why I thought discovery of the demo example was working. I didn't realize that the address in the ArtPollReply was 0.0.0.0.

Regardless, with the newly revised ESP32-DMX_rdm demo, the correct IPAddress is included in the poll reply message. This was verified using Wireshark to examine the actual network packet. I think you may need to use Wireshark to see what is actually being sent on the network. There could be an issue with the broadcast of the ArtPoll which would involve a mismatch of the subnet mask. It could be that the phone app broadcasts to 255.255.255.255 instead of 192.168.4.255 (or whatever the broadcast address is for your scheme). I'm not sure ESP32 will receive traffic sent to 255.255.255.255. I seem to remember an issue with it and some broadcast addresses not working.

Andreadj commented 1 year ago

I will check. Thanks Claude!

Update: Well I don't know how the app broadcast but in broadcast mode it works. It is only just unable to find the right address and can't be used in unicast mode when in AP.

Update: I try with the updated file. Now it's working well! Artnet node is recognized by all softwares. Great job!