Ceci est une ancienne révision du document !
Project Presentation
Name : Connected Aquarium
Group Composition :
- Hong Jin hong.jin@etu.unice.fr
- Nizar Boussarsar nizar.boussarsar@etu.unice.fr
- Raed Chammam raed.chammam@etu.unice.fr
Scenario :
- The user configures the aquarium via a web interface and sets the coordinates of the location that they want to simulate.
- The aquarium fetches temperature and light data from different web-services and adjusts the local ecosystem accordingly.
- When a user scans a fish's package RFID tag with the aquarium reader, the aquarium fetches different environmental data about the fish and informs the user about its compatibility with the local ecosystem.
Object Shape :
Name of the contact at Reims :
Stephane Perrone sperrone06@gmail.com
Sketch of the Object from Reims :
Picture of the Object :
- Raspberry Pi 2 & Grove Pi+
- Servo Moter
- Dimmable LED Driver
- LEDs
- Grove Relay
- Water Heater
- Water thermomter
- RFID Reader
Demonstration Videos (FR) :
Screen-cast videos:
Hardware specifications :
Hardware List :
Name | links to datasheet or technical document | Availability |
Raspberry Pi | http://goo.gl/82d3w9 | OK |
GrovePi+ Board | http://www.dexterindustries.com/shop/grovepi-board/ | OK |
Temperature Sensor - Waterproof | CookingHacks | OK |
Heater 100W | Cooking-Hacks | OK |
RFID Reader | SeedStudio | OK |
(LED + Drivers) | - | OK |
ServoMotor | - | OK |
Specifications and interface of the service on the object
The different pieces of data we are going to utilize in our project are:
- Water temperature
- Sun/Moon brightness
This data will be fetched from different web-services according to the environment the aquarium is simulating. We also implemented a service that would allow the override of these values using an UPnP Service.
Specifications of the interface of high added value service
Note : (including a figure on the orchestration between services on objects and information systems)
Project Files:
3D Model
Illustrative model file.
Panel and API (Node.js)
Source code (to be deployed on remote server): aqua-server. For our demo we have used Heroku as a hosting/deployment server. But any SailsJS compatible environment would work.
Python scripts on the embedded object
These scripts are executed either on startup or via a cron task : aqua-scripts
- The scripts under the directory `startups` are executed on every startup of the device.
- The scripts under the directory `crons` are executed on regular intervals.
The source code of the UPnP device
UPnP Aquarium This is a VisualStudio project, just open and build it to get the .exe and .DLL files.
. wcc of the container on the computer:
The picture below is a simple use-case scenario where we interact the Aquarium with a virtual UPnP enabled lamp.
Chesklist to install the embedded service on the object
- Install mono-complete package
- Install Python module (requests,logging)
- Set-up the startup and repetitive tasks (inittab & cron)
- Reboot the device
Chesklist to install the remote service/application on the PC
- Have Node.js, PostgreSQL and SailsJS installed.
- Open the directory.
- Run command “npm install”
- Run command “sails lift”
- Check localhsot:1337
Results of the relations with Reims (being factual without personal opinion)
- We have received the promised LED and its Driver as promised (with a bit of delay).
- We did not receive the aquarium.
Prospects :
Possible extensions of the object
Add a number of sensors/actuators such as a light-sensor, a cooling-fan, water-changer..
Possible extension of the service o the Object
- Local web-server.
- Local UPnP activation/deactivation.
Possible extension of the high added value Service
- UPnP devices authorization instead/(besides) remote activation/deactivation.