Todos hemos leído sobre el IoT (Internet of Things, el Internet de las cosas). No es más que conectar aparatos que no van a ser manejados por humanos, es decir, que funcionan solos. Por ejemplos, sensores que activan la calefacción o el aire acondicionado a una determinada temperatura. También pueden ser sensores de humedad que activan el riego en los campos cuando hace falta o sensores que avisan al repartidor cuando la máquina expendedora se va a quedar sin latas de refresco. El uso del IoT está creciendo mucho y las posibles  aplicaciones son muy numerosas.

Amazon comercializa unos sensores que llama “AWS IoT Enterprise Button” por 25€ que una vez conectados a WiFI, se conectan fácilmente a AWS y desde ahí se pueden integrar con una Alexa skill. El botón distingue tres tipos de pulsación, sencilla, doble o larga. Por ejemplo, se podría utilizar a modo de detector de presencia o a modo de confirmación.

La parte de programación se resuelve fácilmente:

// Estructura JSON de event
// { "serialNumber": "GXXXXXXXXXXXXXXXXX",
// "batteryVoltage": "xxmV",
// "clickType": "SINGLE" | "DOUBLE" | "LONG" }

exports.handler = (event, context, callback) => {
    console.log('Received event:', JSON.stringify(event) );

    if( event.serialNumber != 'G1234567890' ) {
        console.log( "Dispositivo desconocido" );
        // Error lanzar alerta
        callback( event.serialNumber );
    }
    switch (event.clickType) {
    case 'SINGLE':
        // Realizar acción 1
        break;
    case 'DOUBLE'
        // Realizar acción 2
        break;
    case 'LONG'
        // Realizar acción 3
        break;
    default:
        callback( event.clickType );
    }
    callback( null, 'ok' );
}