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

Any way to auto discover server? #28

Closed
mishoboss opened this issue Mar 14, 2016 · 11 comments
Closed

Any way to auto discover server? #28

mishoboss opened this issue Mar 14, 2016 · 11 comments
Milestone

Comments

@mishoboss
Copy link

Hi, first - really great project! Huge congrats!
Question - is there a chance for SSDP or other way for nodes to auto discover server IP address in the local network?

@marvinroger
Copy link
Member

Thanks a lot!

I would go for mDNS as the built-in library for mDNS supports querying whereas the SSDP one does not. What about, in the JSON configuration file, a new mdns field in both the mqtt and ota that, if set to true, would query for the mDNS service defined in a new service field (making host and port optional). I hope I was clear!

Does it sound good to you?

@mishoboss
Copy link
Author

It sounds even more than good! :)

@marvinroger
Copy link
Member

Great! I'll implement it as soon as I can. ;)

@marvinroger marvinroger added this to the 1.2.0 milestone Mar 15, 2016
@lvjh
Copy link

lvjh commented Mar 15, 2016

Arduino:1.6.8 (Linux), 开发板:"Generic ESP8266 Module, Serial, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck"

/home/esp/Arduino/libraries/homie-esp8266-1.1.0/src/Homie/Boot/BootOta.cpp: In member function 'virtual void HomieInternals::BootOta::setup()':
/home/esp/Arduino/libraries/homie-esp8266-1.1.0/src/Homie/Boot/BootOta.cpp:46:188: error: no matching function for call to 'ESP8266HTTPUpdate::update(char [64], uint16_t&, char [64], String&, bool&, char [60], bool)'
t_httpUpdate_return ret = ESPhttpUpdate.update(Config.get().ota.host, Config.get().ota.port, Config.get().ota.path, dataToPass, Config.get().ota.ssl, Config.get().ota.fingerprint, false);
^
/home/esp/Arduino/libraries/homie-esp8266-1.1.0/src/Homie/Boot/BootOta.cpp:46:188: note: candidates are:
In file included from /home/esp/Arduino/libraries/homie-esp8266-1.1.0/src/Homie/Boot/BootOta.hpp:5:0,
from /home/esp/Arduino/libraries/homie-esp8266-1.1.0/src/Homie/Boot/BootOta.cpp:1:
/opt/arduino-1.6.8/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:52:29: note: t_httpUpdate_return ESP8266HTTPUpdate::update(const char_, const char_, const char*)
t_httpUpdate_return update(const char * url, const char * current_version = "", const char * httpsFingerprint = "");

                         ^

/opt/arduino-1.6.8/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:52:29: note: candidate expects 3 arguments, 7 provided
/opt/arduino-1.6.8/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:53:29: note: t_httpUpdate_return ESP8266HTTPUpdate::update(const char_, uint16_t, const char_, const char_, bool, const char_)
t_httpUpdate_return update(const char * host, uint16_t port, const char * url = "/", const char * current_version = "", bool https = false, const char * httpsFingerprint = "");

                         ^

/opt/arduino-1.6.8/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:53:29: note: candidate expects 6 arguments, 7 provided
In file included from /home/esp/Arduino/libraries/homie-esp8266-1.1.0/src/Homie/Boot/BootOta.hpp:5:0,
from /home/esp/Arduino/libraries/homie-esp8266-1.1.0/src/Homie/Boot/BootOta.cpp:1:
/opt/arduino-1.6.8/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:54:29: note: t_httpUpdate_return ESP8266HTTPUpdate::update(String, uint16_t, String, String, bool, String)
t_httpUpdate_return update(String host, uint16_t port, String url = "/", String current_version = "", bool https = false, String httpsFingerprint = "");

                         ^

/opt/arduino-1.6.8/hardware/esp8266com/esp8266/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:54:29: note: candidate expects 6 arguments, 7 provided
exit status 1
Error compiling for board Generic ESP8266 Module

@lvjh
Copy link

lvjh commented Mar 15, 2016

I WANT USE HOMEI ,BUT COMPILE ERROR ,CAN YOU HELP ME?

@marvinroger
Copy link
Member

I bet you are using the 2.0.0 version of the Arduino for ESP8266, you need >= 2.1.0.

By the way, please fill in a new issue if you have a problem, instead of pulluting this one. Thanks!

@marvinroger marvinroger removed this from the 1.2.0 milestone Mar 20, 2016
marvinroger added a commit that referenced this issue Mar 20, 2016
@marvinroger
Copy link
Member

Unfortunately, this will have to wait the next Arduino for ESP8266 as mDNS query support has been added after the 2.1.0 release.

@mishoboss
Copy link
Author

BTW, as far as I know there ahould be installed mDNS/bonjour servers on the Node.js side in order to work. I mean, the solution is not purely node, but we rely on external daemon/service for different OS. Is this the case?

@marvinroger
Copy link
Member

It seems like there is a pure JS implementation : https://github.com/mdns-js/node-mdns-js

@marvinroger marvinroger added this to the v2.0.0 milestone Apr 3, 2016
marvinroger pushed a commit that referenced this issue Apr 18, 2016
marvinroger pushed a commit that referenced this issue Apr 18, 2016
@marvinroger
Copy link
Member

Will land in next version!

@marvinroger marvinroger modified the milestones: v1.5.0, v2.0.0 Apr 19, 2016
@marvinroger
Copy link
Member

Released!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants