Kontrollera alla remote från en Raspberry Pi (och Amazon eko!) (4 / 5 steg)
Steg 4: Programmet och testa!
Skapa dessa tre enkla program i usr (eller skriva egna). Det finns en setup kommando måste du köra en gång (lättast genom att sätta det i/etc/rc.local) och det finns separata kommandon för "av" och "på". Jag har döpt min kommandon "zap5" eftersom enheterna som är märkta "Zap" (även om det är inte vad de nu heter i Amazon ad) och den jag använder är knapp #5.
zap5-setup
#! / bin/sh
# Strömbrytaren ON: BCM 16 (phys 36)
ECHO 16 > /sys/class/gpio/export 2 >/dev/null
ECHO ut > /sys/class/gpio/gpio16/direction
ECHO 1 > /sys/class/gpio/gpio16/value
# AV-knapp: BCM 26 (phys 37)
ECHO 26 > /sys/class/gpio/export 2 >/dev/null
ECHO ut > /sys/class/gpio/gpio26/direction
ECHO 1 > /sys/class/gpio/gpio26/value
zap5-on
#! / bin/sh
# Tryck på knappen för en sekund och släpp sedan
# 0 är krets-gjort 1 är kretsen bryts
ECHO ut > /sys/class/gpio/gpio16/direction
ECHO 0 > /sys/class/gpio/gpio16/value
sova 1
ECHO 1 > /sys/class/gpio/gpio16/value
zap5-off
#! / bin/sh
# Tryck på off knappen i en sekund och släpp sedan
# 0 är krets-gjort 1 är kretsen bryts
ECHO ut > /sys/class/gpio/gpio26/direction
ECHO 0 > /sys/class/gpio/gpio26/value
sova 1
ECHO 1 > /sys/class/gpio/gpio26/value
Det är allt du behöver för att kontrollera reläet från kommandoraden. Men för en liten liten ansträngning mer, kan du styra den från Amazon eko också!
Följ instruktionerna i Fabricateio's Instructable att konfigurera din Raspberry Pi för att personifiera en Wemo, och ändra exempel-minimal.py enligt följande:
Nära toppen, Lägg till:
underprocess importera samtal
och sedan ändra förfarandet "agera" för att se ut så här:
def agera (själv, client_address, stat):
Print "stat", staten, "från klienten client_address
om staten:
# slå på
Call(["/usr/local/bin/zap5-on"])
annat:
# inaktivera
Call(["/usr/local/bin/zap5-off"])
Return True
Kör python fil och när enheten har lokaliserats, utfärda kommandot "Alexa, slå på enheten" och "Alexa, stänger av enheten"
Det borde fungera! (Det fungerade för mig, första gången. Tog bokstavligen 10 minuter att ställa in)
Om du hemifrån, Anslut in med ssh och utfärda "zap5 på" eller "zap5-off" på kommandoraden. (Du kan behöva använda "sudo" - beror på din enhet behörigheter och vilka grupper användaren "pi" är i)