Skip to content

Sensor-based application utilizing DHT22 temperature-humidity sensor

License

Notifications You must be signed in to change notification settings

giaongo/HomeWeather

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HomeWeather

HomeWeather is an android mobile sensor-based application utilizing DHT22 temperature-humidity sensor. This is a project developed under Metropolia University of Applied Sciences. For further information, please see below or contact one of the developers.

Table of Contents

Getting Started

Prerequisites

  • Android Studio installed on your machine
  • Android device or emulator for testing
  • Enable Bluetooth mock sensor data by going to BluetoothLEService class -> go down to companion object class at the end of the page -> set ENABLE_MOCK = true -> Now you will have sensor data that is mockly generated every 10 seconds. You can view the change of sensor data in HomeScreen

OR

Installation

  1. Clone the repository to your local machine using git clone.
  2. Open the project in Android Studio.
  3. Create an assets folder in main, create an env file inside assets folder
  4. Contact a developer for env content
  5. Build and run the project on your Android device or emulator.

OR

  • Install this APK File to your android phone

Usage

HomeWeather is recommended to be used as a stationary device at your home, office or room.

Features

HomeWeather allows users to:

  • Measure humidity level and temperature inside a room with an external bluetooth sensor
  • Compare the humidity levels and temperatures inside your room with your living area with GPS internal sensor and data fetched from the OpenWeather API.
  • Allow users to see humidity level and temperature statistic over a certain period.
  • Voice alert + emergency call to users when inside humidity level or temperature drops too low or rises too high and allow user to add additional info on every alert log.
  • Allow users to scan QR code to view our github page and download the app apk
  • Application is available in English and Finnish

Components

  • Jetpack Compose
  • Firebase Firestore
  • Material Design 3
  • Bluetooth Connection
  • Foreground Service
  • Animation
  • QR generator
  • External Arduino board with DHT22 sensor
  • Open Weather API
  • Voice Alert
  • TexttoSpeech API
  • GPS lat & long
  • SharedPreference
  • Emergency call
  • Env file to prevent sensitive data exposure

Application flow

  • Bluetooth Service is running persistently on background even when application is closed
  • Indoor temperature and humidity level are uploaded to Firebase cloud in background every hour
  • Outdoor temperature and humidity level are fetched and updated hourly

Technology

  • Android Kotlin
  • C/C++

Contributing

Contributions are welcome! Here's how you can contribute to the project:

  1. Fork the repository on GitHub.
  2. Clone the forked repository to your local machine.
  3. Make changes and commit them with descriptive commit messages.
  4. Push your changes to your fork on GitHub.
  5. Submit a pull request to the original repository explaining your changes.

Video Demo

Click the video to watch

Thumbnails

About

Sensor-based application utilizing DHT22 temperature-humidity sensor

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •