This project aims to improve your home experience. It targets anyone who wishes to personalize indefinitely a room of his house. It can allow you to escape from stressful environments to peaceful ones. Multiple modes are pre-configured in goal to facilitate the hand taking.
Developing tools- Fritzing for Arduino connecting schematics
- DolphinView Basic 3.5.1.0
Here are some stories for a better understanding of the project use cases:
Story 1
- Actors: Common user
- Tools: smartphone, NFC tag, web application, openHab, Arduino, lights, misters, speakers
In this case, the user has several NFC tags that represent each pre-configured mode. When he enters in the room he only has to bump his smartphone to the NFC tag that corresponds to the desired mode.
Story 2
- Actors: Common user
- Tools: Windows Phone, Windows Azure, openHab, Rasperry Pi 2, Arduino, lights, misters, speakers
In this case, the user must have a Windows phone in order to use Cortana's voice recognition. Thanks to an app developed with Visual Studio, Cortana is extended with different voice commands. For instance "Computer, I am tired", automatically switches off the lights and plays a peaceful music to help the user fall asleep.
Story 3
- Actors: Common user
- Tools: smartphone, NFC tag, openHab, Arduino, lights, speakers
When the user enters the room and bumps his smartphone with the "NFC-stream" tag on the wall, his phone music streams out to the room speakers. The light adapts to the music rhythm for total immersion.
Global ArchitectureFrom the sequential diagrams the OpenHab - components communication is abstract for simplification reasons. OpenHab turns on a Windows 10 virtual machine on Azure platform. This choice comes from the fact that Windows IoT does not support Java.
As described below, the Raspberry Pi centralizes all the room components: lights, speakers, sensors, misters. It relays OpenHab server commands and retrieves sensors' metrics. The communication is assured by an MQTT broker which is a middleware messaging protocol (a.k.a. publish/subscribe protocol).
OpenHab integrates multiple functionalities and bindings with several components, which I have to say accelerates the development. For instance, HabDroid (an Android application for controlling attached components) already integrates a way for associating an NFC tag to a specific story that introduces multiple components. That allows us to easily trigger the convenient mode.
OpenHab is very flexible on the communication way to the components. It can easily adapt itself from a USB, serial communication to an MQTT publish/subscribe protocol. In our case, this is very useful since OpenHab turns on a distant server.
Common Lamp ControllingIn order to get through the incompatibility boundary of some components, I chose to use an Arduino UNO that assures the communication through a radio transmitter (433,92MHz) plugged into the Arduino PWM pins.
This transmitter allows us to control smart receivers lamp holders for the luminosity controlling.
Comments