Stap 4: Programma en test!
Deze drie eenvoudige programma's maken in /usr/local/bin (of schrijf je eigen). Er is een opdracht van de instelling je moet uitvoeren eenmaal (gemakkelijkst door aanbrengend/etc/rc.local) en er zijn afzonderlijke opdrachten voor 'uit' en 'aan'. Ik heb mijn opdrachten "zap5" genoemd, omdat de apparaten worden geëtiketteerd "Zappen" (hoewel dat is niet wat ze worden opgeroepen in de Amazon ad) en degene die ik gebruik op de knop #5 is.
zap5-setup
#!/bin/sh # ON switch: BCM 16 (phys 36) echo 16 > /sys/class/gpio/export 2> /dev/null echo out > /sys/class/gpio/gpio16/direction echo 1 > /sys/class/gpio/gpio16/value # OFF switch: BCM 26 (phys 37) echo 26 > /sys/class/gpio/export 2> /dev/null echo out > /sys/class/gpio/gpio26/direction echo 1 > /sys/class/gpio/gpio26/value
zap5-op
#!/bin/sh # press the on button for a second and then release # 0 is circuit-made 1 is circuit broken echo out > /sys/class/gpio/gpio16/direction echo 0 > /sys/class/gpio/gpio16/value sleep 1 echo 1 > /sys/class/gpio/gpio16/value
zap5-off
#!/bin/sh # press the off button for a second and then release # 0 is circuit-made 1 is circuit broken echo out > /sys/class/gpio/gpio26/direction echo 0 > /sys/class/gpio/gpio26/value sleep 1 echo 1 > /sys/class/gpio/gpio26/value
Dat is alles wat die je nodig hebt om te controleren de estafette vanaf de opdrachtregel. Maar voor een klein beetje moeite meer, u kunt het van een Amazon Echo zo goed!
Volg de instructies in FabricateIO de Instructable configureren van je Raspberry Pi om te imiteren een Wemo en voorbeeld-minimal.py als volgt wijzigen:
In de buurt van de top, toevoegen:
from subprocess import call
en wijzig vervolgens procedure 'handelen' om er als volgt uitzien:
def act(self, client_address, state): print "State", state, "from client client_address if state: # turn on call(["/usr/local/bin/zap5-on"]) else: # turn off call(["/usr/local/bin/zap5-off"]) return True
De python bestanden en zodra het apparaat gevestigd is, het commando uitvoeren "Alexa, apparaat inschakelen" en "Alexa, apparaat uitschakelen"
Het zou moeten werken! (Het werkte voor mij, eerste keer. Nam letterlijk 10 minuten aan opstelling)
Als u niet thuis bent, sluit bij het gebruik van ssh en afgifte "zap5-on" of "zap5-off" op de opdrachtregel. (U wellicht gebruik 'sudo' - afhankelijk van de machtigingen van uw apparaat en welke groepen gebruiker 'pi' is in)