PURPOSE AND SCOPE

PoliRoute is a system aiming to help people to find their destinations inside "Cittadella Politecnica". There are some "starting point" (i.e. some screens), located near the main entrances of Politecnico, in which the user can choose his destination. After selecting the destination, some LED panels, located in every crossing, will indicate the fastest way to reach it. If the user takes the wrong way, PoliRoute will recalculate the right path. The system is able to manage more than one user, assigning LEDs of different colors to each one. The user can obtain the indications to come back to the starting point only pressing a button.


GLOSSARY

Starting point: part of the system that consists of a screen where the user indicates the room he wants to reach.
Interface: application run at the starting point and on smartphones, which allows the user to tell the system his destination.
Room: classrooms, laboratories, secretaries and so on, i.e. all the internal spaces in the "Cittadella Politecnica".
Sleep mode: the bracelet stays on, but it uses low power.
Storage: list of the active paths.


ACTORS

  • Everyone who doesn't know how to reach a place in the "Cittadella Politecnica".
  • People not good with technology (e.g. smartphones, iPad), who can't search the wished destination.

REQUIREMENTS

Functional Requirements

1. Bracelet identification, End of the path

    1.1 Bracelet identification. The user must be able to be assigned to a specific bracelet, which will be used until the destination is reached.

    1.2 End of the path. When the destination is reached, the bracelet must become available for another user.

2. Assignment of the username, Assignment of the color, Web page

    2.1 Assignment of the username. When the user selects a destination, PoliRoute assigns to him a name (e.g. user35). The user can keep it, or change it to a custom one.

    2.2 Assignment of the color. After selecting the destination, a color is assigned to the user. In order to reach his destination, the user should follow the arrows lighted with his colour. Different users with the same destination have the same colour.

    2.3 Web Page. Whether the user wants to change his destination, in the middle of the path, he can press the button on the bracelet so he will be conducted to the starting point box. The he can select the new destination. PoliRoute recalculates the right path to the new destination.

3. The panels, Location of the panels, Interaction between bracelet and panels, Managment of a multitude of users

    3.1 The panels. The panels must be able to indicate the right direction, using bright arrows. The colour of the arrows is different in order to support more users.

    3.2 Location of the panels. In every place where the user have to make a decision about the direction to follow, there must be a panel.

    3.3 Interaction between bracelet and panels. The bracelet should be detected by the panel within a few meters from the panel itself. The arrow remains lit until the bracelet is no longer detected.

    3.4 Management of a multitude of users. If the panel detects more than one bracelet in his operating range, it must show every arrow sequentially, one arrow every couple of seconds.

4. Calculation of the path, Recalculation in case of mistake

    4.1 Calculation of the path. The path must be calculated to be the as short as possible.

    4.2 Recalculation in case of mistake. When the user misses an indication and he is detected by an unexpected panel, the system recalculates his right path.

5. User interface. On the screen of the starting point the user only have to choose his destination.

6. How to get and give back the bracelets. The user can get a bracelet in every starting point. When he ends up using it, then he has to give it back at the nearest starting point, which could be at the exit of the "Cittadella Politecnica".

Non Functional Requirements

1. Web interface

    1.1 Implementation. The web interface is used to insert the users' destination.

    1.2 Portability. The website must be compatible with the most used mobile internet browsers: Firefox, Internet Explorer, Google Chrome and Safari.

    1.3 Efficiency. Users spend maximum one minute to follow the wizard procedure of the web interface and then the path is immediately available.

2. Language

    2.1 Usability. The language of the web interface may be chosen by the users, thus the web interface has to provide at least Italian and English.

3. Operating bracelets

    3.1 Implementation. Bracelets are composed of a little circuit and its supply.

    3.2 Usability. The inside circuit works normally when the user follow his path.

4. "Starting point" boxes

    4.1 Implementation. These boxes are located in several strategic points of Cittadella Politecnica such as: each entrance, secretary, canteen and so on.

    4.2 Efficiency. The boxes are in a limited number because of their high cost.

    4.3 Interoperability. Each box must have an internet connection, a bracelets reader and a touchscreen. It also must always be connected to the system website.

5. Led panel

    5.1 Implementation. Led panels consist of some leds arranged in order to show all the possible directions. These panels must comunicate with the bracelet of each user located a few meters from them. They must indicate the right path using a lit arrow.


SYSTEM ARCHITECTURE

Imagine of the architecture of the system

COMPUTATIONAL NODES

  • Bracelet: it is a component used to identify the users in the system through an ID. It is able to both transmit and receive information, with Led panels and Starting point boxes. It transmits its own ID and receives a shutdown signal from the final destination panel.
  • Starting Point Box: here the user says to the system where he wants to go using a web application interface. After having defined it, the starting point box will communicate this destination and the user's ID to the server.
  • Server: it synchronizes with the bracelet and check the ID. It asks the destination and calculates the minimum path and the color to be associated to the user. It takes into account the fact that users with the same destination are associated to the same colour. When this operation is correctly carried out, the server will inform the box and will communicate the colour associated to the user.
  • Led Panel: it shows a lit arrow that indicates the direction to follow when a user is near to it. It can show arrows with different colours in order to manage more users. It is able to both transmit and receive information with the bracelets and the server. It receives the users ID from the bracelets and sends a request to the server to know which arrow with which colour it has to turn on.

SENSORS AND ACTUATORS

In every panel there is a sensor that detects the presence of a bracelet within a few meters.

USER INTERFACE

There is only one user interface and it is on the Starting point boxes. It is a web page that can be used by everyone who is not able to reach a room in the "Cittadella Politecnica".


SOFTWARE ARCHITECTURE

Scheme of the software architecture

STARTING POINT BOX

  • A Web Application (local server) that lets the user communicate to the system the destination he wants to reach. The software is developed in Python, using Flask as web framework. Since it is a web page, it is written in HTML and uses CSS and Bootstrap to have better graphical features. In order to provide interactions with the user, the web page presents scripts written in JavaScript and JQuery. It communicates with the server using HTTP protocol. This application is run on a tablet.

SERVER

  • Database, that is a software written in Python. It provides all the information about the users, the path and the indication that should be passed to the panels.
  • Request Manager (central server) that is written in Python, HTML and Javascript, using Flask as web framework. It manages the HTTP Requests from the other devices of the system, in order to send data to other components, as panels and boxes. Data are sent using JSON as format.
  • Calculation of the Minimun Path that is a software written in Python. As input, it receives the destination of the path and the user ID. Knowing these two information, it will calculate the minimum path and will decide which indications have to be shown on the panels. This calculation is performed by Dijkstra's algorithm.

LED PANELS

  • ID Management (local server): it is written in Python and uses Flask as web framework. When a user is near to the panel, it uses HTTP protocol to communicate to the central server the user's ID received by the Radio RX/TX Management.
  • Led Controls Management: the software is written in Java and C++ and it is able to control the switch managing the LEDs. From the server it receives the colour and the direction that the user has to follow. When a bracelet is near to the panel, it sends to the server an HTTP Request in order to know which arrow turns up. Then it receives an HTTP Response with the correct association user's colour-arrow to be lit.
  • Radio TX/RX Management: the same of the previous description.

BRACELETS

  • ID Generator, which is a C program able to generate an ID to identify the user. The ID is generated combining a random part of identification and a part that contains an information. This one is about the state of the bracelet, if it is switched on or off and about the possible user's decision of changing the path.
  • Radio TX/RX Management: the same of the previous description.

HARDWARE ARCHITECTURE

Scheme of the hardware architecture

BRACELETS

In every bracelet there is a microcontroller, a Radio Tx/Rx module, a button and a battery.

  • Microcontroller:it turns on and off the bracelet, and it controls the radio wave module.
  • Radio TX/RX Module: it transmits its signal to the panels and to the box, and it receives the ACK signal and the signal of shut down (from the last panel).
  • Key: when it is pushed, the system changes the destination, and it guides the user to the nearest box.
  • Battery: it gives the power to the other components.

PANELS

Every panel contains an Arduino module, a Wi-Fi module, a Radio Tx/Rx module and a set of LEDs (RGBW).

  • Arduino: it controls the LEDs and the radio transmitter, and receives informations from the server.
  • Wi-Fi Module: it provides the internet connection to Arduino, in order to exchange informations with the server.
  • Radio TX/RX Module: it detects the bracelets, it gives the ACK to the bracelet, and, when the user has reached his destination, it gives the shutdown signal to the bracelet.
  • Leds: they are the output of the panels, they lit with different colours.

SERVER

A raspberry, and a Wi-Fi module.

BOXES:

Every box contains a tablet (10"), a Raspberry, a Wi-Fi module and a Radio TX/RX module.

  • Tablet: it is used as a component able to connect to a web page. The user selects the destination through the tablet.
  • Raspberry: it synchronizes the bracelet to the destination, thanks to the Radio Tx/Rx module, and it calculates the minimum path.


© 2014 Template by w3layouts