Wie erstelle ich eine mehrsprachige Hausautomation mit Google Assistant und Raspberry Pi?

Das Hausautomationssystem schaltet alle Ihre Elektrogeräte ein W-lan. Eine einzelne Komponente wie ein Relaismodul wird zur Steuerung verschiedener elektronischer Parameter eines Hauses verwendet, z. B. zum Schalten von Haushaltsgeräten, zum Überwachen von Sicherheitsalarmen, zur Automatisierung von Garagentoren usw. Die größte Hürde beim Entwurf des Automatisierungssystems mit Google Assistant ist Sprache. Die neuesten Automatisierungssysteme unterstützen nur wenige Sprachen, die meistens enthalten Englisch. Daher werden wir in diesem Projekt ein mehrsprachiges Hausautomationssystem entwerfen, das mehrere Sprachen wie Hindi, Urdu, Bengali usw. unterstützt. Nach Abschluss dieses Hausautomationssystems können wir die Elektrogeräte mithilfe der Sprachbefehle steuern das würde in verschiedenen Sprachen gegeben werden. Das Hauptrückgrat hinter diesem Projekt ist Google-Assistent das würde verwendet werden, um Haushaltsgeräte zu steuern. Wir haben Google Assistant bevorzugt, da es fast jede Sprache unterstützt und außerdem eine Android-Anwendungwäre für die Steuerung der Geräte ausgelegt.

Wie richte ich Raspberry Pi und andere Peripheriegeräte beim Entwerfen des Systems ein?

Da wir wissen, was wir in diesem Projekt tun möchten, lassen Sie uns nun fortfahren und weitere Informationen zu den Hardwarekomponenten sammeln, um sofort mit der Arbeit an diesem Projekt zu beginnen.

Schritt 1: Erforderliche Komponenten (Hardware)

Der beste Ansatz, um ein Projekt zu starten, besteht darin, eine Liste der Komponenten zu erstellen und diese Komponenten kurz zu untersuchen, da niemand nur wegen einer fehlenden Komponente in der Mitte eines Projekts bleiben möchte.

Schritt 2: Auswahl des Raspberry Pi-Modells

Die Auswahl von Raspberry Pi ist eine sehr technische Aufgabe und sollte sorgfältig durchgeführt werden, damit Sie in Zukunft nicht darunter leiden. Der Raspberry Pi Zero wird nicht bevorzugt, da er das älteste auf dem Markt erhältliche Modell mit einer begrenzten Anzahl von Spezifikationen ist und das Einrichten eines Netzwerks eine sehr anstrengende Aufgabe ist. Die neuesten Modelle wie 3A +, 3B + können erworben werden. Der Raspberry Pi 3 ist das schnellste und dominanteste Gerät, das die Raspberry Pi Foundation bisher veröffentlicht hat. In diesem Projekt werden wir also den Raspberry Pi 3B + verwenden.

Schritt 3: Raspberry Pi einrichten

Es gibt zwei Möglichkeiten, um Raspberry Pi einzurichten. Zunächst müssen Sie Ihren Pi mit dem LCD verbinden, alle erforderlichen Peripheriegeräte anschließen und mit der Arbeit beginnen. Die zweite besteht darin, Pi mit dem Laptop einzurichten und remote darauf zuzugreifen. Dies hängt von der Verfügbarkeit des LCD ab. Wenn Sie es zu Hause haben, können Sie Ihren Pi mithilfe eines LCD einrichten. Verbinden Sie das LCD mit dem HDMI-zu-VGA-Adapter mit dem HDMI-Anschluss der Himbeere. Wenn Sie remote auf Ihren Pi zugreifen möchten, folgen Sie meinem Artikel mit dem Namen "Wie greife ich mit SSH und VNC Viewer auf die grafische Benutzeroberfläche (RUI) von Raspberry Pi zu?"

Schritt 4: Einrichten des Apache-Servers auf Raspberry Pi

Nach dem Einrichten von Raspberry Pi haben wir das eingerichtet Apache Server drauf. Zum Einrichten geben wir den folgenden Befehl in das Terminalfenster ein:

sudo apt-get install apache2 -y

Wir können die Installation des Servers überprüfen, indem wir die IP-Adresse von Pi in Web Server eingeben. Wir werden die Apache-Seite im Webbrowser öffnen und dann unseren Apache-Server zur Verarbeitung verwenden PHP Dateien, dafür müssen Sie die neueste Version des PHP-Moduls für Apache haben. Führen Sie nun den folgenden Befehl aus, um die neueste Version des Apache-Servers auszuführen.

sudo apt-get installiere php libapache2-mod-php-y

Wir müssen die Allzweck-Eingangsausgabe steuern (GPIO) Pins von Raspberry Pi nach dem Einrichten des Apache-Servers. Um dies zu steuern, müssen wir eine PHP-Datei erstellen. Zuerst würden wir zum HTML-Verzeichnis navigieren und dann eine PHP-Datei erstellen, indem wir den folgenden Befehl eingeben:

sudo nano appliancesoff.php

Dann schreiben wir den folgenden Code in diese Datei, bevor wir sie speichern:

Drücken Sie nach dem Schreiben des Codes in die Editordatei Strg + X. zum Speichern des Codes und dann beenden. Wir haben eine PHP-Datei zum Drehen erstellt AUSdie Appliances, jetzt werden wir eine PHP-Datei zum Drehen erstellen AUFdie Geräte. Die Vorgehensweise ist die gleiche wie oben, mit ein wenig Änderung im Code. Erstellen Sie eine PHP-Datei zum Drehen AUFGeben Sie den folgenden Befehl ein:

sudo nano applianceson.php

Fügen Sie nun in die Editor-Datei den folgenden Code ein:

Schritt 5: Vorbereiten des Google-Assistenten

Da unser Automatisierungssystem mit unseren Sprachbefehlen betrieben wird, würden wir einige Änderungen an den Spracheinstellungen vornehmen.

Sie müssen die Sprache auswählen, in der Ihr Betriebssystem betrieben werden soll. Gehe zum "Routinen" Option und im Menü der Schaltfläche Routinen finden Sie eine Plus Symbol. Wir werden unseren Sprachbefehl erstellen und daher den Befehl sprechen, der zur Steuerung der Geräte verwendet wird. Angenommen, Sie möchten die LED-Lampe steuern und einen geeigneten Befehl zum Drehen festlegen AUFund drehen AUSdie Glühbirne.

Schritt 6: Entwickeln einer mobilen Anwendung

Lassen Sie uns nun eine mobile Anwendung entwickeln, mit der die an unser System angeschlossenen Elektrogeräte gesteuert werden. Da wir eine Anwendung für unser Android-Handy entwickeln werden, benötigen wir eine Plattform, die es uns ermöglicht, dies zu tun. Zu diesem Zweck benötigen wir die folgenden zwei Software:

Schritt 7: Einrichten von Android Studio

Bevor Sie das Android Studio zuerst auf unseren Computern installieren, müssen Sie eine andere Sache namens JAVA JDK installieren. Um dies zu installieren, klicken Sie auf exe Datei, die Sie über den obigen Link heruntergeladen haben. Klicken Sie weiter auf die Schaltfläche Weiter, bis sie installiert ist. Jetzt muss JAVA von Ihrem Computer als externer oder interner Befehl erkannt werden. Führen Sie dazu die folgenden Schritte aus.

  1. Öffnen Schalttafel und klicken Sie auf System und Sicherheit.
  2. Klicke auf System.
  3. Klicke auf Erweiterte Systemeinstellung und dann auf klicken Umgebungsvariablen.
  4. Klicken Sie im Abschnitt Systemvariable auf den Pfad und dann auf Bearbeiten. Eine neue Umgebungsvariable bearbeitenDas Feld wird angezeigt.
  5. Jetzt geh zu C: \ Programme \ Java in Ihrem PC. Öffnen Sie den JDK-Ordner, klicken Sie auf den Ordner bin und kopieren Sie den Pfad dieses Ordners.
  6. Gehen Sie nun zum Feld Umgebungsvariable bearbeiten und klicken Sie auf Neu, um eine neue Variable zu erstellen. Fügen Sie den Pfad, den Sie im obigen Schritt kopiert haben, in die neue Variable ein und speichern Sie sie.
  7. Um zu bestätigen, ob es vollständig installiert ist, öffnen Sie die Eingabeaufforderung und geben Sie ein Java-Version.

Jetzt, da Sie Java JDK erfolgreich auf Ihrem Computer installiert haben. Lassen Sie uns jetzt Android Studio auf Ihrem Computer installieren. Die Installation dieser Software ist sehr einfach. Sie müssen die heruntergeladene Datei öffnen und auf Weiter klicken, bis Ihre Software vollständig installiert ist.

Schritt 8: Erstellen des Layouts

Jetzt erstellen wir hier ein Layout für unsere Anwendung, das vom Benutzer verwendet wird, um verschiedene Befehle an den Himbeer-Pi zu senden. Führen Sie die folgenden Schritte aus, um ein einfaches Layout zu erstellen.

1. Gehen Sie zunächst zu Datei> Neu> Neues Projekt. Ein Menü wird angezeigt. Wählen Sie Leeres Projekt.

2. Benennen Sie das Projekt nun als Stimmenkontrolle und setzen JAVAals Ihre Programmiersprache.

3. Da wir das Internet nutzen werden, um die Stifte des Himbeer-Pi zu steuern. Wir werden in unserer App die Erlaubnis festlegen, auf lokales WLAN zuzugreifen. Um dies zu tun, gehen Sie zu App> Manifeste> AndroidManifest.xml und fügen Sie den folgenden Befehl hinzu.

-

4. Gehen Sie jetzt zu app> res> layout> activity_main.xml. Hier entwerfen wir ein Layout. Kopieren Sie den unten angegebenen Code, um eine Textansicht zu erstellen.

       

5. Klicken Sie nun mit der rechten Maustaste auf res und erstellen Sie eine neue Verzeichnis. Nennen Sie dieses Verzeichnis als Speisekarte.

6. Klicken Sie nun mit der rechten Maustaste auf SpeisekarteVerzeichnis und erstellen Sie ein neues Android-Ressourcendatei.

7. Öffnen Sie nun die Namen dieser Ressourcendateien als Menü und kopieren Sie den folgenden Code hinein.

       

8. Gehen Sie jetzt zu app> java> com.example.voicecontrol> MainActivity. Hier erstellen wir eine Webansicht und einige Zeichenfolgenvariablen. Kopieren Sie dazu den folgenden Code in unsere Hauptaktivität. Stellen Sie sicher, dass Sie die IP im Code durch die IP Ihres Raspberry Pi ersetzen.

Paket com.example.voicecontrol; import android.support.annotation.NonNull; android.support.design.widget.BottomNavigationView importieren; android.support.design.widget.NavigationView importieren; android.support.v7.app.AppCompatActivity importieren; android.os.Bundle importieren; android.view.MenuItem importieren; android.webkit.WebChromeClient importieren; android.webkit.WebSettings importieren; android.webkit.WebView importieren; android.webkit.WebViewClient importieren; android.widget.TextView importieren; öffentliche Klasse MainActivity erweitert AppCompatActivity {private TextView mTextMessage; WebView wv; String url = "http://192.168.43.168"; private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener () {@Override public boolean onNavigationItemSelected ); wv.loadUrl ("https://192.168.43.168/lightson.php"); return true; case R.id.lightoff1: mTextMessage.setText (R.string.title_homeof); wv.loadUrl ("https://192.168.43.168/lightsoff.php"); return true; case R.id.fanon1: mTextMessage.setText (R.string.title_dashboard); wv.loadUrl ("https://192.168.43.168/fanon.php"); return true; case R.id.fanoff1: mTextMessage.setText (R.string.title_dashboardof); wv.loadUrl ("https://192.168.43.168/fanff.php"); return true; } falsch zurückgeben; }}; @Override protected void 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 settings = wv.getSettings (); wv. setWebViewClient (neuer WebViewClient ()); wv.getSettings (). setJavaScriptEnabled (true); wv.getSettings (). setCacheMode (WebSettings.LOAD_CACHE_ELSE_NETWORK); wv.getSettings (). setAppCacheEnabled (true); wv.getSettings (). setBuiltInZoomControls (true); settings.setDomStorageEnabled (true); settings.setUseWideViewPort (true); settings.setSaveFormData (true); wv.setWebChromeClient (neuer WebChromeClient ()); wv.loadUrl (url); }}

Ihr Layout sieht wie folgt aus:

Schritt 9: Zusammenbau der Hardware und endgültige Berührungen

Jetzt haben wir den Softwareteil dieses Projekts erfolgreich abgeschlossen. Wir werden die Hardware ab und zu zusammenbauen und dann testen.

  1. Verbindungen herstellen: Wir werden im Datenblatt nach GPIO 13 und 15 Pins des Raspberry Pi suchen. Nachdem Sie sie gefunden haben, schließen Sie das GPIO an 13 Stift an die IN 1 Pin des Relaismoduls. Schließen Sie das GPIO an 15 Stift an die IN 2Pin des Relaismoduls.
  2. Testen: Da wir alle Verbindungen hergestellt haben, werden wir prüfen, ob unsere Hardware ordnungsgemäß funktioniert oder nicht. Wende AUF die Himbeer Pi und sprechen "Hey Google"und wir werden einen der Befehle sprechen, die wir in den Spracheinstellungen festgelegt haben. Zum Beispiel sagen wir "Hey Google, mach das Licht an", wenn wir die bevorzugte Sprache auf Englisch eingestellt haben und das Licht eingeschaltet wird AUF. Die Appliances können auch über unsere Android Studio-Anwendung gesteuert werden. Wenn jemand die Appliances über die Anwendung steuern möchte, sollte er die Anwendung öffnen und auf die in der Anwendung vorhandenen Symbole drücken, um die Appliances zu steuern.

Das ist alles für heute. Wir haben das mehrsprachige Projekt für Hausautomationssysteme erfolgreich abgeschlossen und können jetzt unsere Elektrogeräte einfach über unser Mobiltelefon steuern.

Facebook Twitter Google Plus Pinterest