Capteurs - Lot Micro-code embarqué
Référent du lot : qui veut
A produire
Le travail à faire consiste à coder le logiciel du boîtier :
- s'exécute sur l'Arduino (si retenu)
- en C++ ou python, suivant l'atelier utilisé
- installé par bootloader
Spécification
Les éléments à coder vont dépendre en partie des différents composants intégrés dans le boîtier : senseurs, bluetooth, radio.
Le code se décompose en deux fonctions sur Arduino :
- setup : elle s'exécute une fois au démarrage de la carte. Y mettre les blocs initialisant les senseurs et autres composants
- loop : la carte boucle sur cette fonction. Y mettre la collecte des infos des senseurs et l'écriture sur les ports de sortie (bluetooth ⇒ série ; radio : à voir)
Il est autorisé d'avoir d'autres fonctions, et même des objets, l'Arduino IDE utilisant le C++, mais seules les deux fonctions ci-dessus sont exécutées.
L'interaction avec les senseurs et autres composants fait l'objet de bibliothèques dédiées qu'on peut trouver sur le Net.
Trois options :
- code ex nihilo : plus propre, plus lisible pour un non initié qui voudrait faire sa station
- adaptation du code AirBeam : plus rapide, plus fiable. On sait déjà ce qui manque et ce qui va.
- serveur Web sur ESP8266 : est-il possible de faire en sorte que ce micro-contrôleur renvoie au client (navigateur d'un PC ou d'un smartphone) une page affichant les données (forme similaire à l'appli AirCasting) ?? Pourrait venir en complément de l'Arduino
REM : pour des raisons de stabilité et de reproductibilité, il est préférable de mettre les bibliothèques utilisées dans le projet Arduino, afin d'avoir tous la même bibliothèque pour chaque composant.
Historique projet
Savoir où on en est, notamment pour les autres lots et les personnes se greffant en cours de route.
Support documentaire
La partie matérielle du projet : le code
Compléter à mesure les choix techniques
La partie immatérielle : documentation
Le mieux est de s'inspirer du firmware de la station AirBeam (projet AirCasting), car il est assez simple et open sourcAirBeamFirmware_11_14_15
Compléter à mesure