wiki:OpenSmartFlow

Open Smart Flow

Project Details

Purpose of this project

This project consists in the development of a service that will allow the user to analyze the water flow of his habitation through Internet.

Project Description

Open Smart Flow is a project that will allow us to do some research in the subject of Internet of Things. To do so two Raspberry Pi and two water sensors will be used.

The water sensors are going to be connected to a flow of water in order to simulate the flow that comes out of the taps that exist in each and every house. Each Raspberry Pi will receive the information that come out of one of the sensors and send it through internet to a Web Server that will analyse and store that information in a Database. At the same time, the Web Server will be responsible to show the flows of water in real time to the user.

The user will be able to create warnings to be sent to him via e-mail when the water flow coming from one or both taps has a certain value.

Project Source Code

Source Code

Road-map

Documentation

Phase 1 - Research and Planning [July 15 to July 24]

  • Tutor meeting and goals definition;
  • Project planning;
  • Creation of the project wiki page;
  • Research on the project technologies;
  • Initial Presentation;
  • First approach using the researched technologies.

Phase 2 - Assembling the sensor components, MQTT Server and initial User Interface [July 27 to August 7]

  • Assembling the sensors connected to the Raspberry Pi's;
  • Developing the code to handle the sensors;
  • Implementation of the MQTT Server;
  • Initial implementation of the User Interface for the real time values.

Phase 3 - Initial backend implementation [August 10 to August 26]

  • Creating the MySQL Tables;
  • Developing initial NodeJS backend services;
  • Assembling real water flow piping;

Phase 4 - Finishing Frontend and backend implementation [August 26 to September 4]

  • Finishing NodeJS webservices implementation.
  • Finishing User interface implementation.

Phase 5 - Tests and Documentation [September 7 to September 16]

  • Functionality tests;
  • Code documentation;
  • Final Presentation.

Weekly Reports

Week 1 - July 15 to July 17

  • Meeting with the tutor to understand what is the goal of this project;
  • Research in the matters of the project;
  • Learning Python using Codecademy.

Week 2 - July 20 to July 24

  • Preparing the inital presentation;
  • Small meeting with the tutor to decide which are the technologies that are going to be used;
  • Writing the wiki of the project;
  • Preparing one Raspberry Pi to be used (OS, Peripherals);
  • First approach with Pi4j and the Java Code to handle the GPIO pins;

Week 3 - July 27 to July 31

  • Initial development of the User Interface;
  • Test of the MQTT Server and if the User Interface is receiving the information from the Java program, instead of the Raspberry Pi;
  • Initial tests of the sensor;

Week 4 - August 3 to August 7

  • Finish the tests of the sensor assuring that is working properly;
  • Test of the communication between the Raspberry Pi and the Server to check if it's passing the right values from the sensor;
  • Initial development of the communication between NodeJS and the MySQL database;

Week 5 - August 10 to August 14

  • Development of the communication between NodeJS and the MySQL database;
  • Development of the node module that will be used to send notification e-mails;
  • Development of a provisional layout for the project website using Uxpin;

Week 6 - August 17 to August 21

  • Finish the development of the webservices;
  • Initial development of the User Interface regarding the history of the flow readings;
  • Development of the User Interface regarding the flow reading;

Week 7 - August 24 to August 28

  • Finish the development of the User Interface of the main page;
  • Initial development of the web page that's going to be used for administration subjects;
  • Initial development of the web page that's going to be used to check the history of water flows;

Week 8 - August 31 to September 4

  • Development of the User Interface of the main page;
  • Development of the web page that's going to be used for administration subjects;
  • Development of the web page that's going to be used to check the history of water flows;
  • Small meeting with Flávio to define the priorities of the last week of work;

Week 9 - September 7 to September 11

  • Finish the development of the web page that's going to be used for administration subjects;
  • Finish the development of the web page that's going to be used to check the history of water flows;
  • Finish the development of the User Interface of the main page;

Week 10 - September 14 to September 18

  • Final tests of the system;
  • Preparing the final presentation;

Trainee details

Trainee Name

João Miguel Santos

Past Experience


Current Situation

I'm undergoing a BSc in Computer Science and Management at ISCTE-IUL.

Motivation for the Project

  • Earn experience inside a company that is known in the area of Computer Science;
  • Improvement of my programming skills;
  • Understand what are the demands of the job market.

Mentor

Flávio Moringa

Last modified 3 years ago Last modified on Sep 18, 2015, 3:27:24 PM