We are working on an app for the MoveSense that tracks the users movement in some particular cases. However due to our environment the Bluetooth connection can drop out intermittently. To not have any data loss we want to store the sensor data on the MoveSense and read it once the connection is back. In the documentation we found the DataLogger interface, but we are having issues getting it to work.
In our Android app we first subscribe to the sensor we want (for now only the gyro, but we will expand to include the accelerometer once we have the gyro up and running). To do this we execute a put command:
Mds put() uri: suunto://<SERIAL>/Mem/DataLogger/Config contract: {"config": { "dataEntries": {"dataEntry": [{"path": "/Meas/Gyro/13"}]}}}
This command is accepted with a '200' code (figuring out the right JSON also took some time as the documentation lacks the 'config' part and uses a completely different path).
After this we try to activate the logger:
Mds put() uri: suunto://<SERIAL>/Mem/DataLogger/State contract: {"newState": 5}
But on this command we get a '403' (FORBIDDEN) error back:
[SDS RESPONSE] type: PUT status: FORBIDDEN header: {"Status": 403, "TaskId": 28, "Reason": "FORBIDDEN", "Uri": "suunto://<SERIAL>/Mem/DataLogger/State", "Content-Length": 0}
What are we doing wrong here? Is there an error in the config? Of are we forgetting some other action?
Note that we made sure to flash an app on the MoveSense that has the DataLoger and Logbook modules enabled.