Как сделать Android-приложение для вашей умной домашней системы на Android Studio?

Эта статья - вторая часть другой статьи Как сделать автоматизацию умного дома с помощью модуля ESP32? в котором был предоставлен способ создания системы умного дома. В этой статье мы собираемся продемонстрировать пошаговую процедуру разработки приложения для Android и подключения его к базе данных firebase. Затем это мобильное приложение будет использоваться для включения электроприборов в доме.



Разработка приложений для Android

Системы умного дома, которые уже доступны на рынке, очень дороги. Если у вас есть необходимые компоненты и устройство Android, вы можете создать дома систему домашней автоматизации, которая будет столь же эффективна, но будет стоить очень дешево. Прочтите эти две статьи, чтобы создать свою собственную систему домашней автоматизации дома.



Как разработать приложение для Android для домашней автоматизации?

Мы собираемся разработать приложение для Android, которое будет использоваться в качестве пульта дистанционного управления для управления бытовыми электроприборами, которые были подключены к модулю ESP32 в другой статье. перейти к другой статье, Кликните сюда .



Шаг 1. Требуется программное обеспечение

Поскольку мы собираемся разработать приложение для Android, нам понадобится всего одно программное обеспечение. Но чтобы запустить это программное обеспечение, нам нужно сначала установить другое программное обеспечение. Вы можете скачать их по следующим ссылкам.



  • Android Studio.
  • JAVA JDK.

Шаг 2: понимание основной работы

Мы собираемся создать приложение, которое будет иметь как интерфейсное, так и внутреннее кодирование. На главном экране он будет содержать несколько кнопок, которые будут управлять переключением электроприборов, подключенных к плате микроконтроллера ESP32. При внутреннем кодировании мы отправим «1», если переключатель включен, и «0», если переключатель выключен.

Мы собираемся создать базу данных Firebase. Эта база данных будет содержать 2 объекта с именами Light и AC. Индикатор будет содержать значение для включения освещения, а AC будет содержать значение для включения вентилятора. Затем это значение будет отправлено в микроконтроллер, а затем микроконтроллер отправит сигнал управления на модуль реле.

Шаг 3. Настройка Android Studio

Перед установкой Android Studio мы сначала установим JAVA JDK. Чтобы установить это, нажмите на Exe файл который вы загрузили по указанной выше ссылке, и нажимайте 'Далее', пока он не будет успешно установлен. Теперь выполните следующие шаги, чтобы ваша командная строка распознала java как внешнюю или внутреннюю команду.



  1. открыто Панель управления и нажмите на Система и безопасность .
  2. Нажмите на Система .

    Система

  3. Нажмите на Расширенная настройка системы а затем нажмите на Переменные среды .

    Расширенная настройка системы

  4. В разделе «Системная переменная» щелкните путь, а затем нажмите «Изменить». Новый Изменить переменную среды появится окно.

    Изменить путь

  5. Теперь перейдите к C: Program Files Java на вашем ПК. Откройте папку JDK, щелкните папку bin и скопируйте путь к этой папке.

    Путь к папке bin

  6. Теперь перейдите в поле Edit Environment Variable и нажмите New, чтобы создать новую переменную. Вставьте путь, который вы скопировали на предыдущем шаге, в новую переменную и сохраните его.
  7. Теперь, чтобы подтвердить, что он полностью установлен, откройте командную строку и введите java –version .

    Версия JAVA

Теперь, когда вы успешно установили Java JDK на свой компьютер. Давайте теперь установим Android Studio на ваш компьютер. Установить это программное обеспечение очень просто. Вам необходимо открыть загруженный файл и нажимать кнопку «Далее», пока ваше программное обеспечение не будет полностью установлено.

Шаг 4: Создание макета

Мы сделаем макет, который будет содержать несколько кнопок, которые будут отправлять команду 0 или 1 в базу данных firebase. Это будет простой макет, содержащий несколько кнопок. В моем приложении я просто включу две кнопки, которые будут управлять светом и вентилятором. Если вы хотите добавить больше кнопок для большего количества бытовой техники, скопируйте тот же кусок кода в основную программу и создайте новую переменную в базе данных. Не теряя времени, перейдем к этапам создания простого макета для нашего приложения.

1. Прежде всего перейдите в Файл> Создать> Новый проект. Появится меню. Выбрать Пустой проект.

2. Назовите проект и установите КОТЛИН как ваш язык программирования.

3. Теперь в левом углу нажмите на приложение> res> layout> activity_main.xml.

activity_main

4. Добавьте сюда следующий код под кодом, который уже есть в вашей студии Android. Делаем компоновку ограничений. Следующий код добавляет вверху заголовок «Автоматизация помещения». Затем добавляются 3 переключателя. один переключатель позволяет вам выбрать, хотите ли вы управлять бытовой техникой вручную или нет. Два других переключателя будут управлять вентилятором и освещением соответственно.

 

5. Макет вашего приложения будет выглядеть как на изображении ниже.

Макет

Шаг 5: внутреннее кодирование

Внутренний код - самая важная часть любого приложения. Это основной мост между интерфейсной версткой и базой данных проекта. В нашем приложении мы просто хотим отправить «1» в базу данных, когда переключатель включен, и «0» в базу данных, когда переключатель выключен. Выполните следующие шаги, чтобы добавить код в свое приложение.

1. В левом углу нажмите на приложение> java> com.example.my applicationmyapplication> main_activity.

2. Теперь на этом экране скопируйте следующий код в свой класс.

автоматизация класса: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: переключить внутреннее lateinit var btnSwitch1: переключить внутреннее lateinit var btnSwitch2: переключить переопределение fun onCreate (savedInstanceState: super Bundle?) { .onCreate (savedInstanceState) setContentView (R.layout.activity_automation) myRef.child ('Toggle / switch'). addValueEventListener (object: ValueEventListener {переопределить забаву onCancelled (p0: DatabaseErrorshot) {} переопределить развлечение onDataChange (p0) {Data .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('автоматизация /AC').addValueEventListener(object: ValueEventListener {переопределить удовольствие onCancelled (p0: DatabaseError) {} переопределить удовольствие onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton2. isChecked = true} иначе toggleButton2.isChecked = fals e}}) myRef.child ('automation / light'). addValueEventListener (object: ValueEventListener {переопределить развлечение onCancelled (p0: DatabaseError) {} переопределить развлечение 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} // Журнал. d ('ахсан