====== Projets Objets Connectés et Services (OCS) ====== ==== Unforgettable box ==== ==== MAIN INFORMATIONS about the Project ==== At the beggining, we were about to develop a box storage for school books to help students remember which one they need to bring with them every day. A picture is worth a thousand words : {{http://users.polytech.unice.fr/~salle/ocs.gif?600}} However atfer we had spoken with our teacher, we thought that we could improve our idea to expand the box storage for school books to a box strorage for “every thing we don’t want to forget”. That is to say we are going to create a box which is able to store objects in compartments, and switches a LED if we need it or not in the day, depending on the request' hour. === MEMBERS === === Name of the members of the Group === * Victor Sallé, IAM, salle@polytech.unice.fr * Loïc Seguin, IAM, seguin@polytech.unice.fr ==== Scenarios of the Project ==== __Scenario 1__ Alice doesn't see anything behind the wheel when there is sunshine. Alice is an airhead and she often forget many things of everyday life. The fact is that today the weather is great and Alice is preparing to go to the beach. Alice is about to leave her house when she takes a look at its storage box, that notifies her by a green LED that glasses should be taken. Alice takes the sunglasses out of the compartment and the keys in another compartment. Then, she leave her home without fear. __Scenario 2__ Bob, a 12-year-old has just made his back-to-school. He has just received his school books and places each of them in a dedicated compartment of his Unforgettable Box. Bob wakes up at 8:30am instead of 8am and is therefore very late. He takes his shower, eats and dresses at full speed. He takes his bag and takes a look on the green LEDs storage boxes to fill his bag with the books that he needs today without worrying about the titles of books. The teacher will not be able to find any excuse to punish Bob. ==== Connected Object Description ==== == Sketch of the object == Sketchup file : http://users.polytech.unice.fr/~salle/ocs/unforgettable-box.skp {{http://users.polytech.unice.fr/~salle/ocs/unforgettable-box.png?600}} == 3D - CAD description of the object == Then we received an modelisation like that : {{http://users.polytech.unice.fr/~salle/ocs/ocs1.png?400}} {{http://users.polytech.unice.fr/~salle/ocs/ocs2.png?600}} The difference between the specifications and the modelisation we got is huge! We accepted the offer modifying the height of the object and we told us that the hooks weren't good for the sensor captors. We also removed the placing for the bag. == Real image of the object == {{http://users.polytech.unice.fr/~salle/ocs/img2.jpeg?600}} ==== Hardware Specifications and Distribution of the connected Object ==== == Hardware specifications == Materially speaking, our object will manage some LEDs (to alert the user) and some thin force sensors (in order to decide whether or not the object is present). We decide to build a 5-boxes object, so we need 5 LEDs and 5 thin force sensors. The software will run on a Phidget interface and we need a WiFi adapter to reach the local network in order to expose methods through UPnP protocol. == Array of the purchases == | Type | reseller | Reference | Quantity | unit price | link on the Web page of the product | Total price | | Interface 8/8/8 + hub SBC1073 | GoTronic | 25445 | 1 | 143,50€ | http://www.gotronic.fr/art-interface-8-8-8-hub-sbc1073-19807.htm | 143,50€ | | Adaptateur WiFi 3703_0 pour SBC1073 | GoTronic | 25435 | 1 | 34,90€ | http://www.gotronic.fr/art-adaptateur-wifi-3703-0-pour-sbc1073-12055.htm | 34,90€ | | Capteur de force + adaptateur 1131 | GoTronic | 25539 | 5 | 14,30€ | http://www.gotronic.fr/art-capteur-de-force-adaptateur-1131-12151.htm | 71,50€ | | Led 5 mm verte L53GT | GoTronic | 3037 | 5 | 0,15€ | http://www.gotronic.fr/art-led-5-mm-verte-l53gt-2075.htm | 0,75€ | | Interrupteur DS12A | GoTronic | 7390 | 1 | 0,95€ | http://www.gotronic.fr/art-interrupteur-ds12a-4432.htm | 0,95€ | | **TOTAL** |||||| **251,60€** | == Excel File of the purchases == http://users.polytech.unice.fr/~salle/ocs/purchases.xlsx ==== Software Specifications and Distribution of the connected Object ==== == Software Specifications of the connected Object == ** Web Service for Device Specifications ** The web service embedded in the device is pretty simple. It just exposes three methods, reachable through UPnP protocol : * turning on/off some LEDs using their unique ID; * retrieve the LEDs' state (on/off); * retrieve the thin force on each thin force sensor. This may seems too simple, and it does. Actually, we need the embedded software to be as simple as possible. In this way, we will be able to improve the object later without modifying the object itself. == Software Distribution of the connected Object == ** Embedded Software in the connected object ** __How to embed__ Read the following instructions if you want to embed this project in your own Phidget: - download the binary archive; - process the following instructions: http://stephane.lavirotte.com/teach/cours/oc/TD%20WComp%20et%20Phidget%20107x.pdf __Binary code__ Download link: http://users.polytech.unice.fr/~salle/ocs/EmbeddedAppBin.zip __Source code__ Download link: http://users.polytech.unice.fr/~salle/ocs/EmbeddedApp.zip This archive contains: * the container itself (//unforgettablebox.wcc//); * the auto-generated container C# code (//Container1.cs//); * source code of our beans: * //IfContainsStringThenElse.cs//: check if a string contains a given element and throw and event as the result; * //LedValuesConcatenator.cs//: retrieve the LEDs' state (WARNING: do not reuse, hardcoded values specifics to this project); * //ThinForceValuesConcatenator.cs//: retrieve the thin force on a given thin force sensor and get the result in JSON format. * //GetThinForceSensorValue.cs//: retrieve the thin force on a given thin force sensor (used in a former version). ** Mobile Phone Software ** The app we made runs under Android 4.4 KitKat and uses Cling Android client library for UPnP communications. __Binary code__ Download link: http://users.polytech.unice.fr/~salle/ocs/unforgettable-box-android.zip __Source code__ Download link: http://users.polytech.unice.fr/~salle/ocs/unforgettable-box.apk ==== Software Specifications and Distribution of the high level service for the user ==== Our orchestrator is located in the cloud. It owns a database that maps hours with objects the user wants to "don't forget". The orchestrator combines our data with the ones provided by webservices like weather webservice. For example, the user can map "10am" with "keys and water bottle". If the weather is good, then the orchestrator will return "keys, water bottle and sunglasses"; if not, it returns "keys and water bottle". We decided to put the orchestrator in the cloud for one reason: we are able to improve it without requesting any update for the user. In this way, we can tomorrow decide to add an agenda webservice, and the user will benefit immediatly. == Software Specifications of the High Level Service for the user == We can imagine multiple improvements using existing webservices: * Weather webservice: turn on the LED that stands for sunglasses or umbrella depending on the weather; * Agenda webservice: map events with objects and automatically turn on LEDs without having to create "schedules" in our database; * SMS webservice: a mother will be able to say his son "don't forget your keys today". == Software Distribution of the High Level Service for the user == The orchestrator code (PHP) is available here: http://users.polytech.unice.fr/~salle/ocs/unforgettable_webservice.zip {{http://users.polytech.unice.fr/~salle/ocs/archi.png?600}} ==== VIDEO PICTURES and SCREENSHOTS ==== == PICTURES of the object looking like a finished one == {{http://users.polytech.unice.fr/~salle/ocs/img1.jpeg?600}} {{http://users.polytech.unice.fr/~salle/ocs/img3.jpeg?600}} {{http://users.polytech.unice.fr/~salle/ocs/img4.jpeg?600}} == SCREENSHOTS of sofware applications and developments == {{http://users.polytech.unice.fr/~salle/ocs/Embedded.png?600}} {{http://users.polytech.unice.fr/~salle/ocs/screenapp.png?300}}