Ceci est une ancienne révision du document !
Floating speaker
Name of the members of the Group 2 (Group 5 on adhoc)
- COLINET
- Joël
- SI5/IAM (Apprenticeship)
- jcolinet@polytech.unice.fr
- ZANOTTI
- Guillaume
- SI5/IAM (Apprenticeship)
- zanotti@polytech.unice.fr
Scenario of the Project
The user is around/in his pool, the floating speaker is also in it and it allows to relay phone notifications (calls or sms).
The object we want to build
The float has the shape of a cylinder with a speaker at each end. A weight (the battery) is present inside the cylinder in order to prevent to roll on the water. Besides, another part will help the cylinder to not roll and not sink (as you can see on the first picture below). This part will also help in order to maintain speakers properly outside the water. On the emerged part of the cylinder, a switch and a light ring are also present.
The service we want to bring to the user
The floating speaker allows the user to be alerted to incoming notifications received on his phone (call or sms). The speaker transmits, for instance, the following message: “An incoming call is detected.” or “A sms has been received.” In a second version, it might be possible to know the sender, thus messages would be: “An incoming call from XXX is detected.” or “A sms from XXX has been received.”. About the light ring, it is mainly used to know the float current battery level and secondarily to embellish the pool. It might blink when incoming notifications are detected.
Example of use case
Joel is swimming in his pool and does not have his phone beside him (he left it in his house). Guillaume sends him an urgent sms to ask him a question about the OCS project deadline. The float blinks and emits a sound indicating “A sms from Guillaume has been received.”. Joel then exits the pool, gets back his phone that he had left in his house, then he answers back to Guillaume.
Connected Object Description
Sketch of the object
The first picture is the complete sketch of the float. The central cylinder is removable from the rest of the float. It is in it that we will put all the hardware.
The last three pictures describe the central cylinder with specific dimensions and the specific position of all components. The central cylinder is divided in three parts : a central part and two ends containing speakers. So, the float is composed of four parts : the central cylinder (in three parts) and the other part that you can see on the first picture.
3D - CAD description of the object
Real image of the object
We are still waiting the picture from Reims students.
Hardware Specifications and Distribution of the connected Object
Hardware specifications
We have no specific sensors on our object.
Array of the purchases
Excel File of the purchases
Here is the excel file.
Software Specifications and Distribution of the connected Object
Software Specifications of the connected Object
Web Service for Device Specifications
Our connected object exposes 4 services :
- play sound with url in parameter
- stop the current sound
- turn light with boolean parameter for on/off
- blink the light with parameter for number of blink and duration between them (between on/off)
The minimal logic is embedded in the object. It just provides access to its hardware (light and speakers in our case).
Initially, the blink method was made from the orchestrator (with turn light on/off method), but we met some latency problem that forced us to add this method to our object. To keep the object the least intelligent as possible, we pass the number of blink and the duration between them in parameter (with default values set at 6 blinks and 1 second between them).
Application Protocol over Bluetooth link of the object
We have no bluetooth interface for local area communications between the object and a smartphone.
Web Service for Mobile Phone
The mobile application that we developped fires 2 events :
- incoming call
- incoming sms
The minimal logic is also embedded in the mobile phone application. We have added to the phone application the possibility to stop the sending of events.
We met some problems with the latest version of Cling and his dependencies, so we have used an older version of this library (v1.0.3).
Software Distribution of the connected Object
- Embedded Software in the connected object containing:
- All the instructions on what must be installed before deployment of the developed software
- Binary distribution of the developed software for the object and how to install
- Sources distribution of the developed software and how to build the binary distribution
- Mobile Phone Software (Android Nexus 5 - Android KitKat 4.4) containing:
- All the instructions on what must be installed before deployment of the developed software
- Binary distribution of the developed software for the phone and how to install
- Sources distribution of the developed software and how to build the binary distribution
Software Specifications and Distribution of the high level service for the user
Our connected object alert the user which is around/in his pool about phone notifications (calls or sms notifications).
Our connected object is only a part of the orchestration. Indeed, our orchestration is composed by our connected object (which provides access to his hardware ⇒ control speaker and light) and our mobile application (which fires events for call/sms notifications).
So, all the intelligence of our object is in the orchestration part.
Software Specifications of the High Level Service for the user
Description
The orchestration listens events from mobile phone and builds the Google Text to Speech url with contact name or phone number and calls adequate methods of the connected object. We have met some problems if the same people sent several sms (or phone), the sender didn't change and the event wasn't fired. So we add an automatic reset on the sender to solve this problem.
Web Services used to design new High Level functionalities for the user
We simply use the Google Text To Speech web service. To use it, you just have to concatenate your text to the following url: http://translate.google.com/translate_tts?tl=fr&q=VOTRE%20TEXTE and respect ascii code. For instance, a space will be written %20.
Software Distribution of the High Level Service for the user
- Orchestration containing:
- All the instructions on what must be installed before deployment of the developed software
- Binary distribution of the developed software for the object and how to install
- Sources distribution of the developed software and how to build the binary distribution
VIDEO PICTURES and SCREENSHOTS
Here put all that can illustrate the results of your project with ..
VIDEO for demonstrations
PICTURES of the object looking like a finished one
SCREENSHOTS of sofware applications and developments