https://github.com/dooml/arduino-domotic-assistant
This project is a Smart Domotic Assistant that uses Arduino and a Bluetooth module to control a domotic house. As part of this project, the house was entirely 3D printed, and the Arduino connections were hand-wired. The application provides speech-based control of various home appliances using an Android application.
https://github.com/dooml/arduino-domotic-assistant
android android-studio arduino bluetooth-arduino
Last synced: 10 months ago
JSON representation
This project is a Smart Domotic Assistant that uses Arduino and a Bluetooth module to control a domotic house. As part of this project, the house was entirely 3D printed, and the Arduino connections were hand-wired. The application provides speech-based control of various home appliances using an Android application.
- Host: GitHub
- URL: https://github.com/dooml/arduino-domotic-assistant
- Owner: doomL
- Created: 2018-08-18T11:52:34.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-11-27T14:30:15.000Z (about 1 year ago)
- Last Synced: 2025-01-12T02:58:33.791Z (11 months ago)
- Topics: android, android-studio, arduino, bluetooth-arduino
- Language: Java
- Homepage:
- Size: 854 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LARA - Arduino Domotic Assistant
This project is a **Smart Domotic Assistant** that uses **Arduino** and a **Bluetooth module** to control a domotic house. As part of this project, the house was entirely **3D printed**, and the Arduino connections were **hand-wired**. The application provides speech-based control of various home appliances using an **Android application**.
---
## Features
- **Speech Control**: The assistant responds to spoken commands to control home appliances.
- **Bluetooth Communication**: Connects to an Arduino via Bluetooth for seamless operation.
- **Customizable Responses**: Predefined commands trigger specific actions and verbal acknowledgments.
- **3D Printed Model**: A miniature representation of a smart home for demonstration purposes.
- **Real-Time Feedback**: Provides real-time responses, including gas detection and temperature updates.
---
## Demonstration Images
### 3D Printed Smart House


### Android Application Interface

---
## Project Structure
### Android Application
- **Speech-to-Text**: Converts user speech into text to interpret commands.
- **Text-to-Speech**: Provides voice feedback based on system actions.
- **Bluetooth Communication**:
- Establishes a connection with the Arduino using the **Bluetooth MAC address**.
- Sends commands to control appliances.
- Receives data (e.g., temperature or gas levels).
### Arduino Setup
- **Bluetooth Module**: HC-05/HC-06 or compatible module for wireless communication.
- **Hand-Wired Connections**: Manual wiring to interface the Arduino with LEDs, fans, or other appliances.
- **Command Handling**: Receives predefined commands (e.g., `salottoOn`) and triggers the respective relays or modules.
---
## Commands Overview
### Lights
- **Kitchen**:
- `Accendi la luce in cucina` → Turns on the kitchen light.
- `Spegni la luce in cucina` → Turns off the kitchen light.
- **Living Room**:
- `Accendi la luce in salotto` → Turns on the living room light.
- `Spegni la luce in salotto` → Turns off the living room light.
### Heating and Cooling
- **Heater**:
- `Accendi la stufa` or `Fa freddo` → Turns on the heater.
- `Spegni la stufa` or `Fa caldo` → Turns off the heater.
- **Fan**:
- `Accendi il ventilatore` → Turns on the fan.
- `Spegni il ventilatore` → Turns off the fan.
### Sensors
- **Temperature**: `Quanti gradi ci sono` → Reads and announces the current temperature.
- **Gas Detection**: Provides warnings if hazardous gas levels are detected.
### Greetings
- `Ciao` → Responds with "Ciao anche a te".
- `Come ti chiami` → Responds with "Mi chiamo Lara".
---
## Technical Highlights
1. **Speech Recognition**:
- Utilizes the `SpeechRecognizer` API for free-form voice command recognition.
- Listens for specific phrases mapped to corresponding actions.
2. **Text-to-Speech**:
- Implements `TextToSpeech` to provide auditory feedback.
- Configured for **Italian language** responses.
3. **Bluetooth Communication**:
- Sets up a secure socket connection using the device's MAC address.
- Employs separate threads for sending and receiving data to avoid blocking the UI thread.
4. **Gas Detection**:
- Uses a periodic handler to monitor incoming gas levels via the Arduino and alerts the user.
---
## How to Use
1. **Setup Arduino**:
- Connect the Bluetooth module to the Arduino.
- Program the Arduino to handle commands such as `cameraOn` or `stufaOff`.
2. **Prepare the Android App**:
- Clone or download the project repository.
- Build and run the app on an Android device.
- Ensure Bluetooth is enabled and paired with the Arduino module.
3. **Control with Voice**:
- Open the app, press the microphone button, and issue commands.
- Example: Say *"Accendi la luce in salotto"* to turn on the living room light.
---
## Requirements
### Hardware
- **Arduino** (e.g., Uno, Mega)
- **Bluetooth Module** (e.g., HC-05)
- 3D printed house model with LEDs and relays
- Sensors for gas and temperature monitoring
### Software
- Android device with Bluetooth capability
- Android Studio for building the app
- Arduino IDE for programming the microcontroller
---
## Future Improvements
- **Expand Appliance Support**: Add more commands for other devices like curtains, locks, or sprinklers.
- **Language Options**: Support additional languages beyond Italian.
- **Wi-Fi Integration**: Extend connectivity using Wi-Fi for broader control.
- **Smartphone Feedback**: Display real-time sensor data on the app interface.
---
**Contributors**:
Project developed by [Doominator96](https://github.com/Doominator96)