Sådan oprettes en Android-app til dit Smart Home-system i Android Studio?
Denne artikel er del to af en anden artikel Hvordan laver man smart hjemmeautomatisering ved hjælp af ESP32-modul? hvor der blev leveret en metode til at fremstille et Smart Home-system. I denne artikel vil vi demonstrere trin for trin procedure for, hvordan man udvikler en Android-applikation og forbinder den til firebase-databasen. Derefter bruges denne mobile applikation til at skifte de elektriske apparater i hjemmet.
Smart Home-systemer, der allerede er tilgængelige på markedet, er meget dyre. Hvis du har de nødvendige komponenter og en Android-enhed, kan du lave et hjemmeautomatiseringssystem derhjemme, som vil være lige så effektivt, men som vil være meget billigt. Gå gennem disse to artikler for at lave dit eget Home Automation System derhjemme.
Hvordan udvikler jeg en Android-applikation til hjemmeautomatisering?
Vi skal udvikle en Android-app, der vil blive brugt som en fjernbetjening til at styre de elektriske husholdningsapparater, der var forbundet til ESP32-modulet i den anden artikel. at gå til den anden artikel, Klik her.
Trin 1: Nødvendig software
Da vi skal udvikle en Android-applikation, har vi brug for kun en software. Men for at køre denne software skal vi først installere en anden software. Du kan downloade dem fra følgende links.
Trin 2: Forstå hovedarbejdet
Vi vil lave en applikation, der vil have både front-end og back-end-kodning. På hovedskærmen indeholder den nogle knapper, der styrer skiftet mellem de elektriske apparater, der er tilsluttet ESP32-mikrokontrolkortet. I backend-kodningen sender vi en "1", hvis kontakten er tændt, og en "0", hvis kontakten er slukket.
Vi skal oprette en Firebase-database. Denne database vil indeholde 2 enheder navngivet som Light og AC. Lyset indeholder værdien for skift af lys, og AC vil indeholde en værdi for skift af blæser. Denne værdi sendes derefter til mikrokontrolleren, og derefter sender mikrokontrolleren et styresignal til relæmodulet i overensstemmelse hermed.
Trin 3: Opsætning af Android Studio
Før vi installerer Android Studio, installerer vi JAVA JDK først. For at installere dette skal du klikke på exe fil som du downloadede fra ovenstående link, og klik på næste, indtil den er installeret. Gå nu gennem følgende trin, så din kommandoprompt genkender java som en ekstern eller intern kommando.
- Å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: \ Program Files \ 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 4: Lav layoutet
Vi laver et layout, der indeholder nogle knapper, der sender kommandoen 0 eller 1 til firebase-databasen. Dette vil være et simpelt layout, der indeholder nogle knapper. I min app inkluderer jeg bare to knapper, der styrer lysene og blæseren. Hvis du vil medtage flere knapper til flere husholdningsapparater, skal du kopiere det samme stykke kode i hovedprogrammet og oprette en ny variabel i databasen. Uden at spilde noget tid, lad os bevæge os i retning af trinene til at lave et simpelt layout til vores app.
1. Gå først til Fil> Nyt> Nyt projekt.En menu vises. Vælg Tomt projekt.
2. Navngiv nu projektet, og indstil det KOTLINsom dit programmeringssprog.
3. Klik på i venstre hjørne app> res> layout> activity_main.xml.
4. Her skal du tilføje følgende kode under den kode, der allerede er angivet i dit Android-studie. Vi laver et begrænsningslayout. Den følgende kode tilføjer en overskrift til Room Automation øverst. Derefter tilføjes 3 kontakter. en kontakt giver dig mulighed for at vælge f du vil betjene husholdningsapparater manuelt eller ej. De to andre tændte betjener henholdsvis blæseren og lysene.
5. Layoutet på din app vil se ud som billedet nedenfor.
Trin 5: Back-End-kodning
Backend-koden er den vigtigste del af enhver applikation. Det er hovedbroen mellem front-end-layoutet og projektets database. I vores ansøgning vil vi bare sende et "1" i databasen, når kontakten er tændt, og et "0" i databasen, når kontakten er slukket. Gå gennem følgende trin for at tilføje koden i din applikation
1. Klik på i venstre hjørne app> java> com.example.my applicationmyapplication> main_activity.
2. Kopier nu på denne skærm følgende kode i din klasse.
klasse automatisering: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference intern lateinit var btnSwitch: Skift intern lateinit var btnSwitch1: Skift intern lateinit var btnSwitch2: Switch override fun onCreate (savedInstanceState: Bundle? Bund? .onCreate (savedInstanceState) setContentView (R.layout.activity_automation) myRef.child ("Toggle / switch"). addValueEventListener (object: ValueEventListener {tilsidesætte fun onCancelled (p0: DatabaseError) {} tilsidesætte fun onDataChange (p0: DataSwitch) .visibility = View.VISIBLE if (p0.value.toString (). er lig med ("1")) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ("automatisering /AC").addValueEventListener(object: ValueEventListener {tilsidesætte fun onCancelled (p0: DatabaseError) {} tilsidesætte fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Er lig med ("1")) {toggleButton2. isChecked = true} ellers toggleButton2.isChecked = falsk}}) myRef.child ("automatisering / lys"). addValueEventListener (objekt: ValueEventListener {tilsidesættelse fun onCancelled (p0: DatabaseError) {} tilsidesættelse fun onDataChange (p0: DataSnapshot) {if (p0.value.toString () .equals ("1")) {toggleButton3.isChecked = true} ellers toggleButton3.isChecked = false}}}} andet {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Log .d ("ahsan", p0.value.toString ())}) knap3.setOnClickListener {val intention = Intent (dette, MainActivity :: class.java) startActivity (intention)} btnSwitch = findViewById(R.id.switch1) som switch btnSwitch1 = findViewById (R.id.toggleButton2) som switch btnSwitch2 = findViewById (R.id.toggleButton3) som Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ("Toggle / switch"). SetValue ("1") btnSwitch1.setOnClickListener {if (btnSwitch1.isChecked) {my (Ref.) barn ("automatisering / AC"). setValue ("1")} andet {myRef.child ("automatisering / AC"). setValue ("0")}} btnSwitch2.setOnClickListener {if (btnSwitch2.isChecked) {myRef. barn ("automatisering / lys"). setValue ("1")} andet {myRef.child ("automatisering / lys"). setValue ("0")}}} andet {myRef.child ("Toggle / switch") .setValue ("0")}}}
Lige nu kan koden muligvis give nogle fejl nogle steder, fordi den ikke er forbundet til firebase-databasen lige nu. Vi opretter en firebase-database og forbinder den til applikationen.
Trin 6: Tilslutning af appen til Firebase-database
Tilslutning af firebase-databasen til Android-appen er næsten det sidste trin. Vi skal oprette en database på Firebase. Firebase er et trin til forbedring af mobil- og webapplikationer, der giver designere masser af enheder og administrationer, så de kan vokse førsteklasses applikationer, udvikle deres kundebase og få flere fordele. Firebase leverer os to tjenester, der er Real-Time Database og Firestore.
Vi opretter en realtidsdatabase, hvor alle værdier opdateres i realtid med en forsinkelse f nogle sekunder. Gå gennem følgende trin for at oprette en realtidsdatabase på firebase. Android studio giver en meget enkel metode til at oprette denne forbindelse. Gå gennem følgende trin for at oprette denne forbindelse.
1. Klik på n Værktøjer.En rullemenu vises, hvorfra du vælger Firebase.
2. En stor menu vises på højre side af skærmen, der giver menuen for næsten alle tjenester, som firebase leverer. Men lige nu er vores hovedfokus på realtidsdatabase. Så klik på Realtidsdatabase. Et link til “Gem og hent data”Vises. Klik på dette link.
3. Tilslut Opret forbindelse til Firebaseknap. Det fører dig til standardwebbrowseren. For det første beder den dig om at logge ind på din Gmail-konto.
4. Klik nu på Føj Realtime Database til din app fra menuen vist på billedet ovenfor. Der vises en boks, der beder om at foretage nogle ændringer. Klik på Accept ændringer. Du vil se, at applikationen begynder at synkronisere for at oprette forbindelse til vores realtidsdatabase.
5. Gå nu til Firebase Console. Der vil du se et allerede lavet projekt. Android-logoet på projektets ikon betyder, at det allerede hører til en Android-applikation.
6. Fra Udvikle menu, der vises på venstre side af skærmen, skal du vælge Database. En knap til Opret database vises til højre. Klik på den knap.
7. En menu vises, der beder om at indstille tilstanden til din database. Klik på test modeog klik derefter på Aktiver.
8. Nu er et virkelig vigtigt skridt at huske at ændre Cloud Firestore til Realtidsdatabase.For at gøre det skal du klikke på knappen vist i nedenstående billede og ændre den ønskede mulighed.
9. Klik nu på Regler fanen, og skift konfigurationerne til Rigtigt. Når alt er gjort, skal du klikke på Offentliggøre.
10. En ting, du skal gøre andet end at forbinde firebase, er at opdatere databaseversionen. For at klikke på gå til dok. Klik nu på guiderog vælg Android-vejledningerfra listen, der vises på skærmen. Rul ned, indtil en tabel vises. Se efter realtidsdatabase i tabellen, og find dens version. i mit tilfælde er det 19.1.0
11. Klik på Gradle-scripts,en menu på venstre side af skærmen. Vælg derefter bygget. gradle (Modul: app). Nu i koden skal du søge efter versionen af Real-Time-databasen og erstatte den med den nye.
Nu er vores Firebase-forbindelse med vores Android-app fuldt etableret. Vi kan nu gå videre til testdelen af vores projekt.
Trin 7: Test
Testdelen er meget enkel. Du skal bare gå til din Android-enhed og aktivere Udviklerindstillingerfra indstillingen. Så bliver du nødt til at aktivere USB debugging.Når du har gjort alt dette, skal du slutte din Android-enhed til din computer og køre android-projektet i android studio. Dette bygger appen på din Android-enhed.
Klik nu på knapperne på din skærm, så bliver det automatisk enhederne i din firebase-database. Du vil se, at nogle værdier opdateres i deres tilsvarende enhed, når du trykker på knapperne.