Arduino + Blynk Board - How to connect each other to control components remotely

Hello everyone,

I am new to the Arduino World. I am doing a project with arduino, that is basically an automated watering system that reads the soil moisture and provides water according that information. Basic!

Now, I want to upgrade it. I have heard about the Blynk app but I don't understand how it works. I know that I need an ESP8266 board but still... There is also ESP-01.. Whats the difference.. My idea is to control the watering system wherever I am and Whenever I want (also give graphs as output).

My project will be in a different town, separated by more or less 200 km, that is why I would like to control and oversee my project remotely. Blynk can control being that far? Nevertheless, It would be great if I could send commands when I am near the project.

Can Anyone explain it to me?

Best regards,