
هذا هو المشروع الذي قمنا فيه ببناء تطبيق للجوال للتحكم في روبوت متوازن مخصص من خلال واجهة Bluetooth HC-08. يسمح المشروع بإرسال أوامر إلى وحدة التحكم Micro Arduino لأداء مهام مثل:
كان الإطار المحدد هو إطار العمل الأيوني ، فهذه أداة لطيفة للغاية لبناء تطبيقات Android و iOS للهاتف المحمول باستخدام JavaScript و HTML و CSS. لكن لهذا بالذات ، اخترت ReactJS كمكتبة JavaScript مع قالب TypeScript. بالنسبة لإدارة الدولة ، تم اختيار Redux مع سد React.

////////////////////////// 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 : [ ] ,
} ; 
يتكون التطبيق من علامات التبويب وعدة مكونات لتقديم واجهة المستخدم المختلفة.

للتعاون أو ببساطة استخدام هذا المشروع ، يجب أن يكون لديك بيئة Android جاهزة.
[https://developer.android.com/studio]
إذا كنت مستخدمًا Linux ، فأنت ببساطة تنفذ هذا أو تضيفه إلى ملف التكوين الخاص بـ shell. مثال: 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هذا يدير المشروع في متصفح الويب الخاص بك ولكن Pluggins الأصلية لن تعمل.
ionic cap add androidلإنشاء مشروع iOS
ionic cap add iosافتح استوديو Android في المجلد Android وقم بتشغيل التطبيق في المحاكاة.
بالنسبة للوظائف الحية والعمل مباشرة على التطبيق المثبت على محاكاة هذا.
npm run dev[https://github.com/josealejandro2928/self-balancing-arduino-robot-controller]
في جذر المشروع ، لديك عرض تجريبي للتطبيق ".
SB_Controller.apk