esp32galileo
ESP32 firmware providing a REST API for controlling the galileo science outreach setup
A ESP32 micro-controller to drive the galileo board experiment
This software package provides the ESP32 micro-controller firmware to drive the galileo board experiment.
Web interface
Doing the experiment
- Install the four optical sensors either
- at equal distances in order to see the acceleration, or
- at increasing distances to obtain equal time intervals.
- Stick the metal ball onto the electromagnet.
- Press the button on the setup of the HTML interface
Run
button and observe the ball fall. - Press the HTML interface
Get
button at the motion end to get the detected times, velocities and accelerations.
Tutorial video: https://youtu.be/ew7ONP2M09M
Remarks:
- The
Start
andStop
command are only used for debug. - The
Get
output is of the form
{
"route":
"galileo",
"time": 0.000, // Current time in second when the `Get` button is pressed.
"start_time": 0.000, // Experiment time in second, when the `Run` button is pressed.
"detected_times": [0.000, 0.000, 0.000, 0.000], // Relative times of optical sensor detection, after start_time.
"detected_velocities": [0.000, 0.000, 0.000], // Times differences of optical sensor detection.
"detected_accelerations": [0.00000, 0.00000] // Times differences of times differences.
}
- Result prediction:
- The ball trajectory writes
x(t) = k t^2
, since the initial velocity is zero, and considering the electromagnet position as origin- with
k = 1/2 g sin(alpha) ~ 1.5
wheng = 9.81 m/s^2
is the gravity constantalpha ~ 15 deg
is the board inclination.
- with
- In case of equal distances we expect the detected times and velocities to decrease, and accelerations to be similar.
- In case of increasing distance we expect the detected times differences to be similar.
- The ball trajectory writes
References
- The science outreach activity and mechanical hardware description (in French)
- The electronic hardware description
- The webservice usage description
Package repository
-
Package files: https://gitlab.inria.fr/line/aide-group/esp32galileo
-
Package documentation: https://line.gitlabpages.inria.fr/aide-group/esp32galileo
-
Source files: https://gitlab.inria.fr/line/aide-group/esp32galileo/-/tree/master/src
-
Version: `0.1.0`
-
License: `CECILL-C`
-
Installation
This is a Node.js module, installed using the npm
command line tools.
npm install git+https://gitlab.inria.fr/line/aide-group/esp32galileo.git
Usage
- Refer to usage_galileo, for the Galileo mechanism web service usage.
npm script usage
npm install : installs all package dependencies.
npm run build: builds the different doc and test files.
npm test : runs functional and non-regression tests.
npm clean : cleans installation files.
npm run sync : syncs the files with the git repository.
Dependencies
- esp32gpiocontrol: ESP32 firmware providing a REST API for controlling the GPIO interface and higher functions
Dev Dependencies
aidebuild
: Builds multi-language compilation packages and related documentation.