Hur man kontrollerar en lampa med röstkommandon och en Raspberry Pi

Röstkontroll är inte bara för smarta telefoner och B-filmer längre. Steve Hickson har skapat ett system för att ge automatisering och intelligens av Wolfram Alpha till din beck och call.

I denna handledning visar jag dig hur du installerar Voice Command, konfigurerar det och lär det att slå på och stänga av en lampa. Styrningen av elnätet är ett knepigt och farligt ämne för hobbyister, så du använder en förbyggd lösning för att styra spänningen till lampan.


Samla komponenterna och verktygen

  • Raspberry Pi - Modell A eller B med strömförsörjning och SD-kort
  • PowerSwitch Tail II
  • Kvinna till Male Jumper Wire
  • Raspberry Pi-kompatibel mikrofon. Antingen kommer en USB-webbkamera med mikrofon eller ett USB-ljudkort med en mikrofon att göra. Den här listan kan hjälpa dig att identifiera en i din budget
  • Högtalare för ljudutgång från din Raspberry Pi
  • Hushållslampa
  • Liten, platt bladskruvmejsel

Haka upp komponenterna

Innan du kopplar in något till strömmen, kopplar du den externa hårdvaran till Pi. Inställningen är ganska grundläggande.

  • Anslut mikrofonen eller webbkameran till Pi USB-porten
  • Anslut de externa högtalarna till Pi. Du kan använda ljudutgången eller använda ljud ut genom HDMI-anslutningen
  • Anslut en svart kvinnlig till en manschettknapp till en fysisk stift 6, en markpinne. Använd detta GPIO pinout diagram för hjälp
  • Anslut en röd bygel till den fysiska stiftet 16 i din Pi

  • Pi Med Jumpers Attached
  • Anslut den vita änden på den röda bygeln till stift 1 på PowerSwitch Tail II. Använd den plana skruvmejseln för att lossa skruven och sätt in stiftet i hålet i sidan av PowerSwitch. Dra åt skruven tills jumperstiftet är ordentligt fastsatt
  • Anslut den svarta jumperns manliga ände till pin nr 2 på PowerSwitch Tail II

  • PowerSwitch Tail II With Jumpers Attached

Installera Raspberry Pi

Det finns flera guider för att köpa och installera ett operativsystem på din Raspberry Pi. Installera det senaste operativsystemet Raspbian.

Du kommer att arbeta från kommandoraden och göra lite kopiering och klistra så se till att sshd är aktiverat. Se till att du kan ssh till din Pi från ditt favoritprogram. När din Raspberry Pi är konfigurerad och startad fortsätter du vidare till nästa steg.

Tips: Om du behöver veta mer om att blinka ett SD-kort, för din Raspberry Pi, hänvisar du bara till våra handledning: Hur man blinkar ett SD-kort för Raspberry Pi och Hur man installerar NOOBS på en Raspberry Pi med en Mac.


Installera kablarna Pi

Skriptet som styr lampan bygger på Wiring Pi-projektet för att växla GPIO-stiftarna högt och lågt. Kör följande kommandon för att ladda ner och installera Wiring Pi.

 sudo apt-get install git-core git klon git: //git.drogon.net/wiringPi cd wiringPi ./build

Skapa LightWitch Script och Test

Nu när kommandon för att vrida pinnar hög och låg installeras med Wiring Pi-paketet, är nästa steg att skapa ett skript som heter lampknapp. lampknapp kommer att hämtas från Voice Command Framework. Det kommer att få ett kommandoradsargument eller av beroende på dina instruktioner. Skriptet utvärderar argumentet och ställer in stiftet högt eller lågt på lämpligt sätt.

  • Kör följande kommandon för att skapa en skript katalog
 cd ~ mkdir skript cd skript
  • skapa följande skript som en fil som heter lampknapp
  •  #! / bin / bash om [$ #> 1] sedan / usr / local / bin / gpio-läge 4 ut om [["$ 1" = "på"]] då / usr / local / bin / gpio skriv 4 på fi om [["$ 1" = "av"]] då / usr / local / bin / gpio skriv 4 av fi fi
  • Ställ in skriptet som kan köras med följande kommando
  • chmod u + x lightswitch
  • Anslut PowerSwitch Tail II till elnätet
  • Anslut lampan till PowerSwitch Tail II
  • Testa skriptet och din konfiguration genom att köra skriptet för att släcka ljuset på och av
  •  ./ tändningslampa på /

    Om allt är helt anslutet korrekt bör du se att din lampa slås på och av.


    Installera röstkommando

    Voice Command är ett program som kommer att springa på Raspberry Pi och lyssna på ett nyckelord som innebär att du tar itu med det. Föreställ dig din favorit Star Trek-karaktär som adresserar skeppsdatoren genom att helt enkelt säga "Computer". Det är så och lika coolt.

    Efter att ha hört sitt sökord eller namn kommer Röstkommandot att fråga om en instruktion som standard och säger "Ja herre". Det försöker sedan behandla vad du säger beroende på hur det konfigureras.

    I det här steget installerar du programvaran Voice Command. Voice Command installeras som en del av en ganska snygg serie verktyg. Men endast beroenden och röstkommando Komponenter behövs för denna handledning. När installationsskriptet körs kommer det att fråga om du vill installera flera paket bara säga ja till beroenden och röstkommando.

    Utför kommandona nedan.

     git klon git: //github.com/StevenHickson/PiAUISuite.git cd PiAUISuite / Install / ./InstallAUISuite.sh

    Efter installation av röstkommando kommer det att uppmana dig att låta det installeras. Välj ja för att tillåta installationsskriptet till automatisk inställning. När installationen är klar kommer det att be dig att trycka på Stiga på att redigera config-filen. Tryck Stiga på att redigera filen och se nästa avsnitt för konfiguration.


    Konfigurera och kör Voice Command

    Efter att ha tryckt Stiga på Du kommer att erbjudas en filredigerare för att ändra inställningen för Voice Command. Lägg till följande rad i config fil, spara och avsluta.

     ljus == / home / pi / scripts / light ... 

    Denna linje betyder att när du säger ljuset på eller tända av Röstkommando kommer att utföra skriptet / Home / pi / scripts / light med argumentet eller av. Detta kommer att ha samma resultat som när du körde manuset manuellt.

    Använd kommandoraden nedan för att starta Voice Command. De -c innebär att springa kontinuerligt, -kpi ställer namnet prompten du kommer att säga för att få Raspberry Pi uppmärksamhet. De -v får programmet att verifiera prompten innan den går in i röstigenkänningsläge.

    De -jag orsakar voicecommand att bara bearbeta explicit kommandon som anges i config fil. Utan denna flaggan söker voicecommand efter svar på ord som inte definieras som kommandon på Wolfram Alpha och läser resultaten högt.

    Slutligen, den -b0 argument tvingar voicecommand att inte använda fyllnadstext innan dess svar.

    voicecommand -c -k pi -v -b0 -i
    • Utför ovanstående kommando
    • Säg tydligt pi och vänta på din pi att svara med "Yes Sir"
    • Säg tydligt ljuset på. Lampan ska sättas på
    • Säg tydligt tända av. Lampan ska stängas av

    grattis! Du har framgångsrikt röststyrt din lampa med din Raspberry Pi.


    Sammanfattning

    Denna handledning kombinerade ett antal tekniker för att utföra jobbet för att slå på och av en lampa. Jag visade dig hur du installerar PowerSwitch Tail II för att säkert slå strömmen till strömmen. Jag visade dig också hur man installerar Wiring Pi och skapa ett manus för att hantera uppgiften att styra GPIO-tapparna med låg nivå.

    Slutligen visade jag dig hur du installerar Voice Command-paketet med dess beroende och konfigurerat det för att svara på mina instruktioner. Med hjälp av Voice Command och anpassade skript kan du automatisera ett brett spektrum av uppgifter genom Raspberry Pi. Voice Command kan också göra så mycket mer utan -jag flagga.

    Ta dig tid att experimentera med voicecommand-programmet och se vilka andra saker du kan automatisera.