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.
- 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.
- 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).
- 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.
- 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.
- Heater:
Accendi la stufa
orFa freddo
→ Turns on the heater.Spegni la stufa
orFa caldo
→ Turns off the heater.
- Fan:
Accendi il ventilatore
→ Turns on the fan.Spegni il ventilatore
→ Turns off the fan.
- Temperature:
Quanti gradi ci sono
→ Reads and announces the current temperature. - Gas Detection: Provides warnings if hazardous gas levels are detected.
Ciao
→ Responds with "Ciao anche a te".Come ti chiami
→ Responds with "Mi chiamo Lara".
-
Speech Recognition:
- Utilizes the
SpeechRecognizer
API for free-form voice command recognition. - Listens for specific phrases mapped to corresponding actions.
- Utilizes the
-
Text-to-Speech:
- Implements
TextToSpeech
to provide auditory feedback. - Configured for Italian language responses.
- Implements
-
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.
-
Gas Detection:
- Uses a periodic handler to monitor incoming gas levels via the Arduino and alerts the user.
-
Setup Arduino:
- Connect the Bluetooth module to the Arduino.
- Program the Arduino to handle commands such as
cameraOn
orstufaOff
.
-
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.
-
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.
- 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
- Android device with Bluetooth capability
- Android Studio for building the app
- Arduino IDE for programming the microcontroller
- 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