BITalino R-IoT
User Manual
BR 20200207
30 of 42
8
R-IoT Streaming, Sensor Fusion and Analysis
8.1
Sensor Fusion
Calibration of the sensors and the data fusion allowing for computing the quaternions
and Euler angles are provided. The data fusion is implemented using the open-source
code provided by Sebastian Madgwick.
[8]
8.2
R-IoT Code Repository
Several code examples dedicated to the R-IoT platform are available on the BITalino
https://github.com/BITalinoWorld
and on IRCAM's GitHub repository:
https://github.com/Ircam-R-IoT
The repository contains the main firmware, which achieves several analyses on the sensor
data and allows the configuration of the module (IP address, UDP port, module ID) via a
web server or the USB serial port.
Other simpler examples show how to write dedicated code for the R-IoT platform for
specific motion analysis for instance.
Being a development platform, the R-IoT module role isn't bound to motion analysis or
sensor data streaming. Using the additional I/Os and analog input and the Wi-Fi modem,
the unit can be turned into an efficient Internet of Things (IoT) object, a miniature web
server, a car alarm or a plant watering system.
8.3
Receive Sensors Data from the Module
The OpenSignals software provides an easy way to acquire and visualize data from
sensors (please refer to
Chapter 2.3
). Instructions on the
procedures to follow are available on R-
IoT’s
When plugged onto the UART of a BITalino (r)evolution device (instead of the Bluetooth
or BLE modules), the R-IoT forges 2 single OSC packets containing all the exported data
(IMU + BITalino). When used in standalone mode, only the IMU data are streamed within
a single OSC message.
The IMU OSC message starts with
/<ID>/raw
followed by a list of 21 float numbers that
split as the following (physical units sent as I.S. units)
-
3 axis accelerometer (1 float per axis) {-8 ; +8} g
-
3 axis gyroscope {-2 ; +2} °/s
-
3 axis magnetometer {-2 ; +2} gauss
-
Temperature °K
-
Switch (GPIO28) {0 / 1}
-
Analog Inputs (GPIO3 & GPIO4) {0 ; 4095}
-
Quaternions {-1 ; 1}
-
Euler Angles and Heading {-180 ; 180} °