6

I'm trying to connect with my NodeMCU through internet using a web app developed by me, what I already achieved was to control it through wifi in the same network using a static IP (which still wasn't very stable), but what I need this time is to be able of controlling it from anywhere in the world, without having to change the public ip in my web app everytime it changes, I found information about NO_IP but I'm not pretty sure of how it works.

3

2 Answers 2

4

As already answered in this question, almost every dynamic dns provider uses their own protocol. The protocols are often HTTP-based.

The NodeMCU needs to periodically check its public IP address and send a request like this to update the ip address (for no-ip)

http://username:password@dynupdate.no-ip.com/nic/update?hostname=mytest.testdomain.com&myip=1.2.3.4

Full specifications: https://www.noip.com/integrate/request

Note: from your question, it seems like you already have port forwarding set up and only need to account for your home IP being changed every now and then. If that's not the case, this answer will be insufficient.

1
  • No, the question gives absolutely no indication that port forwarding has been set up or that the poster even realizes that it would be necessary; they have described control within the same network only. Realistically opening their firewall is not a good choice. Feb 24, 2018 at 7:46
4

I have an idea how to solve your problem. You could periodically check external IP and mail it to yourself when it changes from ESP8266, so you will have a fresh info every time. You can also extend your app which you use to control devices, so it checks the email and when it detects one with a specific subject like "NEW IP ADDR ASSIGNED" it can parse the email and extract the new IP address from the message body. I have done something similar in python and pure Linux shell script.

1
  • This is what dynamic DNS services do, only by more efficient channels than email; specifically they send messages to update an actual DNS server. Feb 24, 2018 at 7:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.