تکنولوژیها
- JavaFlutterAndroidKotlinDart
شرحی از پروژه و پلن آیندهی آن:
امکانات پایهای :
- تبادل داده دو طرفه بلوتوثی بین ویلچر برقی با موبایل ، کامپیوتر یا ...
- دارا بودن ماژول جویستیک با حساسیت بالا در اپلیکیشن ، برای کنترل حرکت ویلچر برقی (ارسال دادهها در مختصات دکارتی)
- تبادل دادهها در هر ۵۰ میلی ثانیه یکبار صورت میگیرد.
- در ارتباط دوطرفه بین ویلچر برقی با موبایل، هربار که دادهای دریافت میشود، عینا برای فرستنده ارسال میشود تا فرستنده از دریافت کامل داده ارسالی اش مطمئن گردد.
- نمونه پکت داده ارسالی شامل 10 بایت به شکل هگزا دسیمال (به عنوان مثال)
AA, 55, 40, 01, 00, 00, 80, 80, 00, BE
- عدم سر ریز شدن بافر و اتمام آنالیز دادههای دریافت شدهی قبلی بافر ، برای دریافت و آنالیز بایت بعدی لازم است.
- علاوه بر کنترل جهت حرکت، کنترل و نمایش سرعت، نمایش میزان شارژ باتری ویلچر برقی ،کدهای خطای ویلچر برقی ، کنترل بوق زدن و رفتن به حالت sleep جزو مواردی است که موبایل با ویلچر برقی باید هر ۵۰ میلی ثانیه یکبار ، هماهنگ گردد.
- بعد از اولین اتصال اپلکیشن به ویلچر برقی، سریهای بعد خود به خود بلوتوث آن را پیدا کند، همچنین در صورت خاموش بودن بلوتوث، اخطار خاموش بودن را بدهد. در صورت ارتباط موفق بلوتوثی نیز با نشانهای وضعیت پایدار و مطمئن را نشان دهد.
- در صورت خطاهای سخت افزاری که هر بار سیستم خود را چکاپ میکند و مثلا اگر موتور قطع باشد یا باتری خیلی ضعیف باشد یا ... خطا نشان میدهد ، به صورت پیام بزرگ روی صفحه خطاها نمایش داده شود.
- اگر به هر دلیل (مثلا فاصله مکانی بیش از حد) ارتباط بلوتوثی ویلچر برقی با موبایل قطع شد، موبایل باید آلارم دهد و کلیدها و جویستیک اپلیکیشن غیر فعال گردند و نرم افزار به صورت خودکار و مداوم به دنبال اتصال با بلوتوث ویلچر برقی باشد و بلافصله بعد از اتصال، مجدد همه کلیدها و جویستیک اپلکیشن ، فعال گردند.
- محل جویستیک در اپلیکیشن در قسمت پایینی صفحه موبایل باشد تا فرد دارای معلولیت بتواند به راحتی و بدون صرف انرژی مضاعف، حرکت ویلچر برقی را کنترل کند.
- اگر به هر دلیل برنامه دچار هنگی شد، نباید حرکت خارج از کنترل از ویلچر سر بزند مثل اینکه روی یک جهت حرکت ثابت در حرکت باقی بماند.
- در صورت کنترل کاربر از طریق جویستیک فیزیکی ، اولیت بالاتر با جویستیک فیزیکی باشد و اپلیکیشن از دور خارج گردد.
- وقتی کاربر دکمه خاموش را در اپلکیشن را بزند، ویلچر به حالت خواب برود اما کامل خاموش نشود و ارتباط بلتوثی کلی را در حالت کم مصرف حفظ کند. هر زمان دکمه روشن در اپلیکیشن را بزند، ویلچر از حالت خواب خارج شده و بتواند شروع به حرکت کند.
- 5 سطح سرعتی قابل تنظیم داشته باشد. ضمنا در روشن شدن اولیه، از تنظیم سرعت قبلی که روی جویستیک فیزیکی یا روی اپلکیشن انجام شده به صورت پیشفرض استفاده کند.
- استاندارد نرم افزاری تجهیزات پزشکی و مدیریت ریسک (موقعیت خطر آفرین و احتمال وقوع) باید رعایت گردد.
ورژن توسعهای:
- جویستیک فیزیکی ویلچر برقی بتواند به جای موس، صفحه گوشی موبایل یا کامپیوتر را کنترل کند. (نیاز است الگوریتم موس بررسی شود ، میتوان از دانگل بلوتوث برای اتصال به کامپیوتر استفاده کرد) . جویستیک به عنوان موس و کلیدهای راست و چپ به عنوان راست کلیک و چپ کلیک باشند.
- بتوان وسایل منزل را در اپلکیشن کنترل کرد (خانه هوشمند)
ورژن آینده:
- با استفاده از صدا بتوان کنترل ویلچر برقی را انجام داد
- با پردازش تصویر بتوان مسیریابی خودکار در محیط بسته را انجام داد.
**توجه شود: در این گام ، قصد اجرای ورژن پایهای نرم افزار را داریم.
مهارتهای ضروری:
- تسلط بر حداقل یکی از زبانهای اصلی کد نویسی اندروید
- دانش و تجربه در بکارگیری SDK و نسخههای مختلف اندروید
- آشنایی با مفاهیم UI/UX و App Design
- آشنایی با راه اندازی و تبادل داده از طریق بلوتوث موبایل
- تسلط بر material Design
- آشنایی با نحوهی deploy پلتفورمها
- انتشار اپ در مارکتهای اپ
- بهینه سازی کدهای خروجی فلاتر (برای فلاتر کار)
مهارتهای امتیازی:
- Git
مزایا
- حس نوع دوستی و کمک به افراد دارای معلولیت
- هم افزایی و جو دسوتانه و صمیمی