Controll arduino no port forwarding?

For a long time i was searching a user friendly way to controll an arduino over the internet a way without port forward,and i found blynk but i cant imagine how it does it.since its a open source can someone explain to me it would be very educational :slight_smile: the way i had in mind would be the arduino to get values from a database that i would put the values from an android app but this would be like an ddos if therewould be a lot of arduinos
Thank you!

hi!

exactely what would you like to know?
in a very simple schematic is like this:

hardware + blynk lib (any mcu with internet connectivity) <-> blynk (cloud or local) server <-> mobile blynk app

the hw sends and receives data to / from the server, (even while the phone app is not active), and also the phone app can communicate with the server while the hw is offline. whichever part when first goes online will receive the data / command from the server.

note that by default the blynk lib is blocking, so if can not connect to the server in setup function, will never enter the main loop (this can be overriden with manual config)

also note, that if using bluetooth for communication, the above schematic is different:

the hw will no longer need server access, however the phone still needs server access for initial authentication.
(hopefully this will change in the future.)

Ive created a simple project, a switch in blynk that controlls a build in led in esp8266,the on/off is so fast! And responsive how blynk achives that? Does the esp8266 with the blynk ribrary ping every second the blynk server?

iā€™m not sure about this.
but if you enable blynk debug on serial monitor, you can see detailed info about what is going on.

also, please consider reading the official blynk docs, you will find lot of useful info there!

and of course you can open and study the blynk library files, to see exactly how it works.

Read this.

https://github.com/blynkkk/blynk-server#how-blynk-works