کنترلر حرکتی کینکت (Kinect) بدون شک یکی از مهمترین نوآوریهای چند سال اخیر است که آینده بسیار درخشانی برای آن وجود دارد.
کنترلری که پتانسیل لازم برای تغییر نوع کارکردن و ارتباط داشتن با ابزارهای الکترونیکی به خصوص کامپیوترها و کنسولهای بازی را دارد. اگر با این وسیله آشنایی ندارید باید بگوییم که این ابزار قادر است بدون هیچ گونه تماس کاربر، حرکات، صدا و صورت کاربر را تشخیص دهد و نسبت به آن واکنش دهد. به عنوان مثال وقتی گیمر میپرد، کینکت آن را کاملا تشخیص داده و با ارسال دستور لازم به کنسول Xbox باعث می شود که کاراکتر بازی نیز می پرد.
این فقط یک نمونه کوچک از قابلیت های کینکت است. فلسفه و ایده اصلی تشخیص حرکت کاربر و صدای او به دهه ۶۰ و ۷۰ میلادی بر می گردد ولی بعد از فیلم گزارش اقلیت اسپیلبرگ شرکت هایی مثل نینتندو و مایکروسافت به فکر ساخت کننترلرهای حرکتی شدن که کنسول های بازی را وارد دوران جدیدی کرد. اما کینکت نه تنها ایده کاملی بود بلکه از طرف کاربران هم مورد استقبال شدیدی قرار گرفت. به همین دلیل مایکروسافت به این فکر افتاد که روی کینکت سرمایه گذاری بیشتری انجام دهد تا این محصول از فقط یک کنترلر برای کنسول بازی خارج کرده و در تمامی محصولاتش به نوعی استفاده کند. به گونه ای که اخیرا طی یک آگهی اعلام کرده است که می خواهد با همکاری شرکت های خودروساز، خودرویهایی تولید کنند که بر اساس کینکت کار کنند. به همین دلیل چند ماه پیش اولین نسخه کیت نرم افزاری (SDK) کینکت را ارایه کرد تا توسعه دهندگان به سراغ طراحی بازی و به خصوص برنامه بر اساس این کنترلر بروند.
از آن جا که پیش بینی می شود بسیاری از ابزارهای دیجیتال مبتنی بر این فناوری طراحی شوند یا حداقل بسیاری از نرم افزارها و حتی خود سیستم عامل ویندوز بر اساس آن باشند، بنابراین آینده درخشانی برای برنامه نویسی مبتنی بر کینکت وجود دارد. اگر این ابزار همانطور که برای ما جذابیت دارد، برای شما هم دارد، دوست دارید توسعه دادن برنامه برای آن را آغاز کنید و آینده را شما بسازید، باید بگوییم ما شروع آسانی را برای شما در نظر گرفته ایم.
پیشنیازهای سختافزاری
برای توسعه نرمافزار مبتنی بر کینکت نیاز به چند پیشنیاز سختافزاری و نرمافزاری هست که بدون شک اولین مورد خود سنسور حرکتی کینکت است. اگر همراه کنسول ایکسباکس، کینکت دارید، میتوانید از همان استفاده کنید در غیر اینصورت باید یک کینکت خریداری کنید که درحال حاضر در بازار ایران حدود ۲۳۰ هزار تومان قیمت دارد. از طرفی دیگر برای برنامهنویسی نیاز دارید کینکت را به کامپیوتر متصل کنید که برای این کار هم نیاز به آداپتور USB کینکت دارید. این آداپتور نیز در بازار ایران در حدود ۳۰ هزار تومان قیمت دارد و شکل ظاهری آن مثل تصویر زیر است.
xbox360_kinect_power_adapter
di-LLQ5
این موارد تنها پیشنیازهای سختافزاری برای کار با کینکت نیست و سیستم کامپیوتر شما نیز باید حداقل مشخصات سختافزاری را نیز داشته باشد که به شرح است:
پردازنده ۳۲بیتی (x86) یا ۶۴بیتی (x64)
حداقل پردازنده دو هستهای و سرعت ۲.۶۶ گیگاهرتز
حداقل ۲ گیگابایت RAM
یک پورت USB 2.0 اختصاصی
چه نرمافزاری لازم داریم
از سختافزار که بگذریم چند پیشنیاز نرمافزاری نیز باید داشته باشید. اولین مورد سیستمعامل ویندوز است که فرقی ندارد ۳۲بیتی (x86) یا ۶۴بیتی (x64) باشد؛ صد البته ویندوز ۶۴بیتی کارایی بالاتری دارد. از طرف دیگر روی ویندوز XP نمیتوانید با کینکت کار کنید. بنابراین حداقل ویندوز ۷ یا ویندوز ۸ باید داشته باشید.
بعد از موارد نیاز دارید که کیت توسعه نرمافزاری (SDK) دایرکتایکس ۹ و نسخه چهارم
NET Framework 4 را نصب کنید که به راحتی از سایت اصلی مایکروسافت قابل دانلود هستند.
اگر هم ایده نرمافزاری که در ذهن دارید بر اساس تشخیص دستورات صوتی کاربر قرار است کار کند باید بستههای زبانی (Language Packs) مایکروسافت برای کینکت دریافت کنید. این بستههای زبانی در حال حاضر فقط برای ۱۱ زبان ارائه شده که متاسفانه هنوز زبان فارسی آماده نشده است. از لینک زیر این بستههای زبانی قابل دریافت هستند:
microsoft.com/download/details.aspx?id=29864
برای برنامهنویسی برای کینکت نیاز به یک محیط IDE دارید که بدون شک گزینه درست ویژوال استودیو (Visual Studio) مایکروسافت است. اگر نسخه کاملی از آن را روی دستگاه خود دارید، که هیچ اما اگر ندارید نگران نشوید، زیرا میتوانید نسخه رایگان آن یعنی Visual Studio Express را از سایت اصلی مایکروسافت دریافت کنید:
microsoft.com/fwlink/?LinkID=240078
شما به عنوان برنامهنویس قادر هستید به زبانهای مختلف تحت محیط Net. کد بزنید. زبانهای داتنت ++ C#، C و VB ؛ اما بهترین گزینه C#.Net است که بیشترین هماهنگی را با کینکت دارد.
در ادامه مقاله به طور تدریجی با بقیه پیشنیازهای نرمافزاری و طرز دریافت و نصب آنها آشنا خواهید شد که بسیار مهم هستند.
اتصال کینکت به کامپیوتر
اگر کینکت را مستقیما به کامپیوتر متصل کنید، ویندوز آن را به عنوان چندین سختافزار میشناسد، اولین مورد خود سنسور کینکت؛ سختافزارهای بعدی میکروفونهای آرایهای کینکت به همراه دوربین کینکت هستند.
لیست این سختافزارها در Device Manager ویندوز قابل مشاهده است. اما نکته بسیار مهمی که باید توجه کنید این است که جهت برنامهنویسی برای کینکت ابتدا کابل USB آن را کاملا از سیستم خود جدا کرده و از Device Manager تمامی درایورهای مربوط به آن را پاک کنید. هر درایوی که در نام خود از عبارت Kinect استفاده کرده است. سپس باید اقدام به نصب SDK و Developer Toolkit کینکت کنید.
بدون کیت توسعه نرمافزاری شروع نکنید
برای اینکه بتوانید برای نرمافزار و سختافزاری خاص برنامهنویسی کنید، نیاز دارید که کیت توسعه نرمافزاری (SDK) آن محصول را که توسط شرکت سازنده ارائه شده است، دریافت و نصب کنید. بنابراین وقتی میخواهید برای کیکنت یا حتی اندروید نرمافزاری تولید کنید، باید کیت آن را داشته باشید. جدیدترین کیت ارائه شده برای کینکت از طرف مایکروسافت نسخه ۱.۵ بوده که حدود ۲ ماه پیش به روزآوری شده است. این کیت که ۲۲۱ مگابایت حجم دارد را میتوانید از طریق لینک زیر دریافت کنید:
microsoft.com/kinectforwindows/develop
همزمان با دانلود SDK یک بسته دیگر به اسم Developer Toolkit کینکت برای ویندوز است و ۶۰ مگابایت حجم دارد را نیز باید دریافت کنید. این بسته شامل ابزارها و مثالهای مهم کار با کینکت بوده و از طریق همان لینک بالا قابل دریافت است.
بعد از اتمام دانلود این دو بسته نرمافزاری مطمئن شوید که سنسور کینکت از کامپیوتر جدا است، تمامی درایورهای قدیمی حذف شدهاند و ویژوال استودیو کاملا بسته است. بعد از آن ابتدا اقدام به نصب SDK کنید و بعد از آن سراغ نصب Developer Toolkit بروید. زمان زیادی برای آن نیاز نیست و سریعا نصب میشود. حالا با خیال راحت کینکت را از طریق کابل USB خودش به کامپیوتر متصل کنید. ویندوز سریعا شروع به تشخیص و نصب درایورهای لازم کینکت میکند. زمانیکه لامپ سبز رنگ LED روی دستگاه کینکت به صورت چشمکزن درآمد یعنی کینکت برای کار آماده است.
اولین برنامه کینکتی خود را بنویسید
وقت آن است که کدنوشتن برای کینکت را آغاز کنید. ویژوال استودیو را باز کرده و از منوی File گزینه
New Project را انتخاب کنید. همانطور که جلوتر گفتیم میتوانید بر اساس زبانهای مختلفNet. کدنویسی کنید ولی ما در این مثال زبان #Visual C را انتخاب کردهایم. ابتدا از پنل سمت راست #Visual C را کلیک کرده و از لیست میانی گزینه Console Application را انتخاب کنید. یک نام برای پروژه وارد کرده و Ok را کلیک کنید. از پنل Solutions Explorer که معمولا سمت راست قرار دارد روی فولدر References کلیک راست کرده و گزینه Add Reference را برگزینید. در پنجره باز شده به تب Net. رفته و گزینه Microsoft.Kinect را پیدا کرده و Ok کنید.
حالا در قسمت کد با دستور زیر و با به کار بردن Namespace کینکت میتوانید از قابلیتهای کدنوسی برای کینکت استفاده کنید.
;using Microsoft.Kinect
کد زیر را را وارد کنید:
image
با فشردن دکمه F5 این کد را دیباگ و اجرا کنید. بلافاصله صفحه کنسول باز میشود و یکسری اعداد خیلی سریع در صفحه ظاهر میشوند. این اعداد اطلاعاتی است که از کینکت ارسال میشود و دقیقا چیزی را میبینید که هکرها اولین باری که توانستند کینکت را هک کنند دیدند؛ یعنی کلی اعداد که دریافت میشوند.
کنترلری که پتانسیل لازم برای تغییر نوع کارکردن و ارتباط داشتن با ابزارهای الکترونیکی به خصوص کامپیوترها و کنسولهای بازی را دارد. اگر با این وسیله آشنایی ندارید باید بگوییم که این ابزار قادر است بدون هیچ گونه تماس کاربر، حرکات، صدا و صورت کاربر را تشخیص دهد و نسبت به آن واکنش دهد. به عنوان مثال وقتی گیمر میپرد، کینکت آن را کاملا تشخیص داده و با ارسال دستور لازم به کنسول Xbox باعث می شود که کاراکتر بازی نیز می پرد.
این فقط یک نمونه کوچک از قابلیت های کینکت است. فلسفه و ایده اصلی تشخیص حرکت کاربر و صدای او به دهه ۶۰ و ۷۰ میلادی بر می گردد ولی بعد از فیلم گزارش اقلیت اسپیلبرگ شرکت هایی مثل نینتندو و مایکروسافت به فکر ساخت کننترلرهای حرکتی شدن که کنسول های بازی را وارد دوران جدیدی کرد. اما کینکت نه تنها ایده کاملی بود بلکه از طرف کاربران هم مورد استقبال شدیدی قرار گرفت. به همین دلیل مایکروسافت به این فکر افتاد که روی کینکت سرمایه گذاری بیشتری انجام دهد تا این محصول از فقط یک کنترلر برای کنسول بازی خارج کرده و در تمامی محصولاتش به نوعی استفاده کند. به گونه ای که اخیرا طی یک آگهی اعلام کرده است که می خواهد با همکاری شرکت های خودروساز، خودرویهایی تولید کنند که بر اساس کینکت کار کنند. به همین دلیل چند ماه پیش اولین نسخه کیت نرم افزاری (SDK) کینکت را ارایه کرد تا توسعه دهندگان به سراغ طراحی بازی و به خصوص برنامه بر اساس این کنترلر بروند.
از آن جا که پیش بینی می شود بسیاری از ابزارهای دیجیتال مبتنی بر این فناوری طراحی شوند یا حداقل بسیاری از نرم افزارها و حتی خود سیستم عامل ویندوز بر اساس آن باشند، بنابراین آینده درخشانی برای برنامه نویسی مبتنی بر کینکت وجود دارد. اگر این ابزار همانطور که برای ما جذابیت دارد، برای شما هم دارد، دوست دارید توسعه دادن برنامه برای آن را آغاز کنید و آینده را شما بسازید، باید بگوییم ما شروع آسانی را برای شما در نظر گرفته ایم.
پیشنیازهای سختافزاری
برای توسعه نرمافزار مبتنی بر کینکت نیاز به چند پیشنیاز سختافزاری و نرمافزاری هست که بدون شک اولین مورد خود سنسور حرکتی کینکت است. اگر همراه کنسول ایکسباکس، کینکت دارید، میتوانید از همان استفاده کنید در غیر اینصورت باید یک کینکت خریداری کنید که درحال حاضر در بازار ایران حدود ۲۳۰ هزار تومان قیمت دارد. از طرفی دیگر برای برنامهنویسی نیاز دارید کینکت را به کامپیوتر متصل کنید که برای این کار هم نیاز به آداپتور USB کینکت دارید. این آداپتور نیز در بازار ایران در حدود ۳۰ هزار تومان قیمت دارد و شکل ظاهری آن مثل تصویر زیر است.
xbox360_kinect_power_adapter
di-LLQ5
این موارد تنها پیشنیازهای سختافزاری برای کار با کینکت نیست و سیستم کامپیوتر شما نیز باید حداقل مشخصات سختافزاری را نیز داشته باشد که به شرح است:
پردازنده ۳۲بیتی (x86) یا ۶۴بیتی (x64)
حداقل پردازنده دو هستهای و سرعت ۲.۶۶ گیگاهرتز
حداقل ۲ گیگابایت RAM
یک پورت USB 2.0 اختصاصی
چه نرمافزاری لازم داریم
از سختافزار که بگذریم چند پیشنیاز نرمافزاری نیز باید داشته باشید. اولین مورد سیستمعامل ویندوز است که فرقی ندارد ۳۲بیتی (x86) یا ۶۴بیتی (x64) باشد؛ صد البته ویندوز ۶۴بیتی کارایی بالاتری دارد. از طرف دیگر روی ویندوز XP نمیتوانید با کینکت کار کنید. بنابراین حداقل ویندوز ۷ یا ویندوز ۸ باید داشته باشید.
بعد از موارد نیاز دارید که کیت توسعه نرمافزاری (SDK) دایرکتایکس ۹ و نسخه چهارم
NET Framework 4 را نصب کنید که به راحتی از سایت اصلی مایکروسافت قابل دانلود هستند.
اگر هم ایده نرمافزاری که در ذهن دارید بر اساس تشخیص دستورات صوتی کاربر قرار است کار کند باید بستههای زبانی (Language Packs) مایکروسافت برای کینکت دریافت کنید. این بستههای زبانی در حال حاضر فقط برای ۱۱ زبان ارائه شده که متاسفانه هنوز زبان فارسی آماده نشده است. از لینک زیر این بستههای زبانی قابل دریافت هستند:
microsoft.com/download/details.aspx?id=29864
برای برنامهنویسی برای کینکت نیاز به یک محیط IDE دارید که بدون شک گزینه درست ویژوال استودیو (Visual Studio) مایکروسافت است. اگر نسخه کاملی از آن را روی دستگاه خود دارید، که هیچ اما اگر ندارید نگران نشوید، زیرا میتوانید نسخه رایگان آن یعنی Visual Studio Express را از سایت اصلی مایکروسافت دریافت کنید:
microsoft.com/fwlink/?LinkID=240078
شما به عنوان برنامهنویس قادر هستید به زبانهای مختلف تحت محیط Net. کد بزنید. زبانهای داتنت ++ C#، C و VB ؛ اما بهترین گزینه C#.Net است که بیشترین هماهنگی را با کینکت دارد.
در ادامه مقاله به طور تدریجی با بقیه پیشنیازهای نرمافزاری و طرز دریافت و نصب آنها آشنا خواهید شد که بسیار مهم هستند.
اتصال کینکت به کامپیوتر
اگر کینکت را مستقیما به کامپیوتر متصل کنید، ویندوز آن را به عنوان چندین سختافزار میشناسد، اولین مورد خود سنسور کینکت؛ سختافزارهای بعدی میکروفونهای آرایهای کینکت به همراه دوربین کینکت هستند.
لیست این سختافزارها در Device Manager ویندوز قابل مشاهده است. اما نکته بسیار مهمی که باید توجه کنید این است که جهت برنامهنویسی برای کینکت ابتدا کابل USB آن را کاملا از سیستم خود جدا کرده و از Device Manager تمامی درایورهای مربوط به آن را پاک کنید. هر درایوی که در نام خود از عبارت Kinect استفاده کرده است. سپس باید اقدام به نصب SDK و Developer Toolkit کینکت کنید.
بدون کیت توسعه نرمافزاری شروع نکنید
برای اینکه بتوانید برای نرمافزار و سختافزاری خاص برنامهنویسی کنید، نیاز دارید که کیت توسعه نرمافزاری (SDK) آن محصول را که توسط شرکت سازنده ارائه شده است، دریافت و نصب کنید. بنابراین وقتی میخواهید برای کیکنت یا حتی اندروید نرمافزاری تولید کنید، باید کیت آن را داشته باشید. جدیدترین کیت ارائه شده برای کینکت از طرف مایکروسافت نسخه ۱.۵ بوده که حدود ۲ ماه پیش به روزآوری شده است. این کیت که ۲۲۱ مگابایت حجم دارد را میتوانید از طریق لینک زیر دریافت کنید:
microsoft.com/kinectforwindows/develop
همزمان با دانلود SDK یک بسته دیگر به اسم Developer Toolkit کینکت برای ویندوز است و ۶۰ مگابایت حجم دارد را نیز باید دریافت کنید. این بسته شامل ابزارها و مثالهای مهم کار با کینکت بوده و از طریق همان لینک بالا قابل دریافت است.
بعد از اتمام دانلود این دو بسته نرمافزاری مطمئن شوید که سنسور کینکت از کامپیوتر جدا است، تمامی درایورهای قدیمی حذف شدهاند و ویژوال استودیو کاملا بسته است. بعد از آن ابتدا اقدام به نصب SDK کنید و بعد از آن سراغ نصب Developer Toolkit بروید. زمان زیادی برای آن نیاز نیست و سریعا نصب میشود. حالا با خیال راحت کینکت را از طریق کابل USB خودش به کامپیوتر متصل کنید. ویندوز سریعا شروع به تشخیص و نصب درایورهای لازم کینکت میکند. زمانیکه لامپ سبز رنگ LED روی دستگاه کینکت به صورت چشمکزن درآمد یعنی کینکت برای کار آماده است.
اولین برنامه کینکتی خود را بنویسید
وقت آن است که کدنوشتن برای کینکت را آغاز کنید. ویژوال استودیو را باز کرده و از منوی File گزینه
New Project را انتخاب کنید. همانطور که جلوتر گفتیم میتوانید بر اساس زبانهای مختلفNet. کدنویسی کنید ولی ما در این مثال زبان #Visual C را انتخاب کردهایم. ابتدا از پنل سمت راست #Visual C را کلیک کرده و از لیست میانی گزینه Console Application را انتخاب کنید. یک نام برای پروژه وارد کرده و Ok را کلیک کنید. از پنل Solutions Explorer که معمولا سمت راست قرار دارد روی فولدر References کلیک راست کرده و گزینه Add Reference را برگزینید. در پنجره باز شده به تب Net. رفته و گزینه Microsoft.Kinect را پیدا کرده و Ok کنید.
حالا در قسمت کد با دستور زیر و با به کار بردن Namespace کینکت میتوانید از قابلیتهای کدنوسی برای کینکت استفاده کنید.
;using Microsoft.Kinect
کد زیر را را وارد کنید:
image
با فشردن دکمه F5 این کد را دیباگ و اجرا کنید. بلافاصله صفحه کنسول باز میشود و یکسری اعداد خیلی سریع در صفحه ظاهر میشوند. این اعداد اطلاعاتی است که از کینکت ارسال میشود و دقیقا چیزی را میبینید که هکرها اولین باری که توانستند کینکت را هک کنند دیدند؛ یعنی کلی اعداد که دریافت میشوند.