Kako v Android Studio narediti aplikacijo Android za sistem pametnega doma?

Ta članek je drugi del drugega članka Kako narediti pametno avtomatizacijo doma z uporabo modula ESP32? v katerem je bila podana metoda za izdelavo sistema pametnega doma. V tem članku bomo po korakih prikazali, kako razviti aplikacijo android in jo povezati v zbirko podatkov firebase. Nato bo ta mobilna aplikacija uporabljena za preklapljanje električnih naprav doma.



Razvoj aplikacij za Android

Sistemi pametnega doma, ki so že na voljo na trgu, so zelo dragi. Če imate potrebne komponente in napravo Android, lahko doma naredite sistem za avtomatizacijo doma, ki bo enako učinkovit, vendar bo zelo poceni. Preberite ta dva članka, da si doma ustvarite lasten sistem za avtomatizacijo doma.



Kako razviti aplikacijo Android za avtomatizacijo doma?

Razvili bomo aplikacijo za Android, ki bo uporabljena kot daljinski upravljalnik za nadzor električnih gospodinjskih aparatov, ki so bili v drugem članku priključeni na modul ESP32. iti na drugi članek, Klikni tukaj .



1. korak: potrebna programska oprema

Ko bomo razvijali aplikacijo za Android, bomo potrebovali samo eno programsko opremo. Toda za zagon te programske opreme moramo najprej namestiti drugo. Lahko jih prenesete s spodnjih povezav.



  • Android Studio.
  • JAVA JDK.

2. korak: Razumevanje glavnega dela

Izdelali bomo aplikacijo, ki bo imela tako čelno kot tudi zakodirano kodiranje. Na glavnem zaslonu bo vseboval nekaj gumbov, ki bodo nadzorovali preklapljanje električnih naprav, ki so priključene na ploščo mikrokrmilnika ESP32. Pri zalednem kodiranju bomo poslali '1', če je stikalo vklopljeno, in '0', če je stikalo izklopljeno.

Izdelali bomo zbirko podatkov Firebase. Ta baza podatkov bo vsebovala 2 entiteti, imenovani Light in AC. Lučka bo vsebovala vrednost za vklop luči, AC pa vrednost za vklop ventilatorja. Ta vrednost bo nato poslana mikrokrmilniku, nato pa bo mikrokrmilnik ustrezno poslal krmilni signal relejnemu modulu.

3. korak: Nastavitev Android Studio

Pred namestitvijo Android Studio bomo najprej namestili JAVA JDK. Če želite to namestiti, kliknite exe mapa ki ste jo prenesli z zgornje povezave in kliknite Naprej, dokler ni uspešno nameščena. Zdaj pojdite skozi naslednje korake, tako da vaš ukazni poziv prepozna javo kot zunanji ali notranji ukaz.



  1. Odprto Nadzorna plošča in kliknite Sistem in varnost .
  2. Kliknite na Sistem .

    Sistem

  3. Kliknite na Napredne sistemske nastavitve in nato kliknite Okoljske spremenljivke .

    Napredne sistemske nastavitve

  4. V razdelku Sistemska spremenljivka kliknite pot in nato uredi. Novo Uredi spremenljivko okolja polje se prikaže.

    Uredi pot

  5. Zdaj pa pojdi na C: Programske datoteke Java v računalniku. Odprite mapo JDK, kliknite mapo bin in nato kopirajte pot do te mape.

    Pot mape bin

  6. Zdaj pojdite na polje Uredi okoljsko spremenljivko in kliknite novo, da ustvarite novo spremenljivko. Pot, ki ste jo kopirali v zgornjem koraku, prilepite v novo spremenljivko in jo shranite.
  7. Če želite potrditi, če je popolnoma nameščen, odprite ukazni poziv in vnesite java –verzija .

    Različica JAVA

Zdaj, ko ste v svoj računalnik uspešno namestili Java JDK. Dovolite nam, da zdaj namestimo Android Studio v vaš računalnik. Namestitev te programske opreme je zelo enostavna. Odprto datoteko morate odpreti in klikniti naprej, dokler ni popolnoma nameščena programska oprema.

4. korak: Izdelava postavitve

Naredili bomo postavitev, ki bo vsebovala nekaj gumbov, ki bodo poslali ukaz 0 ali 1 v zbirko podatkov firebase. To bo preprosta postavitev, ki bo vsebovala nekaj gumbov. V svojo aplikacijo bom vključil samo dva gumba za nadzor luči in ventilatorja. Če želite vključiti več gumbov za več gospodinjskih aparatov, kopirajte isti kos kode v glavni program in v bazo podatkov naredite novo spremenljivko. Ne da bi zapravljali čas, pojdimo k korakom izdelave preproste postavitve za našo aplikacijo.

1. Najprej pojdite na Datoteka> Novo> Nov projekt. Pojavi se meni. Izberite Prazen projekt.

2. Zdaj poimenujte projekt in nastavite KOTLIN kot vaš programski jezik.

3. Zdaj v levem kotu kliknite app> res> layout> activity_main.xml.

dejavnost_main

4. Tukaj dodajte naslednjo kodo pod kodo, ki je že na voljo v vašem android studiu. Izdelujemo postavitev omejitve. Naslednja koda na vrh doda naslov Avtomatizacija prostorov. Nato doda 3 stikala. eno stikalo vam omogoča, da izberete, ali želite z gospodinjskimi aparati ročno upravljati ali ne. Druga dva preklopljena bosta uporabljala ventilator oziroma luči.

 

5. Postavitev vaše aplikacije bo videti kot spodnja slika.

Postavitev

5. korak: Back-End kodiranje

Koda zadnje strani je najpomembnejši del vsake aplikacije. Je glavni most med čelno postavitvijo in bazo podatkov o projektu. V naši aplikaciji želimo poslati samo 1 v bazo podatkov, ko je stikalo vklopljeno, in 0 v bazo podatkov, ko je stikalo izklopljeno. Za dodajanje kode v svojo aplikacijo sledite naslednjim korakom

1. V levem kotu kliknite app> java> com.example.my applicationmyapplication> main_activity.

2. Zdaj na ta zaslon kopirajte naslednjo kodo v razredu.

avtomatizacija razreda: AppCompatActivity () {var baza podatkov = FirebaseDatabase.getInstance () var myRef = database.reference interni lateinit var btnSwitch: preklopi notranji lateinit var btnSwitch1: preklopi notranji lateinit var btnSwitch2: preklopi preglasitev zabave onCreate (savedInstanceState: super paket? .onCreate (savedInstanceState) setContentView (R.layout.activity_automation) myRef.child ('Preklop / preklop'). addValueEventListener (objekt: ValueEventListener {preglasiti zabavo onCancelled (p0: DatabaseError) {} preglasiti zabavo onDataChangeps p0 .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('avtomatizacija /AC').addValueEventListener(object: ValueEventListener {preglasi zabavo onCancelled (p0: DatabaseError) {} preglasi zabavo onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton. isChecked = true} else toggleButton2.isChecked = laži e}}) myRef.child ('avtomatizacija / svetloba'). addValueEventListener (objekt: ValueEventListener {preglasiti zabavo onCancelled (p0: DatabaseError) {} preglasiti zabavo onDataChange (p0: DataSnapshot) {if (p0.value.toString (). enako ('1')) {toggleButton3.isChecked = true} else toggleButton3.isChecked = false}})} else {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Log. d ('ahsan