Paso 4: (bonificación) utilizando múltiples ecos y tratando con ecos
Si has caído en amor con sus nuevos poderes de eco, puede interesarle en el uso de más de un eco. Te toparás con dos temas hacer- y aquí están las soluciones para ambos:
Saber donde la Echo es Usted no quiere el dormitorio Echo para encender las luces de la cocina, pero estas cosas no tienen exactamente construido en GPS. En su lugar, puede utilizar la dirección IP de cada Eco para ofrecer un conjunto diferente de comandos y controles.
Echale un fauxmo_mqtt_example.py para una solución a esto. Grabé la IP cuando me encontré con fauxmo_minimal.py y mantenerse como una constante. Entonces cuando quiera ecos diferentes a tener respuestas diferentes para el mismo comando, comparar la IP contra client_address en la función de act().
Ecos de otros ecos. Los micrófonos en el eco son tan sensibles que lo a menudo recogeremos desde un cuarto de distancia - incluso con música! Mientras que increíblemente conveniente, también se convierte en un problema cuando usted tiene múltiples ecos alrededor de la casa.
Para solucionar esto, he añadido una función de "debounce" al código (ver debounce_handler.py) que impide que el mismo comando se llama varias veces en rápida sucesión. Por lo tanto, si el dormitorio y cocina Echos escucharte, sólo el primero de ellos para enviar el comando se ejecutará. Lo que Echo lo oye más fuerte es más cercana a usted procesa el mensaje más rápido, envía la solicitud de red más rápido y tiene su petición procesada - mientras todos los ecos que escuchan ecos más tranquilos tardan más tiempo en el proceso y conseguir debounced. Voila! La función del debounce es construida en, por lo que en realidad no hay nada extra tienes que hacer aquí - funciona fuera de la caja.