
Il s'agit d'un projet dans lequel nous avons construit une application mobile pour contrôler un robot d'auto-équilibrage personnalisé via une interface Bluetooth HC-08. Le projet permet d'envoyer des commandes au micro contrôleur Arduino pour effectuer des tâches telles que:
Le framework sélectionné était Ionic Framework, il s'agit d'un très bel outil puissant pour créer des applications mobiles Android et iOS utilisant JavaScript, HTML et CSS. Mais pour ce particulier, j'ai sélectionné ReactJS en tant que bibliothèque JavaScript avec un modèle TypeScript. Pour la gestion de l'État, le redux avec le bouchage de React a été sélectionné.

////////////////////////// INTERFACES ////////////////////////
export interface IRobotState {
linearVelocity : number ;
angularVelocity : number ;
incliAngle : number ;
posX : number ;
posY : number ;
robotOrien : number ;
battery ?: number ;
startSampling ?: boolean ;
sampleTime ?: number ;
persistData ?: boolean ;
records ?: Array < {
linearVelocity : number ;
angularVelocity : number ;
incliAngle : number ;
posX : number ;
posY : number ;
robotOrien : number ;
battery : number ;
} > ;
}
/////////////////////////////////////////////////////////////////
////////////////////////TYPES////////////////////////////////
export const SET_ROBOT_DYNAMIC_STATE = 'SET_ROBOT_DYNAMIC_STATE' ;
export const RESET_ROBOT_DYNAMIC_STATE = 'RESET_ROBOT_DYNAMIC_STATE' ;
export const PERSIST_ROBOT_DYNAMIC_STATE = 'PERSIST_ROBOT_DYNAMIC_STATE' ;
///////////////////////////////////////////////////////////
const initialState : IRobotState = {
linearVelocity : 0.0 ,
angularVelocity : 0.0 ,
incliAngle : 0.0 ,
posX : 0 ,
posY : 0 ,
robotOrien : 0.0 ,
battery : 50 ,
startSampling : false ,
sampleTime : 150 ,
persistData : false ,
records : [ ] ,
} ; 
L'application est composée par des onglets et plusieurs composants pour rendre les différentes UIS.

Pour collaborer ou simplement utiliser ce projet, vous devez avoir l'environnement Android prêt.
[https://developer.android.com/studio]
Si vous êtes un utilisateur Linux, vous exécutez simplement ceci ou l'ajoutez au fichier de configuration spécifique à la cote. Exemple: bash_profile, bashrc etc.
export ANDROID_SDK_ROOT= $HOME /Library/Android/sdk
export PATH= $PATH : $ANDROID_SDK_ROOT /emulator
export PATH= $PATH : $ANDROID_SDK_ROOT /platform-tools[https://nodejs.org/en/]
[https://ionicframework.com/docs/intro/cli]
Une fois le dépôt téléchargé, exécutez les commandes suivantes
npm installionic serveCela exécute le projet dans votre navigateur Web, mais les pluggins natifs ne fonctionneront pas.
ionic cap add androidPour générer le projet iOS
ionic cap add iosOuvrez le studio Android dans le dossier Android et exécutez l'application dans le simulateur.
Pour les fonctions en direct et pour fonctionner directement sur l'application montée sur le simulateur, exécutez ceci.
npm run dev[https://github.com/josealejandro2928/self-Balancing-arduino-Robot-Controller]
Dans la racine du projet, vous avez une démo de l'application ".apk"
SB_Controller.apk