Smart Objects and Services
Project Presentation
Name
Group Composition
Enshuo ZOU et Thai Ha NGUYEN
Scenario :
When the lamp SmartLight detects the change of light or the presence of the user, it sends raw data to the remote PC services.
When the Remote PC Service received data, it turns into states: bright or not bright, present or not, and transform these states as Json forma to send to the second remote PC services.
The 2nd Remote PC Service receive the Json. It stores the Json into a local file, and user can check it. In addition the service uploads this file on internet, into the doctor's dropbox. Then the doctor can treating a patient remotely.
Object Shape :
Sketch of the Object from Reims :
Picture of the Object without instruments and electronics :
Picture of the Object with instruments and electronics outside on the same table (put some circles and arrows on the picture to show where you're going to integrate all of these) :
Picture of the finished Object (all is integrated):
Demonstration Video :
Hardware specifications :
List :
Specifications and interface of the service on the object
There are two services on the object:
One service is to capture the raw datas from the distance sensor and tranform the datas to real distance whose unit is cm.
The other service is the value from light sensor, which presents the level of brightness. These two services are sent with a specified frequency via upnp (to avoid the problem of overrun on the embedded card phidget).
Specifications of the interface of high added value service
There are two high added value services for our project:
Save the treated data in a local file to persist data. All these data are in form of json. So that the user can follow his behaviors.
Upload the data file to a dropbox. This is useful when a doctor need to monitor remotely his patient and intervene when there is a need.
To realize there services, we created a intermediate layer to receive the data sent from the object, and treat these data to get the different states. With the distance data, we can get the states like: the user is present or not. For the brightness data, the states are: bright and not bright. Then we mix the two types of states to get a mixed state, and this is the data that we need to send to the layer of high added value service.
Note : (including a figure on the orchestration between services on objects and information systems)
Project Files:
. wcc of the two containers (embedded and on the remote PC) :
Beans added for the embedded container (for the service on the object) ** (DLL and Source code for each of them)
Beans added for the remote PC container (for the high added value service on the PC) ** (DLL and Source code for each of them)
Chesklist to install the embedded service on the object
Copy SmartLight.wcc, ConvertToDistance.dll and NoiseFilter.dll on the phidget
When the SmartLight device is turned on, the embedded service will be started automatically, by modify the script /etc/rc.local (to add mono Container.exe –r ../Beans –l smartLight2.wcc –n SmartLight)
(N.B. As there is a bug from Wcomp for our embedded service, this step is not necessary for us.)
Chesklist to install the remote service/application on the PC
Copy the CheckBrillantState.dll, CheckPresentState.dll and StateController.dll into the directory Beans of SharpDevlop
Open Device Spy and copy the functional
URL of the object
Open SharpDevelop and create a new container, then import service.wcc
Modify the component smartLight_Functional_01's uri with the copied with one (should become green now)
Bind this container to UPnP
create another container and import BD.wcc
Modify the component sl_services_functional_11's uri with the functional uri of the last container.
Results of the relations with Reims (being factual without personal opinion)
The collaboration with Reims learned us:
How to make the nearly commercial product
How to deal the prototype (we had written a specification file to describe our project)
To communicate (we discuss on the web site of adhoc frequently to make the decisions and to talk about the changes for the project)
In result, the prototype was made as commended, except that there are two small remarks:
Prospects :
Possible extensions of the object
Possible extension of the service on the Object
Possible extension of the high added value Service
Mixer weather information with states to provide data more relevant.
Combine Calendar service with actuators on objects to advertise user events in the Calendar.
Combine user's personal calendar with the treated data to get a mixed calendar.
Possible GUI for data visualization