-->
Page 1 of 1

How to find the board ...

PostPosted: Mon Apr 22, 2019 10:18 am
by Rudy Scherer
Hello,

I have made a controller to irigate my garden (ESP8266 NodeMcu + flowswitch). It works perfectly. I use the ESP in server mode and i connect to it with just a navigator, through it's IP address. And that's my question.

In every example, we see that the authors uses the serial connection at initialization time to retrieve the IP address of the board to be able to access it. Right. I can do this also. Typically :
Code: Select all    Serial.println("WiFi connected.");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());


BUT ... what happend if my board fall out of current and restart later ? Nothing garantee that it will get the same IP address from the access point.

As it works alone in my garden, how can I connect to it if it receive another IP address ? That's my question.

I try to force a fixed IP address :
- First, i connect and retrieve the subnet mask, the gateway and IP.
- Then i impose ".63" instead of the ".69" that it originally receive
- I disconnect and try to reconnect with the following code :
Code: Select all    // Try to connect with fixed IP Address
    WiFi.disconnect();
    WiFi.hostname(deviceName);              // DHCP Hostname (useful for finding device for static lease)
    ip[3] = 63;                             // Update IP to fixed IP
    WiFi.config(ip, subnet, gateway, dns);
    WiFi.begin(ssid, password);
   
    WiFi.mode(WIFI_STA); //WiFi mode station (connect to wifi router only
    Serial.print("Connecting with ip: ");
    Serial.println(ip);
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }


The connection succeed but not with the asked IP address. :mrgreen:
I tried to impose a device name but it doesn't either work. :mrgreen: :mrgreen:
Note: I also tried to place the WiFi.config(ip, subnet, gateway, dns) after the WiFi.begin. Doesn't work.

Any idea ? Or any other solution to ensure that you can find it later ?

Best regards,

Rudy

Re: How to find the board ...

PostPosted: Mon Apr 22, 2019 3:18 pm
by QuickFix
You could include a tiny I2C display that displays the status of your device and its IP address: this option will need 2 GPIO's and some extra soldering.
But it would be easier if you just let it get a (the same) "Static" IP over DHCP from the router every time it connects: on most routers you can assign a specific IP to a MAC address in a reserved list.
Reserved_IP.png

Re: How to find the board ...

PostPosted: Tue Apr 23, 2019 7:30 am
by Rudy Scherer
Thanks for your post.
But I found the problem !

With ESP8266, the DNS can't be specified. So, this work for me :
- Firstly : WiFi.begin(ssid, password) - Before the WiFi.config !!!
- Secondly : WiFi.config(ip, subnet, gateway) - Without the DNS parameter !!!

So I don't need any LCD screen. I can ensure that the IP address will be respected.

Thank you everybody,