Trådlös Multi-Channel Voice-Controlled eluttag med Raspberry Pi (7 / 9 steg)
Steg 7: Redigera konfigurationsfilen Voice Command
Öppna filen röstkommando config med kommando i en terminal,voicecommand -e
Lägg till följande rader till config-fil *:
ljus en å == tts "Ja, herrn." & & gpio skriva 0 1 & & sova 1 & & gpio skriva 0 0
lätt en av == tts "Ja, sir." & & gpio skriva 1 1 & & sova 1 & & gpio skriva 1 0
ljus två å == tts "Ja, herrn." & & gpio skriva 3 1 & & sova 1 & & gpio skriva 3 0
ljus två off == tts "Ja, herrn." & & gpio skriva 4 1 & & sova 1 & & gpio skriva 4 0
ljus tre å == tts "Ja, herrn." & & gpio skriva 5 1 & & sova 1 & & gpio skriva 5 0
ljus tre av == tts "Ja, herrn." & & gpio skriva 6 1 & & sova 1 & & gpio skriva 6 0
Ni kan nog gissa vad varje kodrad gör. När frasen innan dubbletten likhetstecken upptäcks (e.g. "ljus en på") körs koden efter dubbletten likhetstecken. Du kan ändra varje fras till vad passar dina behov (t.ex. "TV på", "skrivbord ljus på" etc). TTS är "Talsyntes" och gör din personliga robot assistent reagera på lämpligt sätt (Steves standard är "Ja sir", jag föredrar något lite mer ego-maniskt som "På ditt kommando, befälhavaren."). Resten är en digital motsvarighet till trycka och släppa en knapp på fjärrkontrollen:
- gpio skriva 0 1: set GPIO pin 17 till hög (slutligen skicka en 5V signal till fjärrkontrollen, motsvarar trycka på knappen). Se nedanstående kommentar om pin numrering konventionen.
- sömn 1: hålla pin HIGH för en sekund (motsvarighet till hålla knappen ned)
- gpio skriva 0 0: ange PIN-koden tillbaka till låg (motsvarar släppa knappen)
Var försiktig att få syntaxen rätt - främst utan mellanslag omedelbart före eller efter de dubbla lika med tecken.
Följ den på skärmen riktningar att spara config fil när du har lagt till denna kod (ctrl + x för att avsluta sedan y att spara).
* Tydligen WiringPi är kompatibel med två olika numrering konventioner - Raspberry Pi GPIO pin-koder (17, 18 etc) eller ett eget system som börjar numreringen stiften på 0. Så, det följande kodblocket fungerar också. Du kan använda oavsett konvention som du föredrar.
ljus en å == tts "Ja, herrn." & & gpio -g skriva 17 1 & & sova 1 & & gpio -g skriva 17 0
lätt en av == tts "Ja, sir." & & gpio -g skriva 18 1 & & sova 1 & & gpio -g skriva 18 0
ljus två å == tts "Ja, herrn." & & gpio -g skriva 22 1 & & sova 1 & & gpio -g skriva 22 0
ljus två off == tts "Ja, herrn." & & gpio -g skriva 23 1 & & sova 1 & & gpio -g skriva 23 0
ljus tre å == tts "Ja, herrn." & & gpio -g skriva 24 1 & & sova 1 & & gpio -g skriva 24 0
ljus tre av == tts "Ja, herrn." & & gpio -g skriva 25 1 & & sova 1 & & gpio -g skriva 25 0
Jag hoppade över med WiringPi stift 2 så jag kunde hålla med "par" av stift som var mitt emot varandra i huvudet för på/av (för de första två kanalerna, åtminstone). Något godtyckligt, och du kan använda olika stift om du vill ha. Du kan läsa om resonemanget bakom den WiringPi konventionen här.