The goal of the interactive game application is to bring a new approach to home automation applications, using the home as a partner able to interact and play with its occupants.
Like science fiction movies, a home can be filled with emotions and create complicity with the user through the game.
GoalsThe main goal is to part with the cold and safe approach often characteristic of home automation, to bring a more playful and fun side to the connected home.
In order to solve this problem, the interface offers entertaining contents, intended for all inhabitants of a home: children, adults, couples, elderly people...
The application allows to promote social relations by allowing for example the organization of evenings games or themes in the home, to offer educational games fun for children, to distract / occupy a single person, or spice up the erotic life of couples through romantic games.
Technical aspectsThe aim of the solution is to use as many sensors and actuators / transmitters as possible to make the application as interactive as possible.
It is therefore necessary in the first place for the user to inform the components it has (connected shutters, lamps, microphones, camera...) via a voice wizard, in order to initialize the system.
Once the system is recognized, some games will be offered or not.
These can be very varied types (educational games for children, blind test, quizzes like "Time's up", Sherlock Holmes 3D, erotic games for adults, escape games with Philips Hue, trivial pursuit, you heat you burn, hangman, recognize animal sounds, walkie talkie...) and use at least one Base Kit and one or more Satellite Kits.
To make the interface more "friendly" it is possible to imagine a simple coded language using home automation, we can be inspired by science fiction such as the house of the series "Stranger Things" using a play of lights to transmit messages / emotions. Or, still the famous HAL9000 in Stanley Kubrick’s movie.
The presence of a screen on the Base Kit seems a good complement to voice recognition. An avatar such as "Bigdil" from the french TV show can be an interesting development especially for children.
The solution remains flexible and scalable but is a good angle of approach for the development of an IoT application.
RealizationThe updated version of our project is on this GitHub repository:
https://github.com/homiebox/homiebox.git
We will continue to work on it on next weeks.
We already started a draft of an "Hangman" game, based on the Psychokiller1888's project "Kitchen assistant":
https://github.com/Psychokiller1888/MyChef
To install you have to install following dependencies:
sudo pip install spidevsudo pip install paho-mqtt
You can find the actual assistant here :
https://console.snips.ai/store/fr/skill_XaVb1lvANGD
It can be installed by sam or manually.
Each game can be written in JSon in /var/lib/snips/skills/homiebox/games/ and slots have to be create in the intent "Ouvrejeu" in snips console.
The homiebox skill already permit to recognized and parse games in order to add new ones.
The actions have to be written in the main.py and this part is currently not really functional.
Installation of the camera on your raspberry PITo install the camera and prepare it for the different games and applications, you have to follow the different steps bellow.
Step 1: Plug your camera
If you have the same camera as us, connect it to your raspberry as shown in the pictures below.
Step 2: installation of Motion
Motion is a software used to make CCTV, but we will just use it here for our applications.
On the terminal of the raspberry we will upgrade the PI to be sure to make it functional. Write down:
After the upgrade, we will install Motion by doing the command :
Now that Motion is installed, we have to edit the global configuration system by writing in the terminal:
Start the edition by doing ctrl+o.
We start by putting “on” on the deamon.
After we change the resolution of the picture/video and the framerate. We put width 720 height 480 and frame rate 30.
Check that “output_pictures” is “off”
Check that “ffmpeg_output_movies” is also “off”
On the “stream_port” put 8081 , “stream_quality” 100 and “stream_maxrate” 30.
On the “stream_localhost” put “off”
Save your file by doing ctrl+o and leave the editor with ctrl+x
Then write these two lines in the console command
To finish the configuration, reboot the raspberry with the command:
And that’s it ! Your camera is ready to be used.
Hardware and evolutionIn this project we used a costumed snips voice interaction base kit to test our snips assistant, composed by a Rpi 3B+, a respeaker 2 mic, and an additional pi camera and electret microphone.
We set up a motion capture camera in order to develop a "Grandmother's footsteps" game (french: 1 2 3 Soleil) and a visio babymoov. This application stored captures in a specific repository, and was display on the raspberry pi 7" touchscreen.
We also set up an 4 array respeaker usb microphone in order to record far field sounds. It can be useful in big installations.
It can be used to detect the localization of people in a room, in a game where people are blindfolded for example.
What is more, we try to deal with Phillips Hue Smart Lights. The aim was to bind snips intents like HERMES_HOTWORD or HERMES_CAPTURED in our main action script to change the color of lights with user's answers.
This lights can be also very useful to create games based on scenarios. At the origin of the project we was thinking about a derivative game based on this:
ConclusionThis project was very ambitious for us, and we will keep on working on it. We were happy to learn python, javascript and json, and hope to continue developping !
Much more can be achieved, and we strongly believe that if people keep working on this kind of platform, it will make a big difference in home automation.
Comments