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 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 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.
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.
Find here the whole document (specification) we give to Reims students.
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.
We are still waiting the picture from Reims students.
We have no specific sensors on our object.
Here is the excel file.
Our connected object exposes 4 services :
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).
About the parameter of blink method the format to respect is the following : <NUMBER-OF-BLINKS>;<DURATION-BETWEEN-IN-MS>. For example, “6;1000” corresponds to 6 blinks, each separated by 1 second.
We have no bluetooth interface for local area communications between the object and a smartphone.
The mobile application that we developped fires 2 events :
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).
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.
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.
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.