/IoTLab-Temperatures

(School Project) UWP application with C++ displaying the temperature retrieved by the closest mote using the IoTLab API

Primary LanguageC++

IoTLab sensors

UWP application with C++ displaying the temperature retrieved by the closest mote using the IoTLab API.

Overview

This application displays the various measures retrieved by the closest sensor.

📑 Note: The project has to be launched with the Mobile Emulator 10.0.15254.0 720p 5 inch

In order to retrieve the values, the app is querying the IoTLab, which is a deployed web platform, acting as a broker for the various sensors.

📑 Note: The IoTLab is deployed within TELECOM Nancy, and can't be reached without the university's VPN

Features

  • ✅ The application is made in C++/CX, targeting the Windows Phones
  • ✅ The user can either track his position using his GPS or fill the field by himself
  • ✅ The user's coordinates are validated, and the distance between them computed using the Haversine formula
  • ✅ The app is multi-threaded (UI, HTTP calls and guidance)
  • ✅ Each of the mote's data are displayed (name, common name, measures)
  • ✅ The icons are dynamically chosen: depending of the measure, the icon will be different (e.g. a discharge battery will be shown if the mote is running out of battery):
  • ✅ Support the dark and the light theme:
  • ✅ When displaying a mote, the application also provides a compass to indicate its position and its distance relatively to the user, as shown in the following gif:

Location and guidance demo

  • ✅ When clicking on the direction icon, it will open the BingMaps app to guide the user toward the mote:

Location and guidance in BingMaps demo

Troubleshooting

If the app crashes when you tap on Use Geolocation, this may be due to an error in the permissions.

To resolve it:

  1. Stop the program
  2. Go back to your emulator, which should display a pop-up asking for the permission to locate you:

popup

  1. Chose Yes
  2. Rerun the program

Credits

This project is made by Pierre Bouillon and Victor Varnier.

The icons used are from icons8.