Ako vytvoriť aplikáciu pre Android pre váš inteligentný domáci systém v systéme Android Studio?

Tento článok je druhou časťou iného článku Ako si vyrobiť inteligentnú automatizáciu domácnosti pomocou modulu ESP32? v ktorom bola poskytnutá metóda na vytvorenie inteligentného domáceho systému. V tomto článku si ukážeme postupný krok, ako vyvinúť aplikáciu pre Android a pripojiť ju k databáze firebase. Potom sa táto mobilná aplikácia použije na spínanie elektrických spotrebičov v domácnosti.



Vývoj aplikácií pre Android

Systémy Smart Home, ktoré sú už na trhu k dispozícii, sú veľmi nákladné. Ak máte potrebné komponenty a zariadenie s Androidom, môžete si doma vyrobiť systém domácej automatizácie, ktorý bude rovnako efektívny, ale bude mať veľmi nízke náklady. Prejdite si tieto dva články a vytvorte si doma svoj domáci systém automatizácie.



Ako vyvinúť aplikáciu pre Android pre domácu automatizáciu?

Chystáme sa vyvinúť aplikáciu pre Android, ktorá sa bude používať ako diaľkové ovládanie na ovládanie elektrických domácich spotrebičov, ktoré boli pripojené k modulu ESP32 v druhom článku. prejsť na ďalší článok, Kliknite tu .



Krok 1: Potrebný softvér

Pretože budeme vyvíjať aplikáciu pre Android, budeme potrebovať iba jeden softvér. Aby sme však mohli tento softvér spustiť, budeme si musieť najskôr nainštalovať ďalší softvér. Môžete si ich stiahnuť z nasledujúcich odkazov.



  • Android Studio.
  • JAVA JDK.

Krok 2: Porozumenie hlavnej práci

Chystáme sa vytvoriť aplikáciu, ktorá bude mať front-end aj back-end kódovanie. Na hlavnej obrazovke bude obsahovať niektoré tlačidlá, ktoré budú ovládať prepínanie elektrických spotrebičov, ktoré sú pripojené k doske mikrokontroléra ESP32. Pri kódovaní typu back-end pošleme „1“, ak je prepínač zapnutý, a „0“, ak je vypnutý.

Chystáme sa vytvoriť databázu Firebase. Táto databáza bude obsahovať 2 entity pomenované ako Light a AC. Svetlo bude obsahovať hodnotu pre spínanie svetiel a AC bude obsahovať hodnotu pre spínanie ventilátora. Táto hodnota sa potom odošle do mikrokontroléra a potom mikrokontrolér podľa toho odošle riadiaci signál do reléového modulu.

Krok 3: Nastavenie Android Studio

Pred inštaláciou Android Studio si najskôr nainštalujeme JAVA JDK. Ak ho chcete nainštalovať, kliknite na ikonu exe spis ktoré ste si stiahli z vyššie uvedeného odkazu, a kliknite na tlačidlo Ďalej, kým sa úspešne nenainštaluje. Teraz vykonajte nasledujúce kroky, aby váš príkazový riadok rozpoznal javu ako externý alebo interný príkaz.



  1. Otvorené Ovládací panel a kliknite na Systém a bezpečnosť .
  2. Kliknite na Systém .

    Systém

  3. Kliknite na Pokročilé nastavenie systému a potom kliknite na Environmentálne premenné .

    Pokročilé nastavenie systému

  4. V časti Systémová premenná kliknite na cestu a potom na položku Upraviť. Nový Upraviť premennú prostredia Zobrazí sa pole.

    Upraviť cestu

  5. Teraz choď na C: Program Files Java vo vašom PC. Otvorte priečinok JDK, kliknite na priečinok bin a potom skopírujte cestu k tomuto priečinku.

    Cesta priečinka bin

  6. Teraz choďte do poľa Upraviť premennú prostredia a kliknite na nové, aby ste vytvorili novú premennú. Vložte cestu, ktorú ste skopírovali v predchádzajúcom kroku, do novej premennej a uložte ju.
  7. Teraz potvrďte, ak je úplne nainštalovaný, otvorte príkazový riadok a zadajte java –verzia .

    Verzia JAVA

Teraz, keď ste vo svojom počítači úspešne nainštalovali program Java JDK. Poďme si teraz nainštalovať Android Studio do vášho počítača. Inštalácia tohto softvéru je veľmi jednoduchá. Stiahnutý súbor musíte otvoriť a klikať na tlačidlo Ďalej, kým nebude softvér úplne nainštalovaný.

Krok 4: Vytvorenie rozloženia

Vytvoríme rozloženie, ktoré bude obsahovať niektoré tlačidlá, ktoré pošlú príkaz 0 alebo 1 do databázy firebase. Pôjde o jednoduché rozloženie, ktoré bude obsahovať niektoré tlačidlá. Do svojej aplikácie len zahrniem dve tlačidlá, ktoré budú ovládať svetlá a ventilátor. Ak chcete zahrnúť viac tlačidiel pre viac domácich spotrebičov, skopírujte rovnaký kúsok kódu do hlavného programu a vytvorte novú premennú v databáze. Bez toho, aby sme zbytočne strácali čas, poďme k krokom vytvorenia jednoduchého rozloženia našej aplikácie.

1. Najskôr choďte na Súbor> Nový> Nový projekt. Zobrazí sa ponuka. Vyberte Prázdny projekt.

2. Teraz pomenujte projekt a nastavte KOTLIN ako váš programovací jazyk.

3. Teraz v ľavom rohu kliknite na aplikácia> res> rozloženie> activity_main.xml.

activity_main

4. Tu pridajte nasledujúci kód pod kód, ktorý je už poskytnutý vo vašom štúdiu Android. Robíme obmedzujúce rozloženie. Nasledujúci kód pridáva nadpis Room Automation navrch. Potom pridáva 3 prepínače. jeden prepínač umožňuje zvoliť, či chcete alebo nechcete prevádzkovať domáce spotrebiče ručne. Ďalšie dva zapnuté zapnú ventilátor a svetlá.

 

5. Rozloženie vašej aplikácie bude vyzerať ako na obrázku nižšie.

Rozloženie

Krok 5: Zadné kódovanie

Kód back-end je najdôležitejšou súčasťou každej aplikácie. Je to hlavný most medzi usporiadaním front-endu a databázou projektu. V našej aplikácii chceme iba poslať „1“ v databáze, keď je prepínač zapnutý, a „0“ do databázy, keď je prepínač vypnutý. Ak chcete pridať kód do svojej aplikácie, vykonajte nasledujúce kroky

1. V ľavom rohu kliknite na aplikácia> Java> com.example.my applicationmyapplication> main_activity.

2. Teraz na túto obrazovku skopírujte nasledujúci kód zo svojej triedy.

automatizácia triedy: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Switch internal lateinit var btnSwitch1: Switch internal 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: Data1 .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(object: ValueEventListener {prepísať zábavu na Zrušená (p0: DatabaseError) {} prepísať zábavu na DataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton2. isChecked = true} else 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 (). equals ('1')) {toggleButton3.isChecked = true} else toggleButton3.isChecked = false}})} else {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Prihlásiť sa. d ('ahsan