openbikesensor / OpenBikeSensorFirmware

Overtaking distance measurements for cyclists
https://www.openbikesensor.org/
GNU Lesser General Public License v3.0
110 stars 25 forks source link

Include metadata in output file #7

Open tobst opened 4 years ago

tobst commented 4 years ago

What was the user configuration, how long did it take for a gps fix, etc

4n08o commented 4 years ago

Sensor identifier, if not in the file name (see #6)

amandel commented 3 years ago

There was also a discussion in Slack triggered by @tobst about the metadata (https://openbikesensor.slack.com/archives/CRTNL8RQF/p1602699726018600 / https://openbikesensor.slack.com/archives/CRTNL8RQF/p1602702652024100). @mega-stoffel brought the need for different settings for the OBS in (switching bike / might be sharing a sensor).

I try to collect some data here - feel free to edit the post and bring in your opinion.

Eventually we might implement preset support where you can select one preset when the OBS is started. So I see the following places where we could store data:

Storage Location

Symbol Name Description
C CSV Most frequent as data created on the OBS and stored in a CSV record see https://github.com/Friends-of-OpenBikeSensor/OpenBikeSensorFirmware/blob/feature/new-cvs-format/docs/software/firmware/csv_format.md removing it here
CH CSV-Header Stored as header / meta data upon creation of the CSV file
OP OBS-Preset Data that is available as configuration data in the OBS but might be different in future per preset.
O OBS Data stored as configuration in OBS as part of the global configuration.
OS OBS-Static Data that is stored in the OBS fix in the firmware
WP Web-Portal Data that is stored (and managed) on the web portal account
OP -> CH distributed Data is stored in OP and sent as CH

Mandatory

Is the value mandatory or optional? Might be a different discussion.

Critical personal data

TODO: Flag data that needs to be kept secret / be protected / deleted after a while or on request

Data Types

Location Mandatory Name Description
OS -> CH ? DeviceId could be useful but might be a privacy concern
OS -> CH ! OBSFirmwareVersion Version string of the OBS firmware, must also allow to distinguish self built versions
OS -> CH ! OBSDataFormatVersion Version string of the OBS data format used
O ! OBS-Server-Config OBS server configuration of the wifi to be used and other stuff for OBS server mode
OP ! OBS-Config OBS internal configuration data like display settings, confirm time (we might list details elsewhere?)
OP ! Privacy-Areas Areas that are out of bound for data collection
OP -> CH X OBSUserId Id to identify and authenticate a user on the web portal. This id is a secret that must not be disclosed!
OP -> CH ! PresetId Id to identify the selected preset. A owner might define multiple presets
OP -> CH ! HandlebarOffsetLeft HandlebarOffsetRight 2x 0-999cm
WP ? EMail User contact email address
WP ? Avatar Link to user image
WP ? Gender Enum
WP ? Year of birth
WP ? Dashcam yes/no // front/back/helmet? // visible? // different per preset
WP ? Bike-Type Enum? (TODO) // different per preset
WP ? E-Bike Enum? (no/Pedelec/speed Pedelec/ ??) // different per preset
WP ? Helmet (yes/no/sometimes) Driving with helmet? // different per preset
WP ? OBS-Type Enum, different existing obs types (currently(?) we can not auto detect this in the OBS)
? ? Bluetooth connection
? ? Keeping with the rules
? ? Child a board
? ? Bike-Trailer Bike trailer yes/no
? ? OBS-Mounting Bike trailer yes/no

EDIT: Sorry was to complicated

mega-stoffel commented 3 years ago

I think, it could be helpful to have the information about privacy-zones in the uploaded csv file. The csv file should have the information, if privacy-zones were configured during the recording and how the according option was set. If no privacy-zone was configured and/or the option "ignore privacy zone" is set, there should be a warning/information in the HLRS portal, at the latest, when pressing on "visible/publish track".

amandel commented 3 years ago

Actualy we have the data in the CSV file but not the other -> Re-opening