Hvordan lage en Android-app for Smart Home-systemet ditt på Android Studio?

Denne artikkelen er del to av en annen artikkel Hvordan lage smart hjemmeautomatisering ved hjelp av ESP32-modul? der en metode for å lage et Smart Home System ble gitt. I denne artikkelen skal vi demonstrere trinnvis fremgangsmåte for hvordan du utvikler en Android-applikasjon og kobler den til Firebase-databasen. Da vil denne mobilapplikasjonen brukes til å bytte elektriske apparater i hjemmet.



Android-apputvikling

Smart Home Systems som allerede er tilgjengelig i markedet er veldig kostbare. Hvis du har de nødvendige komponentene og en Android-enhet, kan du lage et hjemmeautomatiseringssystem hjemme som vil være like effektivt, men som vil være veldig lavt. Gå gjennom disse to artiklene for å lage ditt eget hjemmeautomatiseringssystem hjemme.



Hvordan utvikle et Android-program for hjemmeautomatisering?

Vi skal utvikle en android-app som skal brukes som en fjernkontroll for å kontrollere de elektriske husholdningsapparatene som var koblet til ESP32-modulen i den andre artikkelen. å gå til den andre artikkelen, Klikk her .



Trinn 1: Programvare nødvendig

Når vi skal utvikle en Android-applikasjon, trenger vi bare en programvare. Men for å kjøre den programvaren, må vi installere en annen programvare først. Du kan laste dem ned fra følgende lenker.



  • Android Studio.
  • JAVA JDK.

Trinn 2: Forstå hovedarbeidet

Vi skal lage et program som vil ha både front-end og back-end-koding. På hovedskjermen vil den inneholde noen knapper som vil kontrollere bytte av elektriske apparater som er koblet til ESP32-mikrokontrollerkortet. I back-end-kodingen sender vi en '1' hvis bryteren er på og en '0' hvis bryteren er av.

Vi skal lage en Firebase-database. Denne databasen vil inneholde to enheter kalt Light og AC. Lyset vil inneholde verdien for å bytte lys, og AC vil inneholde en verdi for å slå av viften. Denne verdien blir deretter sendt til mikrokontrolleren, og deretter vil mikrokontrolleren sende et styresignal til relémodulen tilsvarende.

Trinn 3: Konfigurere Android Studio

Før vi installerer Android Studio, installerer vi JAVA JDK først. For å installere dette, klikk på exe fil som du lastet ned fra lenken ovenfor, og klikk på neste til den er installert. Gå nå gjennom følgende trinn slik at ledeteksten din gjenkjenner java som en ekstern eller intern kommando.



  1. Åpen Kontrollpanel og klikk på System og sikkerhet .
  2. Klikk på System .

    System

  3. Klikk på Avansert systeminnstilling og klikk deretter på Miljøvariabler .

    Avansert systeminnstilling

  4. I delen Systemvariabel, klikk på banen og klikk deretter på rediger. En ny Rediger miljøvariabel vises.

    Rediger bane

  5. Gå nå til C: Program Files Java på din PC. Åpne JDK-mappen, klikk på papirkurvmappen og kopier deretter banen til den mappen.

    Sti til søppelmappen

  6. Gå nå til boksen Rediger miljøvariabel og klikk på ny for å lage en ny variabel. Lim inn banen du kopierte i trinnet ovenfor i den nye variabelen, og lagre den.
  7. Nå for å bekrefte, hvis den er fullstendig installert, åpner du ledeteksten og skriver java –versjon .

    JAVA-versjon

Nå som du har installert Java JDK på datamaskinen din. La oss nå installere Android Studio på datamaskinen din. Det er veldig enkelt å installere denne programvaren. Du må åpne den nedlastede filen og klikke neste til programvaren er fullinstallert.

Trinn 4: Lag oppsettet

Vi lager et oppsett som inneholder noen knapper som sender kommandoen 0 eller 1 til firebase-databasen. Dette vil være et enkelt oppsett som inneholder noen knapper. I appen min vil jeg bare ta med to knapper som styrer lysene og viften. Hvis du vil inkludere flere knapper for flere husholdningsapparater, kopierer du den samme koden i hovedprogrammet og lager en ny variabel i databasen. Uten å kaste bort tid, la oss gå mot trinnene for å lage et enkelt oppsett for appen vår.

1. Først av alt, gå til Fil> Nytt> Nytt prosjekt. En meny vises. Plukke ut Tomt prosjekt.

2. Gi nå navnet på prosjektet og sett KOTLIN som programmeringsspråk.

3. Klikk på på venstre hjørne app> res> layout> activity_main.xml.

aktivitetshoved

4. Her legger du til følgende kode under koden som allerede er gitt i Android-studioet ditt. Vi lager et begrensningsoppsett. Følgende kode legger til en overskrift av Room Automation på toppen. Det er da å legge til 3 brytere. en bryter lar deg velge f du vil bruke husholdningsapparater manuelt eller ikke. De to andre bryterne vil betjene henholdsvis viften og lysene.

 

5. Oppsettet til appen din vil se ut som bildet nedenfor.

Oppsett

Trinn 5: Back-End-koding

Back end-koden er den viktigste delen av ethvert program. Det er hovedbroen mellom frontoppsettet og databasen til prosjektet. I søknaden vår vil vi bare sende en “1” i databasen når bryteren er på og en “0” i databasen når bryteren er av. Gå gjennom følgende trinn for å legge til koden i applikasjonen

1. Klikk på på venstre hjørne app> java> com.example.my applicationmyapplication> main_activity.

2. Nå, på denne skjermen, kopier følgende kode i klassen din.

klasse automatisering: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference intern lateinit var btnSwitch: Bytt intern lateinit var btnSwitch1: Bytt intern lateinit var btnSwitch2: Switch override fun onCreate (savedInstanceState: Bundle? .onCreate (savedInstanceState) setContentView (R.layout.activity_automation) myRef.child ('Toggle / switch'). addValueEventListener (object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSwitch) .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('automatisering /AC').addValueEventListener(object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton2. isChecked = true} ellers toggleButton2.isChecked = fals e}}) myRef.child ('automation / light'). addValueEventListener (object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). er lik ('1')) {toggleButton3.isChecked = true} annet toggleButton3.isChecked = false}})} annet {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Logg. d ('ahsan