Stap 7: De Voice Command Config bestand bewerken
In een terminal, de Voice Command config-bestand te openen door de opdracht te typenVoicecommand -e
Voeg de volgende regels toe aan het config bestand *:
een licht op == tts "Ja, meneer." & & gpio schrijven 0-1 & & slapen 1 & & gpio schrijven 0 0
een licht af == tts "Ja, meneer." & & gpio schrijven 1-1 & & slapen 1 & & gpio schrijven 1 0
licht twee op == tts "Ja, meneer." & & gpio schrijven 3 1 & & slapen 1 & & gpio schrijven 3 0
licht twee af == tts "Ja, meneer." & & gpio schrijven 4-1 & & slapen 1 & & gpio schrijven 4 0
drie licht op == tts "Ja, meneer." & & gpio schrijven 5-1 & & slapen 1 & & gpio schrijven 5 0
drie licht af == tts "Ja, meneer." & & gpio schrijven 6-1 & & slapen 1 & & gpio schrijven 6 0
U kunt waarschijnlijk wel raden wat elke lijn van deze code doet. Wanneer de woordgroep vóór de dubbele resulteert in teken wordt gedetecteerd (bijvoorbeeld "licht één op") de code na de dubbele resulteert in teken wordt uitgevoerd. U kunt elke zin naar wat past bij uw behoeften (bijvoorbeeld "TV on", "desk licht op" etc). TTS is "tekst naar spraak" en zal uw persoonlijke robot assistent reageren (Steve de standaardwaarde is "Yes sir", ik heb liever iets een beetje meer ego-maniakale zoals "Uw opdracht At, master."). De rest is het digitale equivalent van het duwen van en het vrijgeven van een knop op de afstandsbediening:
- gpio schrijven 0-1: set GPIO pin 17 op hoog (uiteindelijk een signaal 5V aan de afstandsbediening, gelijkwaardig zijn aan de druk op de knop). Zie de opmerking hieronder over pin nummering conventie.
- slaap 1: Houd de pin HIGH gedurende één seconde (equivalent van de knop ingedrukt)
- gpio schrijven 0 0: de pincode instellen terug naar LOW (equivalent van het loslaten van de knop)
Wees voorzichtig om de syntaxis recht - vooral zonder spaties onmiddellijk voor of na de dubbele gelijken tekenen.
Volg de aanwijzingen op het scherm richtingen op te slaan van de config bestand zodra u hebt toegevoegd deze code (ctrl + x om af te sluiten dan y op te slaan).
* Blijkbaar WiringPi compatible met twee verschillende nummering verdragen - de Raspberry Pi GPIO pin-codes (17, 18 enz) of een eigen systeem dat de nummering van de pinnen bij 0 begint. Dus, het volgende blok van code zal ook werken. U kunt welke Conventie die u verkiest.
een licht op == tts "Ja, meneer." & & gpio -g schrijven 17-1 & & slapen 1 & & gpio -g schrijven 17 0
een licht af == tts "Ja, meneer." & & gpio -g schrijven 18-1 & & slapen 1 & & gpio -g schrijven 18 0
licht twee op == tts "Ja, meneer." & & gpio -g schrijven 22-1 & & slapen 1 & & gpio -g schrijven 22 0
licht twee af == tts "Ja, meneer." & & gpio -g schrijven 23-1 & & slapen 1 & & gpio -g schrijven 23 0
drie licht op == tts "Ja, meneer." & & gpio -g schrijven 24-1 & & slapen 1 & & gpio -g schrijven 24 0
drie licht af == tts "Ja, meneer." & & gpio -g schrijven 25-1 & & slapen 1 & & gpio -g schrijven 25 0
Ik sloeg met behulp van WiringPi pin 2, dus ik zou stok met "paren" van pinnen die tegenover elkaar op de kop voor in- / uitschakelen waren (voor de eerste twee kanalen, tenminste). Enigszins willekeurig, en u kunt verschillende pinnen als u zou houden. U kunt lezen over de redenering achter het Verdrag van WiringPi hier.