Hem Automation med Amazon Echo röststyrning (4 / 5 steg)
Steg 4: (bonus) med flera ekon & behandlar ekon
Om du har stupat förälskat med din nyfunna Echo befogenheter, kanske du är intresserad i att använda mer än en Echo. Du kommer att stöta på två frågor gör så - och här är lösningarna för båda:
Att veta vart de Echo är Du vill inte sovrummet Echo att slå på belysningen kök, men dessa saker har inte exakt GPS byggdes. Istället, kan du använda IP-adressen för varje Echo för att erbjuda det en annan uppsättning kommandon och kontroller.
Kolla in fauxmo_mqtt_example.py för en lösning på detta. Jag spelade in den IP-adress när jag sprang fauxmo_minimal.py och behöll den som en konstant. Sedan när jag vill olika echos att ha olika svar på samma kommando, jämför jag IP mot client_address i hanterarfunktion act().
Ekon från andra ekon. Mikrofonerna på Echo är så känsliga att de kommer ofta plocka du upp från ett rum bort - även med musik i! Medan otroligt bekvämt, blir det också ett problem när du har flera ekon runt huset.
För att lösa detta, jag har lagt en "debounce" funktion till koden (se debounce_handler.py) som förhindrar samma kommando som kallas flera gånger i snabb följd. Så, om sovrummet och köket Echos hör du, bara den första som skickar kommandot kommer att köras. Beroende på vilket som Echo hör du mest högljudda & är närmast dig behandlar meddelandet snabbare, överlämnar nätverk ansökan snabbare och har sin begäran bearbetas - medan alla de ekon som hör tystare ekon ta längre tid att bearbeta och få debounced. Voila! Funktionen debounce byggs i, så det finns faktiskt inget extra du behöver göra här - det fungerar ur lådan.