RICM4 2017 2018 - UltraTeamMV

= Project presentation =

This project (2017-18 version of UltraTeam) consists of :
 * A BLE & LoRa decentralized protocol conception and implementation,
 * A web application development.

This solution should allow a hikers team to localize each other in real time.

It should be really easy to add new members (Numeric code, QRCode, NFC, …).

The system should work whether or not there is a 2G/3G/4G or LoRa connection.

This project is developed in synergy with the other UltraTeam 2018 Project

= Equipment = Supplied : Personal :
 * 3 ESP32 (LoRa, WiFi & BLE connectivity)
 * 2 UNIX computers
 * 2 Android smartphones

= Team = Members : Enzo MOLION, Léo VALETTE - RICM4 @ Polytech Grenoble (UGA)

Supervisor : Didier Donsez

= Deliverables =
 * Project report
 * Code
 * SRS
 * UML
 * Protocol specification document

= Progress =

Week 1 (15-21 jan)
Subjects were assigned.

During the Eclipse IoT Days, got in touch with D. Donsez & R. Drulhe (CEA’s LoRa + Sensinact specialist).

Got in touch with A. Aubertin & R. Gallier to see if last years projects’ code could be useful.

Got started with JHipster. We managed to run the ECOM Mes Courses app did not test the RESTful API).

Week 3 (22-28 jan)
Split project on two separate parts and teams. Hence RICM5’s ECOM does not concern us anymore.

Received 3 ESP32.

Installed Arduino IDE + “plug-in” ESP32 and managed to ping-pong between to ESP32 (courtesy of D.Donsez ).

Started to documented ourselves about LoRa security (LoRaWAN encryption).

Started to develop the application with Angular + Ionic :
 * Implemented GMaps map with “add marker” button,
 * Added a users list (hardcoded not structured data yet) as popover over map page.

Week 4 (29 jan - 4 feb)
Explained current advancement to the other group.

VoIP with D. Donsez :
 * Explained current advancement.
 * Got our interrogation answered (about LoRa gateway, LoRa communication configuration, actual GPS receiver),
 * Advised us to use OpenStreetMap instead of GMaps,
 * Advised us to use QRCode to add hikers.

Léo focused on Smartphone⇐BLE⇒ESP32 communication :
 * Installed tools to use BLE on ESP32,
 * Established what should be transferred via BLE.

Continued application development

Week 5 (5-11 feb)
Started to fill the SRS.

First BLE communication.

Application development. Completed yet :
 * Launch page (Create or Join course),
 * Hikers addition via QRCode (generates & sends AES encryption/decryption Key & IV)
 * Homepage filled with a map (currently GMap) with working “add marker” button,
 * string AES encryption/decryption (based on aesjs JavaScript library),
 * uploaded working code on GitLab.

Week 6 (12-18 feb)
Kept working on application development :
 * switched from Popover to RadioAlertList Ionic component to select which user to display location of,
 * started to switch from GMaps to Leaflet to display Map,
 * commented code and generated documentation.

Kept filling SRS and started filling UML.

Week 7 (19-25 feb)
Filled SRS and UML.

Developped BLE module on ESP.

Week 8 (26 feb - 4 mar)
Kept working on application development : Started to modify previously conceived protocol.
 * Started to implement database model and corresponding methods

Started to work on the webapp side of BLE

Week 8 (5-11 mar)
Kept working on application development :
 * learnt how to use Leaflet and kept switching from GMaps
 * Finished BLE scan and connect (not integrated to real app yet)

Week 9 (12-18 mar)
Researches about leaflet principles

Prepared RICM birthday presentation

Documented code and whole project to prepare for next year reuse

Week 10 (19-25 mar)
Refined ESP32-Smartphone via LoRa & BLE communication protocol specification document

Kept working on application development :
 * Refined course model (local database)
 * Added Date to Location management

Documented BLE on ESP-IDF how-to

Léo switched from BLE to LoRa (using C++ on Arduino IDE).

Week 11 (26 mar -1 apr)
Exchanging packets via LoRa works. Established a Pokerplanning for the week about the LoRa implementation.