Control de dispositivo por WIFI con el mobil o Dispositivo IoT

Buenas noches. Como bien dice el titulo, soy bastante nuevo en esto de arduino pero he leído bastante sobre el tema.

En fin. Lo que realmente me surge es lo siguiente.

Tengo en mente fabricar un dispositivo para controlar el encendido y apagado de la luz mediante wifi y poder hacerlo remotamente.

Mas o menos he visto algo... pero me suge una duda.

Desde la aplicación móvil... como hago para que localice el dispositivo en concreto? Y lo mas importante... Como lo hago para en vez de un servidor web local... este alojado en la nube??? He visto algo sobre Amazon AWS y su servicio de IoT....

He visto un dispositivo que hace eso ... pero y si quiero usar mi propia app???

Gracias de antemanoooo.
Saludos!!!

Comienza editando el título y poniendo algo como : Control de dispositivo por WIFI con el mobil o Dispositivo IoT
De paso lee las normas. Creo que serán útiles para lo que venga.
Modificas el título asi. Vas a More luego Modify y estas en modo EDICION. Vas a título y pones algo que describa tu idea.

Puedes usar el Arduino MKR1000 o puedes usar los nodemcu sea el ESP8266 en cualquiera de sus variantes.
Para comandar todo puedes usar APP Inventor que es fácil de utilizar con el Android.

Todo requiere estudiar bastante y muchos sin sabares pero con perseverancia saldrás adelante.

Gracias surbyte.

Estuve viendo algo con app inventor. Me gustaría comprar algún kit de iniciación e ir probando.

Me sigue surgiendo la duda de la aplicación. No entiendo como trabajar el modulo wifi.

Imaginemos que me decido a montar varios dispositivos para luego venderlos (No es la idea), y a mis clientes les doy la posibilidad de que se descarguen una aplicación para el control de dicho dispositivo. Esta aplicación sera con un logo de la empresa y las funcionalidades que yo quiera.

Esta aplicación debería tener un "scanner" para localizar el dispositivo en si,¿correcto?. ¿Como se realiza ese "scanner"? Supongo que habrá una libreria para dichos modulos wifi, como por ejemplo el ESP8266.

Saludos.

Eso que mencionas se llama OTA, programación On the Air.
Es posible pero tanta actualización? Vamos un dispositivo que prenda/apague algo o que lea un sensor, no requiere mucho cambio.
No hay scanner porque si usas ESP cada ESP tendra su IP estática (sería lo mas conveniente) y entonces solo debes poder conectarte externamente y lo puedes reprogramar si el puerto esta disponible a través del router con un port-forward a ese grupo de ips donde estan los ESP8266.