Hvordan laver man flersproget hjemmeautomatisering ved hjælp af Google Assistant og Raspberry Pi?
Hjemmeautomatiseringssystemet skifter alle dine elektriske apparater til trådløst internet. En enkelt komponent som et relæmodul bruges til at styre forskellige elektroniske parametre i et hus, for eksempel skifte af husholdningsapparater, overvågning af sikkerhedsalarmer, garageportautomatisering osv. Den største forhindring, der kommer under design af automatiseringssystemet ved hjælp af Google Assistant er Sprog. De nyeste automatiseringssystemer understøtter kun et par sprog, der for det meste inkluderer engelsk. Derfor vil vi i dette projekt designe et flersproget hjemmeautomatiseringssystem, der understøtter flere sprog som hindi, urdu, bengalsk osv. Efter at have afsluttet dette hjemmeautomatiseringssystem, ville vi være i stand til at styre de elektriske apparater ved hjælp af stemmekommandoer det ville blive givet på forskellige sprog. Den vigtigste rygrad bag dette projekt er Google Assistent der ville blive brugt til at styre husholdningsapparater. Vi har foretrukket Google Assistent, fordi den understøtter næsten alle sprog og desuden en Android-applikationville være designet til at styre apparaterne.
Sådan konfigureres Raspberry Pi og andet perifert udstyr til design af systemet?
Da vi ved, hvad vi vil gøre i dette projekt, lad os nu gå videre og samle mere information om hardwarekomponenterne for straks at begynde at arbejde på dette projekt.
Trin 1: Nødvendige komponenter (hardware)
Den bedste metode til at starte ethvert projekt er at lave en liste over komponenter og gennemgå en kort undersøgelse af disse komponenter, fordi ingen vil holde sig midt i et projekt bare på grund af en manglende komponent.
Trin 2: Valg af Raspberry Pi-modellen
Valget af Raspberry Pi er en meget teknisk opgave, og det skal udføres omhyggeligt, så du ikke lider i fremtiden. Raspberry Pi Zero foretrækkes ikke, fordi det er den ældste model, der er tilgængelig på markedet med en begrænset mængde specifikationer, og at oprette et netværk på det er et meget trættende job. De nyeste modeller som 3A +, 3B + kan købes. Raspberry Pi 3 er den hurtigste og mest dominerende gadget, som Raspberry Pi Foundation hidtil har frigivet. Så i dette projekt bruger vi Raspberry Pi 3B +.
Trin 3: Opsætning af Raspberry Pi
Der er to muligheder for opsætning af Raspberry Pi. For det første er den ene at forbinde din Pi med LCD og forbinde alle nødvendige perifere enheder og begynde at arbejde. Den anden er at oprette Pi med den bærbare computer og få adgang til den eksternt. Det afhænger af tilgængeligheden af LCD, hvis du har det derhjemme, kan du indstille din Pi ved hjælp af en LCD. Tilslut LCD'et til Raspberry's HDMI-port ved hjælp af HDMI til VGA-adapter. Hvis du ønsker at få adgang til din Pi eksternt, skal du følge min artikel, der hedder “Sådan får du adgang til grafisk brugergrænseflade (GUI) til Raspberry Pi ved hjælp af SSH og VNC Viewer?”.
Trin 4: Opsætning af Apache-server på Raspberry Pi
Efter oprettelsen af Raspberry Pi ville vi oprette Apache server på den. Til opsætning ville vi skrive følgende kommando i terminalvinduet:
sudo apt-get installer apache2 -y
Vi kan verificere installationen af serveren ved at skrive IP-adressen til Pi i webserveren. Vi åbner siden Apache i webbrowseren, og derefter bruger vi vores Apache-server til at behandle PHP Filer, til dette skal du have den nyeste version af PHP-modulet til Apache. Kør nu følgende kommando for at køre den nyeste version af apache-serveren.
sudo apt-get installer php libapache2-mod-php-y
Vi er nødt til at kontrollere output til generel brug (GPIO) pins af Raspberry Pi efter opsætning af Apache-serveren. For at kontrollere, at vi har brug for at oprette en PHP-fil. For det første ville vi navigere til HTML-biblioteket og derefter oprette en PHP-fil ved at skrive følgende kommando:
sudo nano apparater off.php
Derefter skriver vi følgende kode i den fil, før vi gemmer den:
Når du har skrevet koden i editorfilen, skal du trykke på Ctrl + X for at gemme koden og derefter afslutte. Vi har oprettet en PHP-fil til drejning AFapparaterne, nu opretter vi en PHP-fil til drejning PÅapparaterne. Proceduren er den samme som ovenfor med en lille ændring i koden. Opret en PHP-fil til drejning PÅapparaterne ved at skrive kommandoen nedenfor:
sudo nano apparater på.php
Nu skal du indsætte koden i editorfilen nedenfor:
Trin 5: Forberedelse af Google Assistent
Da vores automatiseringssystem ville blive brugt ved hjælp af vores stemmekommandoer, ville vi derfor foretage nogle ændringer i sprogindstillingerne.
Du skal vælge det sprog, som dit operativsystem skal betjenes på. Gå til “Rutiner” valgmulighed og i menuen på knappen Rutiner finder du en plus ikon. Vi opretter vores stemmekommando og taler derfor kommandoen, som ville blive brugt til at styre apparaterne. Antag, at hvis du vil styre LED-pæren, vil du indstille en passende kommando til drejning PÅog drejer AFpæren.
Trin 6: Udvikling af en mobilapplikation
Lad os nu bevæge os mod at udvikle en mobilapplikation, der skal bruges til at kontrollere de elektriske apparater, der er knyttet til vores system. Da vi skal udvikle en applikation til vores Android-opererede mobiltelefon, har vi brug for en platform, der giver os mulighed for at gøre det. Til dette formål har vi brug for følgende to software:
Trin 7: Opsætning af Android Studio
Før du installerer Android-studiet på vores computere først, skal en anden ting installeres ved navn JAVA JDK. For at installere dette skal du klikke på exe fil, som du downloadede fra ovenstående link. Fortsæt med at klikke på den næste knap, indtil den er installeret. Nu skal JAVA genkendes som en ekstern eller intern kommando af din computer. For at gøre dette skal du gennemgå følgende trin.
- Åben Kontrolpanel og klik på System og sikkerhed.
- Klik på System.
- Klik på Avanceret systemindstilling og klik derefter på Miljøvariabler.
- I sektionen Systemvariabel skal du klikke på stien og derefter klikke på rediger. Et nyt Rediger miljøvariabelfeltet vises.
- Gå nu til C: \ Programmer \ Java på din pc. Åbn JDK-mappen, klik på bin-mappen og kopier derefter stien til den pågældende mappe.
- Gå nu til boksen Rediger miljøvariabel og klik på ny for at oprette en ny variabel. Indsæt den sti, du kopierede i ovenstående trin i den nye variabel, og gem den.
- Nu for at bekræfte, hvis det er helt installeret, skal du åbne kommandoprompt og skrive java –version.
Nu som du har installeret Java JDK med succes på din computer. Lad os nu installere Android Studio på din computer. Installation af denne software er meget let. Du skal åbne den downloadede fil og klikke på næste, indtil din software er fuldt installeret.
Trin 8: Lav layoutet
Nu laver vi her et layout til vores applikation, der vil blive brugt af brugeren til at sende forskellige kommandoer til hindbær pi. For at lave et simpelt layout skal du gennemgå følgende trin.
1. Gå først til Filer> Nyt> Nyt projekt. En menu vises. Vælg Tomt projekt.
2. Navngiv nu projektet som Stemmekontrol og sæt JAVAsom dit programmeringssprog.
3. Da vi skal bruge Internettet til at styre stifterne på hindbær pi. Vi indstiller tilladelse i vores app til at få adgang til lokal wifi. For at gøre dette gå til app> manifesterer> AndroidManifest.xml og tilføj følgende kommando.
-
4. Gå nu til app> res> layout> activity_main.xml. her designer vi et layout. Kopiér nedenstående kode for at få en tekstvisning.
5. Højreklik nu på res og opret en ny Vejviser. Navngiv denne mappe som en menu.
6. Højreklik nu på menumappe og opret en ny Android-ressourcefil.
7. Åbn nu disse ressourcefilnavne som menu, og kopier følgende kode i den.
8. Gå nu til app> java> com.example.voicecontrol> MainActivity. Her laver vi en webvisning og nogle strengvariabler. For at gøre dette skal du kopiere følgende kode i vores hovedaktivitet. Sørg for at udskifte IP i koden med IP på din Raspberry Pi.
pakke com.example.voicecontrol; importere android.support.annotation.NonNull; importere android.support.design.widget.BottomNavigationView; importere android.support.design.widget.NavigationView; importere android.support.v7.app.AppCompatActivity; importere android.os.Bundle; importere android.view.MenuItem; importere android.webkit.WebChromeClient; importere android.webkit.WebSettings; importere android.webkit.WebView; importere android.webkit.WebViewClient; importere android.widget.TextView; offentlig klasse MainActivity udvider AppCompatActivity {private TextView mTextMessage; WebView wv; Streng url = "http://192.168.43.168"; privat BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = ny BottomNavigationView.OnNavigationItemSelectedListener () {@Override public boolean onNavigationItemSelected (@NonNull Menuitem) ); wv.loadUrl ("https://192.168.43.168/lightson.php"); returner sandt; sag R.id.lightoff1: mTextMessage.setText (R.string.title_homeof); wv.loadUrl ("https://192.168.43.168/lightsoff.php"); returner sandt; sag R.id.fanon1: mTextMessage.setText (R.string.title_dashboard); wv.loadUrl ("https://192.168.43.168/fanon.php"); returner sandt; sag R.id.fanoff1: mTextMessage.setText (R.string.title_dashboardof); wv.loadUrl ("https://192.168.43.168/fanff.php"); returner sandt; } returner falsk }}; @ Override beskyttet ugyldighed onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); mTextMessage = (TextView) findViewById (R.id.message); BottomNavigationView navigation = (BottomNavigationView) findViewById (R.id.navigation); navigation.setOnNavigationItemSelectedListener (mOnNavigationItemSelectedListener); wv = (WebView) findViewById (R.id.webview); WebSettings-indstillinger = wv.getSettings (); wv. setWebViewClient (ny WebViewClient ()); wv.getSettings (). setJavaScriptEnabled (sand); wv.getSettings (). setCacheMode (WebSettings.LOAD_CACHE_ELSE_NETWORK); wv.getSettings (). setAppCacheEnabled (sand); wv.getSettings (). setBuiltInZoomControls (true); settings.setDomStorageEnabled (true); settings.setUseWideViewPort (sand); settings.setSaveFormData (sand); wv.setWebChromeClient (ny WebChromeClient ()); wv.loadUrl (url); }}
Dit layout vil se ud som på billedet nedenfor:
Trin 9: Samling af hardware og afsluttende hånd
Nu har vi gennemført softwaredelen af dette projekt med succes. Vi vil samle hardwaren nu og derefter teste den.
- Oprettelse af forbindelser: Vi ser efter GPIO 13 og 15 ben på Raspberry Pi i databladet. Når du har fundet dem, skal du forbinde GPIO 13 pin til IN1 ben på relæmodulet. Tilslut GPIO 15 pin til IN2ben på relæmodulet.
- Testning: Da vi har oprettet alle forbindelserne, vil vi kontrollere, om vores hardware fungerer korrekt eller ej. Tur PÅ Raspberry Pi og tale "Hej Google", og vi taler en af de kommandoer, vi har sat i sprogindstillingerne. For eksempel vil vi sige "Hey Google Tænd lyset", hvis vi har indstillet det foretrukne sprog som engelsk, og lyset ville blive tændt PÅ. Apparaterne kan også styres via vores Android Studio-applikation. Hvis nogen ønsker at kontrollere apparaterne gennem applikationen, skal han / hun åbne applikationen og begynde at trykke på ikonerne i applikationen til styring af apparaterne.
Det er alt for i dag. Vi har gennemført projektet med flere sprog til hjemmeautomatisering, og nu kan vi nemt styre vores elektriske apparater via vores mobiltelefon.