Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider support for simpler mDNS configuration #15

Closed
hobinjk opened this issue Mar 29, 2018 · 6 comments
Closed

Consider support for simpler mDNS configuration #15

hobinjk opened this issue Mar 29, 2018 · 6 comments
Assignees

Comments

@hobinjk
Copy link
Contributor

hobinjk commented Mar 29, 2018

At least one embedded mDNS library doesn't support subtypes. We should consider one of three approaches:

  1. Support or switch to _webthing._tcp
  2. Support _http._tcp with a txt record of webthing=true
  3. Fix any libraries that don't support subtypes (I'll conduct a quick survey tomorrow to see if this is widespread)

Do any of these approaches sound reasonable? Is there a good alternative I haven't covered?

@ghost
Copy link

ghost commented Mar 29, 2018

Either #1 or #2 have the advantage of not requiring library upgrades. #2 has the advantage of being more universally discoverable, so I would vote for that (good suggestion, James!)

#3 also works if it is just the ESP library being a bit of a subset. Please note that the ESP8266 represents a huge percentage of commercial (as well as maker) devices (eg, tuya.com) so we should make sure it is directly supported somehow. For example, all our forthcoming IoT devices use ESP chipsets to date.

@mrstegeman
Copy link
Contributor

I did run into several libraries without proper sub-type support (i.e. bonjour), but was able to work around it or find a different library in all cases.

In my opinion:

  1. Easiest option.
  2. Probably better than 1, given that it really is pure HTTP.
  3. The proper thing to do.

@hobinjk
Copy link
Contributor Author

hobinjk commented Mar 29, 2018

Here's the results of my initial survey of the landscape:

  • Arduino
    WiFi101
    : Only does name requests
  • Espruino: No mDNS support, standard throughout tutorials is the board printing out an IP address
  • ESP AT+MDNS command: Seems buggy, supports a "protocol name" of http but it's unclear whether that means it only supports _http._tcp or if it could do _webthing._tcp
  • pycom: Nothing yet
  • ESP32: Full mdns support without subtypes
  • WICED: No support

I think 2 is the best approach to support since that gets us support for ESP8266 and ESP32. I think it's also an easier target for modifying the WiFi101 library. Based on how most of the examples with the other boards tell the user to print out the IP address on a serial port I think it's reasonable to say that users of these boards should use Add Thing by URL with the IP address they're already getting.

@mrstegeman
Copy link
Contributor

I'm fine with that. Do we want to support _webthing._sub._http._tcp as well, or just the new scheme?

@hobinjk
Copy link
Contributor Author

hobinjk commented Mar 29, 2018

I think we should view _http._tcp with a txt record webthing=true to be just an alternate way of specifying the _webthing subtype and keep both supported.

@mrstegeman
Copy link
Contributor

Agreed.

mrstegeman pushed a commit to mrstegeman/thing-url-adapter that referenced this issue Mar 29, 2018
@ghost ghost assigned mrstegeman Mar 29, 2018
@ghost ghost added the review label Mar 29, 2018
mrstegeman pushed a commit that referenced this issue Mar 29, 2018
@ghost ghost removed the review label Mar 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants