
これは、Bluetooth HC-08インターフェイスを介してカスタム自己バランスロボットを制御するためのモバイルアプリケーションを構築するプロジェクトです。このプロジェクトでは、次のようなタスクを実行するために、Arduinoマイクロコントローラーにコマンドを送信できます。
選択されたフレームワークはIonicフレームワークでした。これは、JavaScript、HTML、およびCSSを使用してAndroidおよびiOSモバイルアプリを構築するための非常に優れた強力なツールです。しかし、この特定のために、私はtypeScriptテンプレートを備えたJavaScriptライブラリとしてReactJを選択しました。国家管理のために、Reactのプラグを伴うReduxが選択されました。

////////////////////////// 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 : [ ] ,
} ; 
このアプリは、異なるUIをレンダリングするためのタブといくつかのコンポーネントで構成されています。

このプロジェクトを協力するか、単に使用するには、Android環境を準備する必要があります。
[https://developer.android.com/studio]
Linuxユーザーの場合は、これを実行するか、適切なシェル固有の構成ファイルに追加します。例:bash_profile、bashrcなど。
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]
リポジトリがダウンロードされたら、次のコマンドを実行します
npm installionic serveこれにより、Webブラウザでプロジェクトが実行されますが、ネイティブのプラグインは機能しません。
ionic cap add androidiOSプロジェクトを生成します
ionic cap add iosAndroid AndroidのAndroid Studioを開き、シミュレータでアプリを実行します。
ライブ機能用およびシミュレーターに取り付けられたアプリケーションで直接作業することを実行します。
npm run dev[https://github.com/josealejandro2928/self-balancing-arduino-robot-controller]
プロジェクトのルートでは、アプリのデモ「.apk」があります
SB_Controller.apk