smartDevices es un prototipo de backend de servidor para dispositivos IoT. Conecta a los usuarios con sus dispositivos IoT de forma transparente, sin la necesidad de hub o centralita domótica. Desarrollado en Java, con el framework Netty y Apache DBCP2 para conexiones masivas concurrentes a la base de datos.
¿Por qué smartDevices?
En el contexto del año 2015 cuando fue desarrollado, nuestro proyecto smartDimmer descubre la necesidad de comunicarse con un dispositivo domótico desde cualquier lugar. Lo que por aquel entonces suponía adquirir una costosa centralita domótica y conocimientos técnicos como abrir puertos en un router o la configuración de la propia centralita. smartDevices hace ese proceso transparente y sencillo para cualquier usuario, con un coste muy reducido . Solo necesitas tu smartphone, tu dispositivo IoT y una conexión a internet.
¿Por qué Netty?
Netty es un framework NIO (Non-blocking Input/Output) para aplicaciones de red. Hace posible el desarrollo de protocolos cliente-servidor de alto rendimiento y baja latencia. Es potente, fiable y ampliamente extendido, utilizado por compañías como Apple, Google, Netflix o Twitter para el desarrollo de algunos de sus servicios. Nos permitió conectar a los usuarios con los dispositivos a través de conexiones persistentes de muy baja latencia con un consumo de recursos muy bajo en el servidor. De esta forma se reduce el overhead, y retardos derivados del proceso de establecer la conexión, cada vez que se desea comunicar con el dispositivo.