Wie erstelle ich eine Android-App für Ihr Smart Home-System in Android Studio?

Dieser Artikel ist Teil zwei eines anderen Artikels Wie mache ich eine Smart Home-Automatisierung mit dem ESP32-Modul? in dem eine Methode zur Herstellung eines Smart Home-Systems bereitgestellt wurde. In diesem Artikel zeigen wir Ihnen Schritt für Schritt, wie Sie eine Android-Anwendung entwickeln und mit der Firebase-Datenbank verbinden. Dann wird diese mobile Anwendung verwendet, um die Elektrogeräte im Haushalt zu schalten.



Android App Entwicklung

Smart Home-Systeme, die bereits auf dem Markt erhältlich sind, sind sehr kostspielig. Wenn Sie über die erforderlichen Komponenten und ein Android-Gerät verfügen, können Sie zu Hause ein Hausautomationssystem erstellen, das gleichermaßen effizient, aber sehr kostengünstig ist. Lesen Sie diese beiden Artikel durch, um Ihr eigenes Hausautomationssystem zu Hause zu erstellen.



Wie entwickle ich eine Android-Anwendung für die Heimautomation?

Wir werden eine Android-App entwickeln, die als Fernbedienung zur Steuerung der elektrischen Haushaltsgeräte verwendet wird, die im anderen Artikel an das ESP32-Modul angeschlossen wurden. zum anderen Artikel gehen, Klicke hier .



Schritt 1: Software benötigt

Da wir eine Android-Anwendung entwickeln werden, benötigen wir nur eine Software. Um diese Software auszuführen, müssen wir zuerst eine andere Software installieren. Sie können sie über die folgenden Links herunterladen.



  • Android Studio.
  • JAVA JDK.

Schritt 2: Grundlegendes zur Funktionsweise

Wir werden eine Anwendung erstellen, die sowohl Front-End- als auch Back-End-Codierung enthält. Auf dem Hauptbildschirm befinden sich einige Schaltflächen, mit denen das Umschalten der an die ESP32-Mikrocontroller-Karte angeschlossenen Elektrogeräte gesteuert wird. In der Back-End-Codierung senden wir eine '1', wenn der Schalter eingeschaltet ist, und eine '0', wenn der Schalter ausgeschaltet ist.

Wir werden eine Firebase-Datenbank erstellen. Diese Datenbank enthält 2 Entitäten mit den Namen Light und AC. Das Licht enthält den Wert für das Schalten des Lichts und AC enthält einen Wert für das Schalten des Lüfters. Dieser Wert wird dann an den Mikrocontroller gesendet, und der Mikrocontroller sendet entsprechend ein Steuersignal an das Relaismodul.

Schritt 3: Einrichten von Android Studio

Vor der Installation von Android Studio installieren wir zuerst JAVA JDK. Um dies zu installieren, klicken Sie auf exe Datei dass Sie von dem obigen Link heruntergeladen haben, und klicken Sie auf Weiter, bis es erfolgreich installiert wurde. Führen Sie nun die folgenden Schritte aus, damit Ihre Eingabeaufforderung Java als externen oder internen Befehl erkennt.



  1. Öffnen Schalttafel und klicken Sie auf System und Sicherheit .
  2. Klicke auf System .

    System

  3. Klicke auf Erweiterte Systemeinstellung und dann auf klicken Umgebungsvariablen .

    Erweiterte Systemeinstellung

  4. Klicken Sie im Abschnitt Systemvariable auf den Pfad und dann auf Bearbeiten. Eine neue Umgebungsvariable bearbeiten Das Feld wird angezeigt.

    Pfad bearbeiten

  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.

    Pfad des bin-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 ihn.
  7. Um zu bestätigen, ob es vollständig installiert ist, öffnen Sie die Eingabeaufforderung und geben Sie ein Java-Version .

    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 4: Erstellen des Layouts

Wir werden ein Layout erstellen, das einige Schaltflächen enthält, die den Befehl 0 oder 1 an die Firebase-Datenbank senden. Dies ist ein einfaches Layout, das einige Schaltflächen enthält. In meiner App werde ich nur zwei Tasten enthalten, die die Lichter und den Lüfter steuern. Wenn Sie mehr Schaltflächen für mehr Haushaltsgeräte einfügen möchten, kopieren Sie denselben Codeabschnitt in das Hauptprogramm und erstellen Sie eine neue Variable in der Datenbank. Lassen Sie uns ohne Zeitverlust zu den Schritten eines einfachen Layouts für unsere App übergehen.

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

2. Benennen Sie nun das Projekt und legen Sie es fest KOTLIN als Ihre Programmiersprache.

3. Klicken Sie nun in der linken Ecke auf app> res> layout> activity_main.xml.

activity_main

4. Fügen Sie hier den folgenden Code unter dem Code hinzu, der bereits in Ihrem Android Studio bereitgestellt wird. Wir erstellen ein Einschränkungslayout. Der folgende Code fügt oben eine Überschrift der Raumautomatisierung hinzu. Es werden dann 3 Schalter hinzugefügt. Mit einem Schalter können Sie auswählen, ob Sie die Haushaltsgeräte manuell bedienen möchten oder nicht. Die anderen beiden Schalter betätigen den Lüfter bzw. die Lichter.

 

5. Das Layout Ihrer App sieht wie im Bild unten aus.

Layout

Schritt 5: Back-End-Codierung

Der Back-End-Code ist der wichtigste Teil jeder Anwendung. Es ist die Hauptbrücke zwischen dem Front-End-Layout und der Datenbank des Projekts. In unserer Anwendung möchten wir nur eine '1' in der Datenbank senden, wenn der Schalter eingeschaltet ist, und eine '0' in der Datenbank, wenn der Schalter ausgeschaltet ist. Führen Sie die folgenden Schritte aus, um den Code in Ihre Anwendung einzufügen

1. Klicken Sie in der linken Ecke auf app> java> com.example.my applicationmyapplication> main_activity.

2. Kopieren Sie nun auf diesem Bildschirm den folgenden Code in Ihre Klasse.

Klassenautomatisierung: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference internes lateinit var btnSwitch: Internes lateinit wechseln var btnSwitch1: Internes lateinit wechseln .onCreate (savedInstanceState) setContentView (R.layout.activity_automation) myRef.child ('Toggle / switch'). addValueEventListener (Objekt: ValueEventListener {Spaß überschreiben onCancelled (p0: DatabaseError) {} Spaß überschreiben onDataChange (p0) .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('automation /AC').addValueEventListener(Objekt: ValueEventListener {Spaß überschreiben onCancelled (p0: DatabaseError) {} Spaß überschreiben onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton2. isChecked = true} else toggleButton2.isChecked = fals e}}) myRef.child ('automation / light'). addValueEventListener (Objekt: ValueEventListener {Spaß überschreiben onCancelled (p0: DatabaseError) {} Spaß onDataChange überschreiben (p0: DataSnapshot) {if (p0.value.toString (). gleich ('1')) {toggleButton3.isChecked = true} else toggleButton3.isChecked = false}})} else {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Log. d ('ahsan