Skip to content

Hermes Project is an autonomous connected device in order to store and analyze data during shipping.

License

Notifications You must be signed in to change notification settings

Exia-Toulouse/HermesProject

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hermes Project

Hermes Project is an autonomous connected device in order to store alerts during shipping. This project is able to handle various form of data, including:

  • Temperature
  • Humidity
  • GPS
  • Acceleration and Angular Acceleration
  • Angular Position
  • DateTime
  • Light level

Hermes Project is maintained by Exia CESI Toulouse A4L. This repository is for educational purpose only and you can use it as an example for any engineering project.
Each process and step are documented below.

Chronology

Mind Map

A mind map is a diagram used to visually organize information. Often used during brainstorming session, Mind Maps are particulary suited in order to understand concept and ideas during team sessions.

The Mind Map below shows the entire project area, with all particularities and was drawn during the opening session of the project. The objective was to find the more constraints as possible in order to make easiest the future designing.

Phase 1 - Connected Device

During the first phase, team's goal was to create the connected device used to collect data in order to proceed the further big data analysis.

Conception

The conception is in two parts : hardware conception and software conception.

During the hardware conception, we made 2D et 3D designing in order to make a box with a 3D printer. In the meantime, we also worked on Fritzing in order to create a virtual prototype of the electronic system.

Durign the software conception, we made an UML representation of the system and some mockups in order to represent the user interface.

General Overview - Hardware

Casing Designing

The first step in casing designing was about measuring the dimension of the device in order to draw the plans. Plans were made with Catia and were used as references in order to make the 3D designing.

The second step was the 3D Designing, which was made with 123Design. Each part of the casing has been printed with a 3D Printer inside Exia Cesi Toulouse's Fablab.

Prototyping with Fritzing

Fritzing is an open source initiative to develop amateur or hobby CAD software for the design of electronics hardware, to support designers and artists ready to move from experimenting with a prototype to building a more permanent circuit. It was developed at the University of Applied Sciences of Potsdam.

We used it in order to design electronics hardware of Hermes Project.

General Overview - Software

During software conception, most of the time was UML Designing. The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system.

UML Component Diagram

In order to represent the whole system, we used an UML Component Diagram (thanks to StarUML) and represented interaction between components and artifacts. It is possible to see that the application is entirely threaded, so each sensor can work at its rythm without being bothered by the others.

A circular buffer was also developed in order to store data and alert awaiting for writter.

The following class diagram shows sensors classes and structures used inside the application.

The following class diagram shows buffer and alert manager classes used inside the application.

Phase 2 - Big Data and Business Intelligence

Step 1 - Concatenation Software

In order to get a full JSON File, a concatenation software has been developed. This software is able to browse inside a whole directory to concatenate all files inside in one big file which you can save wherever you please. Sources can be found inside this repository.

Step 2 - Exploitation Software

Finally, in order to retrieve indicator and statistics about shipping, an exploitation software has been developed. This software is able to browse inside JSON Collection stored into a CouchDB Database (NoSQL) and draw a map of the shipping with all major alerts displayed. Sources can be found inside this repository.

Additional notes and improvement ideas

In addition to the previous work, a business analysis has also been made for this project.

This analysis demonstrates this project to be a typical case for Business Model development. By the way, many improvements can be made to this project, for example:

  • Casing optimization in weight and size
  • Software optimization for the connected device
  • Full optimization of the product life circle
  • Migration to a Service Oriented Software for the exploitation

Feel free to contribute to this repository by doing pull request.

About

Hermes Project is an autonomous connected device in order to store and analyze data during shipping.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 51.6%
  • C 37.6%
  • CMake 4.9%
  • Makefile 3.0%
  • Yacc 1.3%
  • Other 0.8%
  • Other 0.8%