Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

الأشياء الروبوت: المشروع الأولى الخاص بك

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Android Things.
Introduction to Android Things
Android Things: Peripheral Input/Output

Arabic (العربية/عربي) translation by Muhlis Tirowali (you can also view the original English article)

الروبوت الأشياء، منصة جديدة من Google لتهيئة الأجهزة "إنترنت الأشياء" (loT) متصلاً، طريقة سهلة للحصول على قدميك رطبة مع واحدة من التكنولوجيات الرئيسية للمستقبل. في هذا البرنامج التعليمي سوف تتعلم كيفية الحصول على إعداد مع "الأشياء الروبوت". عليك إنشاء مشروع بسيط الأولى الخاص بك والحصول على بدء في استخدام جبيو (الغرض العام الإدخال/الإخراج) لقراءة ضغط زر وعلى ضوء الصمام.

للمزيد من المعلومات الأساسية عن "أشياء الروبوت"، تحقق من مقالتي هنا في Envato Tuts +.

وميض لوحة

قبل أن تبدأ في البرمجة "الأشياء الروبوت"، ستحتاج إلى إعداد لوحة النماذج مادية لتشغيل نظام التشغيل.

وهناك حاليا ثلاثة خيارات للمجالس:

  • توت العليق Pi
  • أديسون إنتل مع اندلاع Arduino المجلس
  • NXP Pico i.MX6ULato Tuts +.

في هذا البرنامج التعليمي، سوف تظهر لك كيفية الحصول على إعداد مع "بي التوت"، نظراً لأنها الأكثر شيوعاً والمجالس النماذج المعتمدة حاليا بأسعار معقولة. إذا كنت تستخدم بيئة تطوير مختلفة، يمكنك العثور على إرشادات محددة تومض المجلس الخاص بك على صفحة "الأشياء الروبوت" الوثائق الرسمية.

توت العليق Pi

وبغية وضع "الأمور الروبوت" في بي، عليك أ "ب 3 بي التوت" والأجهزة الإضافية التالية:

  • كابل HDMI وشاشة (مثل شاشة الكمبيوتر)
  • توصيل كبل Ethernet بإنترنت الخاص بك
  • كبل USB الصغير
  • بطاقة SD الصغيرة مع 8 غيغابايت على الأقل من المساحة، ومحول بطاقة SD
SD card and adapter
  • جهاز كمبيوتر يمكن القراءة والكتابة إلى بطاقة الذاكرة SD

بمجرد كنت قد تجمع كل المكونات المطلوبة، سوف تحتاج إلى تنزيل صورة نظام أحدث ل Pi التوت من جوجل. يمكن الاطلاع على جميع الصور أحدث "نظام الأشياء الروبوت الصورة التنزيلات" في الصفحة.

بمجرد أن تقوم بتنزيل الملف ، ستحتاج إلى فك ضغطه لاسترداد ملف .img. نظرًا لحجم الملفات ، مثل أداة الأرشفة القياسية على OS X ، والتي ستُرجع .cpgz أو .zip في حلقة. في حالة حدوث ذلك ، يمكنك تثبيت Unarchiver لـ OS X أو 7zip لـ Windows لاستخراج الملف بشكل صحيح.

مع استخراج ملف .img ، ستحتاج إلى وضعه على بطاقة SD الخاصة بك. يمكن أن تختلف هذه العملية حسب نظام التشغيل. سيخضع هذا القسم لعملية OS X ، على الرغم من وجود الإرشادات أيضًا لنظامي التشغيل Linux و Windows.

أولاً، بإدراج بطاقة SD إلى جهاز الكمبيوتر الخاص بك. إذا لم يتم تنسيق بطاقة SD ك FAT 32، سوف تحتاج إلى القيام بذلك الآن. وبعد ذلك، سوف تحتاج إلى تشغيل الأمر قائمة ديسكوتيل للعثور على المسار إلى بطاقة SD.

Terminal output from diskutil list command

في الصورة أعلاه، قد بطاقة SD كامل/dev/disk3 المسار (غير أن تكون ارتباك مع disk3s1 معرف القسم). باستخدام هذا المسار، قم بتشغيل الأمر أونمونتديسك ديسكوتيل حيث أنه يمكن أن تومض على القرص.

Terminal output from diskutil unmountDisk command

الخطوة الأخيرة في تحديث صورة Android Things لـ Raspberry Pi هي نسخ الصورة إلى بطاقة SD الخاصة بك باستخدام الأمر التالي: sudo dd bs=1m if=image.img of=/dev/rdisk

Terminal output from checking progress on Android Things image copying to sd card

من المهم ملاحظة أن هذه العملية قد تستغرق بضع دقائق. يمكنك التحقق من التقدم الحالي باستخدام الأمر Control-T.

عند الانتهاء من الصورة الخاصة بك وامض إلى بطاقة SD، إزالة بطاقة SD الصغيرة من المحول وأدخله في الجزء السفلي من Pi التوت.

Raspberry Pi with inserted SD card

بعد ذلك، الاتصال Pi توت العليق الخاص بك للعرض الخاص بك عن طريق كابل هدمي، شبكة الاتصال الخاصة بك مع كبل ethernet، ومصدر طاقة (مثل الكمبيوتر) مع كابل الناقل التسلسلي العام الجزئي على نوع-B.

Raspberry Pi with minimum connections necessary to finish setup

عندما قد تمهيد Pi توت العليق الخاص بك، يجب أن تشاهد التالية على شاشة العرض الخاصة بك.

Android Things display screen with IP address shown

ستلاحظ عنوان IP للجهاز الخاص بك في الجزء السفلي من الشاشة. سوف تحتاج هذا للاتصال بلوحة "الروبوت الأشياء" الخاصة بك مع بنك التنمية الآسيوي الاتصال <ip address="">الأمر.</ip>

عند هذه النقطة، سوف تكون قادراً على الاتصال الخاص بك تومض حديثا "الروبوت الأشياء" المجلس وتحميل تطبيقات على ذلك، وما سوف نناقش في الدورة القادمة. إذا كنت ترغب في قطع الاتصال بشبكة الاتصال الفعلية Pi توت العليق الخاص بك واستخدام رقاقة WiFi مدمجة، سوف تحتاج إلى تشغيل الأمر التالي.

هذا سوف يسمح لك بإعادة تشغيل الجهاز الخاص بك والوصول إليه من خلال شبكة وأي فأي دون يجري المربوطة إلى اتصال ethernet.

مشروع أول بسيط

قبل البدء في كتابة التعليمات البرمجية للتطبيق الخاص بك "الروبوت الأشياء" الجديدة، ينبغي عليك التأكد من أنه تم إعداد الجهاز الخاص بك للمشروع الذي تريد إنشاء. لمشروعنا التمهيدية، سوف ننشئ جهاز بسيط يسمح للمستخدمين بالضغط على زر، الذي سيتم تشغيل الصمام. عندما يتم تحرير الزر، سيتم إيقاف تشغيل الصمام. وسوف تحتاج مكونات الأجهزة التالية:

  • هيئة متوافقة "الروبوت الأشياء" التي هي تومض مع أحدث إصدار من نظام التشغيل
  • مصباح LED
  • زر
  • مقاوم Ω ك 10 (المقاوم لون العصابات براون، الأسود، البرتقالي)
  • مقاوم 470 Ω (المقاوم اللون الأصفر العصابات، البنفسجي، البنى)
  • أسلاك
  • التوصيل

وبمجرد الانتهاء من المكونات الخاصة بك، يمكنك البدء في توصيل الأشياء في. ولقد تضمنت المخططات اثنين للمشروع الأول الخاص بك: مخطط الأسلاك "أديسون إنتل" مع المجلس اندلاع اردوينو، وواحد ل Pi التوت.

Wiring diagram for project using Intel Edison with Arduino breakout board
Wiring diagram for Raspberry Pi

وبمجرد الانتهاء من المجلس الخاص السلكية معا، حان الوقت لكتابة التطبيق الخاص بك أولاً.

إعداد التطبيق

أشياء الروبوت يتطلب مشاريع سيتم بناؤها مع الحد أدنى من SDK 24. يمكن بدء تشغيل هذا البرنامج التعليمي عن طريق إنشاء مشروع جديد مع ذلك الحد الأدنى من المتطلبات ونشاط فارغة.

عندما تم إنشاء المشروع الأساسي الخاص بك، افتح الملف build.gradle الوحدة النمطية التطبيق الخاص بك. تحت عقده التبعية، وتشمل المكتبة "الروبوت الأشياء". في وقت كتابة هذا التقرير، المكتبة لا تزال في معاينة مطور واحد.

وبعد ذلك، افتح الملف AndroidManifest.xml. سوف تحتاج إلى أن تعلن أن التطبيق الخاص بك يستخدم مكتبة "الروبوت الأشياء" عن طريق إضافة السطر التالي ضمن عقده التطبيق الخاص بك.

الشيء النهائي في ملف البيان الخاص بك هو إضافة مرشح نية لعقدة ميناكتيفيتي الخاص بك يتيح الجهاز تعرف أنه ينبغي إطلاق هذا النشاط عند بدء التشغيل. لأن "الأشياء الروبوت" تطلق تطبيقات عند بدء التشغيل، سوف عموما فقط تريد أحد التطبيقات المثبتة على جهاز في كل مرة.

وبمجرد الانتهاء من ذلك مع البيان، يمكنك فتح MainActivity.java، حيث أن هذا سوف تحدث فيها المنطق الأساسي للمشروع الخاص بك "الأشياء الروبوت" الأول. الكائن الذي سيتم إنشاء مثيل اتصالات الإدخال والإخراج الخاص بك يسمى بيريفيرالماناجيرسيرفيسي، فلتبدأ عن طريق الحصول على إشارة إليه في onCreate().

الآن بعد أن كنت قد الخاص بك بيريفيرالماناجيرسيرفيسي، دعونا نفعل شيئا آخر قبل حفر في كتابة رمز التحكم لدينا. وفي وقت سابق لك سلكي كافة المكونات الخاصة بك معا إلى المجلس باستخدام دبابيس محددة. من أجل التحكم في الأجهزة الطرفية التي قد قمت بإرفاق هذه الدبابيس، سوف تحتاج إلى معرفة اسم كل طرف على المجلس الخاص. يمكنك طباعة قائمة بكل مكون باستخدام بيريفيرالماناجيرسيرفيسي في مثل ذلك:

سيتم طباعة سطر أعلاه ما يلي في "بي التوت":

في الرسم التخطيطي الأسلاك Pi التوت سابقا في هذا المقطع، أنت متصل على زر BCM21 والصمام ل BCM6. في "أديسون إنتل" مع اندلاع Arduino الأسلاك الرسم التخطيطي، أنت متصل على زر IO12 والصمام ل IO13. دعونا حفظ هذه القيم كعناصر السلسلة في الجزء العلوي من نشاطنا. سوف تستخدم هذه العينة قيم Pi التوت، على الرغم من أن يمكنك استخدام أسماء دبوس أيهما المناسبة للمجلس والأسلاك الخاصة بك.

في اليومين المقبلين للفروع، سوف نستخدم هذه المعلومات للتواصل مع كل من مكونات.

الإخراج للصمام

يمكن الوصول إلى المكونات الأساسية ، مثل مصابيح LED ، باستخدام كائن Gpio من Android Thing. في الجزء العلوي من نشاطك ، أنشئ كائن Gpio. سيتم استخدام هذا للإشارة إلى اتصالنا مع LED في تطبيقنا.

وبمجرد الانتهاء من كائن مرجع، سوف تحتاج إلى تهيئته في onCreate(). يمكنك القيام بذلك باستدعاء أوبينجبيو مع اسم دبوس من كائن بيريفيرالماناجيرسيرفيسي الخاص بك. وسوف تحتاج أيضا إلى أن تعلن الدولة تهيئة للعنصر، الذي هو في هذه الحالة DIRECTION_OUT_INITIALLY_LOW (أساسا "إيقاف"). سوف تحتاج إلى التفاف المكالمات إعداد الإدخال/الإخراج في كتلة try/catch في حالة حدوث IOException.

والآن بعد أن قمنا بإنشاء مرجع LED لدينا، سوف تحتاج إلى أن تكون قادرة على تغيير حالة الصمام (وخارجها). يمكنك استخدام الأسلوب setValue(boolean) في جبيو لتغيير حالة المكون.

وأخيراً، عندما يتم إتلاف النشاط الخاص بك، سوف تحتاج إلى إغلاق كافة الاتصالات وتبطل مراجع الأجهزة الخاصة بك في onDestroy().

وهذا كل ما هناك للكتابة إلى عنصر أساسي. على الرغم من أن التطبيق يمكن التحكم في الصمام، هناك لا منطق في مكان لتغيير حالة الصمام. في الخطوة التالية، سوف قرأنا يضغط الزر تنشيط أو إيقاف تشغيل هذا العنصر.

قراءة إدخال زر

بينما الأزرار عناصر واضحة إلى حد ما، أصدرت جوجل لا يزال مجموعة من مكتبات برنامج التشغيل التي تجعل من السهل استخدام الأزرار ومختلف المكونات الأخرى. لهذا القسم سيتم استخدام برنامج تشغيل زر للاتصال إلى الزر وقراءة حالته، ولكن تحتاج أولاً إلى استيراد برنامج زر التشغيل في ملف build.gradle.

المقبل، بتعريف كائن بوتونينبوتدريفير كمتغير عضو للفئة الخاصة بك ميناكتيفيتي.

يمكنك تهيئة هذا الكائن وتسجيله ضمن كتلة try المستخدمة في onCreate() للصمام المكون الخاص بك.

بمجرد إنشاء الخاص بك بوتونينبوتدريفير، أنها سترسل أحداث اضغط زر إلى أساليب onKeyDown() و onKeyUp() مع رمز المفتاح الذي حددته في خلق السائق، والتي يمكن تجاوزها في النشاط الخاص بك لتغيير حالة الصمام الخاص بك.

وأخيراً، سوف تحتاج إلى إلغاء وإبطال الخاص بك بوتونينبوتدريفير في onDestroy()، مثلما فعلت مع LED الخاص بك.

الاستنتاج

في هذا البرنامج التعليمي، يمكنك تعلمت كيفية فلاش "بي التوت" مع "الأشياء الروبوت"، أنشأت دائرة بسيطة تتكون من زر والصمام، وكتب تطبيق الروبوت للتحكم في الصمام استناداً إلى ضغط زر باستخدام مكتبة برنامج تشغيل.

عند هذه النقطة، يجب أن تكون قادراً على استخدام مكتبات برامج التشغيل الأخرى، وإنشاء الدوائر الخاصة بك أكثر تعقيداً. في البرنامج التعليمي القادم من هذه السلسلة، سوف ننظر في مختلف أنواع الإدخال/الإخراج الطرفية التي تتوفر في "الأشياء الروبوت"، ومن ثم نذهب إلى إنشاء برنامج تشغيل المكونات الخاصة بنا!

وفي الوقت نفسه، تحقق في بعض الدورات والبرامج التعليمية في تطوير الروبوت الأخرى!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.