
Dies ist ein Projekt, bei dem wir eine mobile Anwendung erstellt haben, um einen benutzerdefinierten Selbstausgleichsroboter über eine Bluetooth HC-08-Schnittstelle zu steuern. Das Projekt ermöglicht das Senden von Befehlen an den Arduino Micro Controller, um Aufgaben auszuführen, wie z. B.:
Das ausgewählte Framework war ein ionisches Framework. Dies ist ein sehr schönes Tool für Build -Android- und iOS -Apps mit JavaScript, HTML und CSS. Für diese spezielle habe ich ReactJs jedoch als JavaScript -Bibliothek mit TypeScript -Vorlage ausgewählt. Für die staatliche Verwaltung wurde der Redux mit dem Verstopfung für React ausgewählt.

////////////////////////// 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 : [ ] ,
} ; 
Die App besteht aus Registerkarten und mehreren Komponenten, um die unterschiedliche Benutzeroberfläche zu rendern.

Um zusammenzuarbeiten oder einfach dieses Projekt zu nutzen, müssen Sie die Android -Umgebung bereit haben.
[https://developer.android.com/studio]
Wenn Sie Linux-Benutzer sind, führen Sie diese einfach aus oder fügen Sie es der entsprechenden Shell-spezifischen Konfigurationsdatei hinzu. Beispiel: Bash_profile, Bashrc usw.
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]
Wenn das Repo heruntergeladen wurde, führen Sie die folgenden Befehle aus
npm installionic serveDies führt das Projekt in Ihrem Webbrowser aus, aber die nativen Pluggins funktionieren nicht.
ionic cap add androidzum Erstellen des iOS -Projekts
ionic cap add iosÖffnen Sie das Android Studio im Ordner Android und führen Sie die App im Simulator aus.
Für Live -Funktionen und um direkt an der auf dem Simulator montierten Anwendung zu arbeiten. Führen Sie dies aus.
npm run dev[https://github.com/joselealejandro2928/self-balancing-herino-robot-controller]
In der Wurzel des Projekts haben Sie eine Demo der App ".APK"
SB_Controller.apk