44 KiB
نظرة أعمق على إنترنت الأشياء
رسم توضيحي من نيتيا ناراسيمهان. انقر على الصورة للحصول على نسخة أكبر.
تم تقديم هذا الدرس كجزء من سلسلة Hello IoT من Microsoft Reactor. تم تقديم الدرس في شكل فيديوهين - درس مدته ساعة واحدة، وساعة أخرى للإجابة على الأسئلة والتعمق في أجزاء من الدرس.
🎥 انقر على الصور أعلاه لمشاهدة الفيديوهات
اختبار ما قبل المحاضرة
المقدمة
يتعمق هذا الدرس في بعض المفاهيم التي تم تناولها في الدرس السابق.
في هذا الدرس سنتناول:
مكونات تطبيق إنترنت الأشياء
يتكون تطبيق إنترنت الأشياء من مكونين رئيسيين: الإنترنت و الجهاز. دعونا نلقي نظرة على هذين المكونين بمزيد من التفصيل.
الجهاز
يشير الجزء الخاص بـ الجهاز في إنترنت الأشياء إلى جهاز يمكنه التفاعل مع العالم المادي. عادةً ما تكون هذه الأجهزة صغيرة الحجم ومنخفضة التكلفة، تعمل بسرعات منخفضة وتستهلك طاقة قليلة - على سبيل المثال، متحكمات دقيقة بسيطة تحتوي على كيلوبايتات من ذاكرة الوصول العشوائي (RAM) (مقارنةً بالجيجابايتات في أجهزة الكمبيوتر) وتعمل بسرعة بضع مئات من الميجاهرتز (مقارنةً بالجيجاهرتز في أجهزة الكمبيوتر)، لكنها تستهلك أحيانًا طاقة قليلة جدًا بحيث يمكنها العمل لأسابيع أو شهور أو حتى سنوات باستخدام البطاريات.
تتفاعل هذه الأجهزة مع العالم المادي إما باستخدام مستشعرات لجمع البيانات من البيئة المحيطة أو عن طريق التحكم في المخرجات أو المشغلات لإحداث تغييرات مادية. المثال النموذجي على ذلك هو منظم الحرارة الذكي - جهاز يحتوي على مستشعر درجة حرارة، ووسيلة لتحديد درجة الحرارة المطلوبة مثل قرص أو شاشة تعمل باللمس، واتصال بنظام تدفئة أو تبريد يمكن تشغيله عندما تكون درجة الحرارة المكتشفة خارج النطاق المطلوب. يكتشف مستشعر درجة الحرارة أن الغرفة باردة جدًا، ويقوم المشغل بتشغيل التدفئة.
هناك مجموعة كبيرة من الأجهزة التي يمكن أن تعمل كأجهزة إنترنت الأشياء، بدءًا من الأجهزة المخصصة التي تستشعر شيئًا واحدًا، إلى الأجهزة متعددة الأغراض، وحتى هاتفك الذكي! يمكن للهاتف الذكي استخدام المستشعرات لاكتشاف العالم من حوله، والمشغلات للتفاعل مع العالم - على سبيل المثال باستخدام مستشعر GPS لاكتشاف موقعك ومكبر صوت لإعطائك تعليمات التنقل إلى وجهة.
✅ فكر في أنظمة أخرى حولك تقرأ البيانات من مستشعر وتستخدمها لاتخاذ قرارات. مثال على ذلك هو منظم الحرارة في الفرن. هل يمكنك العثور على المزيد؟
الإنترنت
يتكون جانب الإنترنت في تطبيق إنترنت الأشياء من تطبيقات يمكن للجهاز الاتصال بها لإرسال واستقبال البيانات، بالإضافة إلى تطبيقات أخرى يمكنها معالجة البيانات من جهاز إنترنت الأشياء والمساعدة في اتخاذ قرارات بشأن الطلبات التي يتم إرسالها إلى مشغلات الجهاز.
إحدى التكوينات النموذجية هي وجود نوع من الخدمات السحابية التي يتصل بها جهاز إنترنت الأشياء، حيث تتولى هذه الخدمة السحابية أمورًا مثل الأمان، بالإضافة إلى استقبال الرسائل من جهاز إنترنت الأشياء وإرسال الرسائل مرة أخرى إلى الجهاز. تتصل هذه الخدمة السحابية بعد ذلك بتطبيقات أخرى يمكنها معالجة أو تخزين بيانات المستشعر، أو استخدام بيانات المستشعر مع بيانات من أنظمة أخرى لاتخاذ قرارات.
لا تتصل الأجهزة دائمًا بالإنترنت مباشرةً عبر WiFi أو الاتصالات السلكية. تستخدم بعض الأجهزة شبكات متشابكة للتواصل مع بعضها البعض عبر تقنيات مثل البلوتوث، متصلة عبر جهاز محور يحتوي على اتصال بالإنترنت.
في مثال منظم الحرارة الذكي، يتصل المنظم باستخدام WiFi المنزلي بخدمة سحابية تعمل في السحابة. يرسل بيانات درجة الحرارة إلى هذه الخدمة السحابية، ومن هناك يتم كتابتها إلى قاعدة بيانات من نوع ما مما يسمح لصاحب المنزل بالتحقق من درجات الحرارة الحالية والسابقة باستخدام تطبيق الهاتف. ستعرف خدمة أخرى في السحابة درجة الحرارة التي يريدها صاحب المنزل، وترسل رسائل مرة أخرى إلى جهاز إنترنت الأشياء عبر الخدمة السحابية لإخبار نظام التدفئة بالتشغيل أو الإيقاف.
يمكن أن يكون الإصدار الأكثر ذكاءً يستخدم الذكاء الاصطناعي في السحابة مع بيانات من مستشعرات أخرى متصلة بأجهزة إنترنت الأشياء الأخرى مثل مستشعرات الإشغال التي تكتشف الغرف المستخدمة، بالإضافة إلى بيانات مثل الطقس وحتى تقويمك، لاتخاذ قرارات حول كيفية ضبط درجة الحرارة بطريقة ذكية. على سبيل المثال، يمكنه إيقاف التدفئة إذا قرأ من تقويمك أنك في إجازة، أو إيقاف التدفئة على أساس كل غرفة على حدة بناءً على الغرف التي تستخدمها، متعلمًا من البيانات ليصبح أكثر دقة بمرور الوقت.
✅ ما هي البيانات الأخرى التي يمكن أن تساعد في جعل منظم الحرارة المتصل بالإنترنت أكثر ذكاءً؟
إنترنت الأشياء على الحافة
على الرغم من أن الحرف I في IoT يشير إلى الإنترنت، إلا أن هذه الأجهزة لا تحتاج دائمًا إلى الاتصال بالإنترنت. في بعض الحالات، يمكن للأجهزة الاتصال بأجهزة "الحافة" - وهي أجهزة بوابة تعمل على شبكتك المحلية مما يعني أنه يمكنك معالجة البيانات دون إجراء اتصال عبر الإنترنت. يمكن أن يكون هذا أسرع عندما يكون لديك الكثير من البيانات أو اتصال إنترنت بطيء، كما يسمح لك بالعمل دون اتصال حيث لا يكون الاتصال بالإنترنت ممكنًا مثل السفن أو في مناطق الكوارث عند الاستجابة لأزمة إنسانية، ويسمح لك بالحفاظ على خصوصية البيانات. تحتوي بعض الأجهزة على كود معالجة تم إنشاؤه باستخدام أدوات السحابة ويتم تشغيله محليًا لجمع البيانات والاستجابة لها دون استخدام اتصال بالإنترنت لاتخاذ قرار.
أحد الأمثلة على ذلك هو جهاز المنزل الذكي مثل Apple HomePod أو Amazon Alexa أو Google Home، والذي يستمع إلى صوتك باستخدام نماذج الذكاء الاصطناعي المدربة في السحابة، ولكنها تعمل محليًا على الجهاز. تستيقظ هذه الأجهزة عند سماع كلمة أو عبارة معينة، وترسل صوتك فقط عبر الإنترنت للمعالجة بعد ذلك. يتوقف الجهاز عن إرسال الصوت عند نقطة مناسبة مثل اكتشاف وقفة في حديثك. كل ما تقوله قبل إيقاظ الجهاز بالكلمة المفتاحية، وكل ما تقوله بعد أن يتوقف الجهاز عن الاستماع لن يتم إرساله عبر الإنترنت إلى مزود الجهاز، وبالتالي سيظل خاصًا.
✅ فكر في سيناريوهات أخرى تكون فيها الخصوصية مهمة بحيث يكون من الأفضل معالجة البيانات على الحافة بدلاً من السحابة. كتلميح - فكر في أجهزة إنترنت الأشياء التي تحتوي على كاميرات أو أجهزة تصوير أخرى.
أمان إنترنت الأشياء
مع أي اتصال بالإنترنت، يعتبر الأمان أمرًا بالغ الأهمية. هناك نكتة قديمة تقول إن "الحرف S في IoT يشير إلى الأمان" - لا يوجد حرف "S" في IoT، مما يعني أنه غير آمن.
تتصل أجهزة إنترنت الأشياء بخدمة سحابية، وبالتالي فهي آمنة فقط بقدر أمان تلك الخدمة السحابية - إذا سمحت خدمتك السحابية لأي جهاز بالاتصال، يمكن إرسال بيانات ضارة أو حدوث هجمات فيروسية. يمكن أن يكون لهذا عواقب واقعية جدًا حيث تتفاعل أجهزة إنترنت الأشياء وتتحكم في أجهزة أخرى. على سبيل المثال، قام دودة Stuxnet بالتلاعب بالصمامات في أجهزة الطرد المركزي لإتلافها. كما استغل القراصنة ضعف الأمان للوصول إلى أجهزة مراقبة الأطفال وأجهزة المراقبة المنزلية الأخرى.
💁 أحيانًا تعمل أجهزة إنترنت الأشياء وأجهزة الحافة على شبكة معزولة تمامًا عن الإنترنت للحفاظ على البيانات خاصة وآمنة. يُعرف هذا بـ الفصل الهوائي.
نظرة أعمق على المتحكمات الدقيقة
في الدرس السابق، قدمنا المتحكمات الدقيقة. دعونا الآن نلقي نظرة أعمق عليها.
وحدة المعالجة المركزية (CPU)
وحدة المعالجة المركزية هي "العقل" الخاص بالمتحكم الدقيق. إنها المعالج الذي يشغل الكود الخاص بك ويمكنه إرسال البيانات إلى الأجهزة المتصلة واستقبالها منها. تحتوي وحدات المعالجة المركزية على نواة واحدة أو أكثر - وهي في الأساس وحدات معالجة مركزية متعددة يمكنها العمل معًا لتشغيل الكود الخاص بك.
تعتمد وحدات المعالجة المركزية على ساعة تعمل بملايين أو مليارات النبضات في الثانية. كل نبضة، أو دورة، تنظم الإجراءات التي يمكن لوحدة المعالجة المركزية اتخاذها. مع كل نبضة، يمكن لوحدة المعالجة المركزية تنفيذ تعليمات من برنامج، مثل استرداد البيانات من جهاز خارجي أو إجراء عملية حسابية. تسمح هذه الدورة المنتظمة بإكمال جميع الإجراءات قبل معالجة التعليمات التالية.
كلما زادت سرعة دورة الساعة، زادت التعليمات التي يمكن معالجتها في الثانية، وبالتالي زادت سرعة وحدة المعالجة المركزية. تقاس سرعة وحدة المعالجة المركزية بـ الهرتز (Hz)، وهي وحدة قياسية حيث يعني 1 هرتز دورة واحدة أو نبضة واحدة في الثانية.
🎓 غالبًا ما تُعطى سرعات وحدة المعالجة المركزية بالميجاهرتز أو الجيجاهرتز. 1 ميجاهرتز تعني مليون هرتز، و1 جيجاهرتز تعني مليار هرتز.
💁 تنفذ وحدات المعالجة المركزية البرامج باستخدام دورة الجلب-الترجمة-التنفيذ. لكل نبضة ساعة، تقوم وحدة المعالجة المركزية بجلب التعليمات التالية من الذاكرة، وترجمتها، ثم تنفيذها مثل استخدام وحدة الحساب والمنطق (ALU) لإضافة رقمين. تستغرق بعض التعليمات عدة نبضات للتنفيذ، لذا ستعمل الدورة التالية عند النبضة التالية بعد اكتمال التعليمات.
تعمل المتحكمات الدقيقة بسرعات أقل بكثير من أجهزة الكمبيوتر المكتبية أو المحمولة، أو حتى معظم الهواتف الذكية. على سبيل المثال، يحتوي Wio Terminal على وحدة معالجة مركزية تعمل بسرعة 120 ميجاهرتز أو 120,000,000 دورة في الثانية.
✅ يحتوي جهاز كمبيوتر أو ماك متوسط على وحدة معالجة مركزية متعددة النوى تعمل بسرعات متعددة الجيجاهرتز، مما يعني أن الساعة تنبض مليارات المرات في الثانية. ابحث عن سرعة الساعة لجهاز الكمبيوتر الخاص بك وقارن عدد المرات التي تكون أسرع من Wio Terminal.
كل دورة ساعة تستهلك طاقة وتولد حرارة. كلما زادت سرعة النبضات، زاد استهلاك الطاقة وزادت الحرارة الناتجة. تحتوي أجهزة الكمبيوتر على مبردات ومراوح لإزالة الحرارة، وبدونها ستسخن وتغلق في غضون ثوانٍ. غالبًا ما لا تحتوي المتحكمات الدقيقة على أي منهما لأنها تعمل بدرجة حرارة أقل وبالتالي أبطأ بكثير. تعمل أجهزة الكمبيوتر بالطاقة الرئيسية أو البطاريات الكبيرة لبضع ساعات، بينما يمكن للمتحكمات الدقيقة العمل لأيام أو شهور أو حتى سنوات باستخدام بطاريات صغيرة. يمكن للمتحكمات الدقيقة أيضًا أن تحتوي على نوى تعمل بسرعات مختلفة، حيث تتحول إلى نوى أبطأ منخفضة الطاقة عندما يكون الطلب على وحدة المعالجة المركزية منخفضًا لتقليل استهلاك الطاقة.
💁 بعض أجهزة الكمبيوتر وأجهزة ماك تتبنى نفس المزيج من النوى السريعة عالية الطاقة والنوى الأبطأ منخفضة الطاقة، حيث تتحول لتوفير البطارية. على سبيل المثال، يمكن لشريحة M1 في أحدث أجهزة الكمبيوتر المحمولة من Apple التبديل بين 4 نوى أداء و4 نوى كفاءة لتحسين عمر البطارية أو السرعة حسب المهمة التي يتم تشغيلها.
✅ قم ببعض البحث: اقرأ عن وحدات المعالجة المركزية في مقالة ويكيبيديا عن وحدة المعالجة المركزية
المهمة
قم بالتحقيق في Wio Terminal.
إذا كنت تستخدم Wio Terminal لهذه الدروس، حاول العثور على وحدة المعالجة المركزية. ابحث عن قسم نظرة عامة على الأجهزة في صفحة منتج Wio Terminal للحصول على صورة للأجزاء الداخلية، وحاول العثور على وحدة المعالجة المركزية من خلال النافذة البلاستيكية الشفافة في الخلف.
الذاكرة
عادةً ما تحتوي المتحكمات الدقيقة على نوعين من الذاكرة - ذاكرة البرنامج وذاكرة الوصول العشوائي (RAM).
ذاكرة البرنامج غير متطايرة، مما يعني أن ما يتم كتابته عليها يبقى حتى عند انقطاع الطاقة عن الجهاز. هذه هي الذاكرة التي تخزن كود البرنامج الخاص بك.
ذاكرة الوصول العشوائي (RAM) هي الذاكرة التي يستخدمها البرنامج أثناء التشغيل، وتحتوي على المتغيرات التي يخصصها البرنامج والبيانات التي يتم جمعها من الأجهزة الطرفية. ذاكرة الوصول العشوائي متطا 🎓 ذاكرة البرنامج تخزن الكود الخاص بك وتبقى حتى عند انقطاع الطاقة. 🎓 يتم استخدام ذاكرة الوصول العشوائي (RAM) لتشغيل برنامجك ويتم إعادة ضبطها عند انقطاع التيار الكهربائي
مثل وحدة المعالجة المركزية (CPU)، فإن الذاكرة في المتحكمات الدقيقة أصغر بكثير مقارنة بجهاز كمبيوتر شخصي أو جهاز Mac. قد يحتوي جهاز كمبيوتر عادي على 8 جيجابايت (GB) من ذاكرة الوصول العشوائي، أي 8,000,000,000 بايت، حيث يكفي كل بايت لتخزين حرف واحد أو رقم من 0 إلى 255. بينما يحتوي المتحكم الدقيق عادةً على كيلوبايتات (KB) فقط من ذاكرة الوصول العشوائي، حيث أن الكيلوبايت يساوي 1,000 بايت. يحتوي جهاز Wio Terminal المذكور أعلاه على 192 كيلوبايت من ذاكرة الوصول العشوائي، أي 192,000 بايت - أقل بأكثر من 40,000 مرة من جهاز كمبيوتر عادي!
يوضح الرسم البياني أدناه الفرق النسبي في الحجم بين 192 كيلوبايت و8 جيجابايت - النقطة الصغيرة في المركز تمثل 192 كيلوبايت.
تخزين البرامج أيضًا أصغر مقارنة بجهاز كمبيوتر. قد يحتوي جهاز كمبيوتر عادي على قرص صلب بسعة 500 جيجابايت لتخزين البرامج، بينما قد يحتوي المتحكم الدقيق على كيلوبايتات فقط أو ربما بضع ميغابايت (MB) من التخزين (1 ميغابايت = 1,000 كيلوبايت، أو 1,000,000 بايت). يحتوي جهاز Wio Terminal على 4 ميغابايت من تخزين البرامج.
✅ قم بإجراء بحث صغير: ما هي سعة ذاكرة الوصول العشوائي والتخزين في الكمبيوتر الذي تستخدمه الآن؟ كيف تقارن هذه السعة مع المتحكم الدقيق؟
الإدخال/الإخراج
تحتاج المتحكمات الدقيقة إلى وصلات إدخال وإخراج (I/O) لقراءة البيانات من المستشعرات وإرسال إشارات التحكم إلى المشغلات. تحتوي عادةً على عدد من دبابيس الإدخال/الإخراج العامة (GPIO). يمكن تكوين هذه الدبابيس برمجيًا لتكون إدخالًا (أي تستقبل إشارة) أو إخراجًا (ترسل إشارة).
🧠⬅️ تُستخدم دبابيس الإدخال لقراءة القيم من المستشعرات
🧠➡️ ترسل دبابيس الإخراج تعليمات إلى المشغلات
✅ ستتعلم المزيد عن هذا في درس لاحق.
المهمة
قم بالتحقيق في جهاز Wio Terminal.
إذا كنت تستخدم جهاز Wio Terminal لهذه الدروس، ابحث عن دبابيس GPIO. ابحث عن قسم مخطط الدبابيس في صفحة منتج Wio Terminal لتتعرف على وظيفة كل دبوس. يأتي جهاز Wio Terminal مع ملصق يمكنك تثبيته على الجزء الخلفي يحتوي على أرقام الدبابيس، لذا قم بإضافته الآن إذا لم تكن قد فعلت ذلك بالفعل.
الحجم الفيزيائي
عادةً ما تكون المتحكمات الدقيقة صغيرة الحجم، حيث أن أصغرها، مثل Freescale Kinetis KL03 MCU صغير بما يكفي ليتسع في تجويف كرة الجولف. فقط وحدة المعالجة المركزية في جهاز كمبيوتر يمكن أن تكون بحجم 40 ملم × 40 ملم، وهذا لا يشمل المشتتات الحرارية والمراوح اللازمة لضمان تشغيل وحدة المعالجة المركزية لأكثر من بضع ثوانٍ دون ارتفاع درجة الحرارة، مما يجعلها أكبر بكثير من متحكم دقيق كامل. مجموعة تطوير Wio Terminal التي تحتوي على متحكم دقيق، غلاف، شاشة، ومجموعة من الوصلات والمكونات ليست أكبر بكثير من وحدة المعالجة المركزية Intel i9 العارية، وأصغر بكثير من وحدة المعالجة المركزية مع المشتت الحراري والمروحة!
الجهاز | الحجم |
---|---|
Freescale Kinetis KL03 | 1.6 ملم × 2 ملم × 1 ملم |
Wio Terminal | 72 ملم × 57 ملم × 12 ملم |
Intel i9 CPU، مشتت حراري ومروحة | 136 ملم × 145 ملم × 103 ملم |
الأطر وأنظمة التشغيل
نظرًا لسرعتها المنخفضة وحجم ذاكرتها، لا تقوم المتحكمات الدقيقة بتشغيل نظام تشغيل (OS) بالمعنى التقليدي كما في أجهزة الكمبيوتر المكتبية. يحتاج نظام التشغيل الذي يجعل جهاز الكمبيوتر يعمل (مثل Windows أو Linux أو macOS) إلى الكثير من الذاكرة وقوة المعالجة لتشغيل مهام غير ضرورية تمامًا للمتكاملات الدقيقة. تذكر أن المتحكمات الدقيقة عادةً ما تتم برمجتها لأداء مهمة أو أكثر محددة جدًا، على عكس أجهزة الكمبيوتر العامة مثل أجهزة الكمبيوتر الشخصية أو أجهزة Mac التي تحتاج إلى دعم واجهة مستخدم، تشغيل الموسيقى أو الأفلام، توفير أدوات لكتابة المستندات أو البرمجة، تشغيل الألعاب، أو تصفح الإنترنت.
لبرمجة متحكم دقيق بدون نظام تشغيل، تحتاج إلى بعض الأدوات التي تتيح لك بناء الكود الخاص بك بطريقة يمكن للمتكامل تشغيلها، باستخدام واجهات برمجة التطبيقات (APIs) التي يمكنها التحدث إلى أي أجهزة طرفية. كل متحكم دقيق مختلف، لذلك عادةً ما تدعم الشركات المصنعة أطر عمل قياسية تتيح لك اتباع "وصفة" قياسية لبناء الكود الخاص بك وتشغيله على أي متحكم دقيق يدعم هذا الإطار.
يمكنك برمجة المتحكمات الدقيقة باستخدام نظام تشغيل - يُشار إليه غالبًا باسم نظام تشغيل الوقت الحقيقي (RTOS)، حيث تم تصميمه للتعامل مع إرسال البيانات إلى الأجهزة الطرفية واستلامها في الوقت الفعلي. هذه الأنظمة خفيفة جدًا وتوفر ميزات مثل:
- تعدد المهام، مما يسمح لك بتشغيل أكثر من كتلة كود في نفس الوقت، إما على عدة أنوية أو بالتناوب على نواة واحدة
- الشبكات للسماح بالتواصل عبر الإنترنت بشكل آمن
- مكونات واجهة المستخدم الرسومية (GUI) لبناء واجهات المستخدم (UI) على الأجهزة التي تحتوي على شاشات.
✅ اقرأ عن بعض أنظمة RTOS المختلفة: Azure RTOS، FreeRTOS، Zephyr
أردوينو
أردوينو هو على الأرجح الإطار الأكثر شهرة للمتكاملات الدقيقة، خاصة بين الطلاب والهواة وصناع المشاريع. أردوينو هو منصة إلكترونية مفتوحة المصدر تجمع بين البرمجيات والأجهزة. يمكنك شراء لوحات متوافقة مع أردوينو من الشركة نفسها أو من شركات تصنيع أخرى، ثم البرمجة باستخدام إطار عمل أردوينو.
تُبرمج لوحات أردوينو باستخدام لغة C أو C++. استخدام C/C++ يسمح بكتابة كود صغير الحجم وسريع التنفيذ، وهو أمر ضروري على جهاز محدود مثل المتحكم الدقيق. يُشار إلى جوهر تطبيق أردوينو باسم "سكيتش" وهو كود C/C++ يحتوي على وظيفتين - setup
وloop
. عند تشغيل اللوحة، يقوم كود إطار عمل أردوينو بتشغيل وظيفة setup
مرة واحدة، ثم يقوم بتشغيل وظيفة loop
مرارًا وتكرارًا بشكل مستمر حتى يتم إيقاف تشغيل الطاقة.
تكتب كود الإعداد الخاص بك في وظيفة setup
، مثل الاتصال بشبكة WiFi وخدمات السحابة أو تهيئة الدبابيس للإدخال والإخراج. يحتوي كود الحلقة الخاص بك على كود المعالجة، مثل قراءة البيانات من مستشعر وإرسال القيمة إلى السحابة. عادةً ما تضيف تأخيرًا في كل حلقة، على سبيل المثال، إذا كنت تريد إرسال بيانات المستشعر كل 10 ثوانٍ فقط، تضيف تأخيرًا لمدة 10 ثوانٍ في نهاية الحلقة حتى يتمكن المتحكم الدقيق من النوم، مما يوفر الطاقة، ثم تشغيل الحلقة مرة أخرى عند الحاجة بعد 10 ثوانٍ.
✅ تُعرف هذه البنية البرمجية باسم حلقة الأحداث أو حلقة الرسائل. تستخدم العديد من التطبيقات هذا النمط في الخلفية وهو المعيار لمعظم تطبيقات سطح المكتب التي تعمل على أنظمة تشغيل مثل Windows أو macOS أو Linux. تستمع وظيفة loop
للرسائل من مكونات واجهة المستخدم مثل الأزرار، أو الأجهزة مثل لوحة المفاتيح، وتستجيب لها. يمكنك قراءة المزيد في مقالة عن حلقة الأحداث.
يوفر أردوينو مكتبات قياسية للتفاعل مع المتحكمات الدقيقة ودبابيس الإدخال/الإخراج، مع تطبيقات مختلفة تحت الغطاء لتشغيلها على متحكمات دقيقة مختلفة. على سبيل المثال، وظيفة delay
ستوقف البرنامج لفترة زمنية معينة، ووظيفة digitalRead
ستقرأ قيمة HIGH
أو LOW
من الدبوس المعطى، بغض النظر عن اللوحة التي يتم تشغيل الكود عليها. تعني هذه المكتبات القياسية أن كود أردوينو المكتوب للوحة واحدة يمكن إعادة تجميعه لأي لوحة أردوينو أخرى وسيعمل، بشرط أن تكون الدبابيس متشابهة وتدعم اللوحات نفس الميزات.
هناك نظام بيئي واسع من مكتبات أردوينو التابعة لجهات خارجية يتيح لك إضافة ميزات إضافية إلى مشاريع أردوينو الخاصة بك، مثل استخدام المستشعرات والمشغلات أو الاتصال بخدمات إنترنت الأشياء السحابية.
المهمة
قم بالتحقيق في جهاز Wio Terminal.
إذا كنت تستخدم جهاز Wio Terminal لهذه الدروس، أعد قراءة الكود الذي كتبته في الدرس السابق. ابحث عن وظيفتي setup
وloop
. راقب الإخراج التسلسلي لوظيفة loop
التي يتم استدعاؤها بشكل متكرر. حاول إضافة كود إلى وظيفة setup
لكتابة شيء إلى المنفذ التسلسلي ولاحظ أن هذا الكود يتم استدعاؤه مرة واحدة فقط في كل مرة يتم فيها إعادة تشغيل الجهاز. حاول إعادة تشغيل جهازك باستخدام مفتاح الطاقة الجانبي لتظهر أن هذا الكود يتم استدعاؤه في كل مرة يتم فيها إعادة تشغيل الجهاز.
نظرة أعمق على الحواسيب أحادية اللوحة
في الدرس السابق، قدمنا الحواسيب أحادية اللوحة. دعونا الآن نلقي نظرة أعمق عليها.
راسبيري باي
مؤسسة راسبيري باي هي مؤسسة خيرية من المملكة المتحدة تأسست في عام 2009 لتعزيز دراسة علوم الكمبيوتر، خاصة على مستوى المدارس. كجزء من هذه المهمة، طوروا حاسوبًا أحادي اللوحة يسمى راسبيري باي. تتوفر أجهزة راسبيري باي حاليًا في 3 أنواع - إصدار كامل الحجم، وإصدار أصغر يسمى Pi Zero، ووحدة حوسبة يمكن تضمينها في جهاز إنترنت الأشياء النهائي الخاص بك.
أحدث إصدار من راسبيري باي بالحجم الكامل هو راسبيري باي 4B. يحتوي هذا الجهاز على وحدة معالجة مركزية رباعية النواة (4 أنوية) تعمل بسرعة 1.5 جيجاهرتز، وذاكرة وصول عشوائي بسعة 2 أو 4 أو 8 جيجابايت، وإيثرنت جيجابت، وWiFi، ومنفذين HDMI يدعمان شاشات 4K، ومنفذ إخراج صوت وفيديو مركب، ومنافذ USB (2 USB 2.0، و2 USB 3.0)، و40 دبوس GPIO، وموصل كاميرا لوحدة كاميرا راسبيري باي، وفتحة بطاقة SD. كل هذا على لوحة بحجم 88 ملم × 58 ملم × 19.5 ملم ويتم تشغيلها بواسطة مصدر طاقة USB-C بقوة 3 أمبير. تبدأ أسعارها من 35 دولارًا أمريكيًا، وهي أرخص بكثير من جهاز كمبيوتر شخصي أو جهاز Mac.
💁 يوجد أيضًا Pi400، وهو جهاز كمبيوتر مدمج بالكامل مع Pi4 داخل لوحة مفاتيح.
يعتبر Pi Zero أصغر حجمًا وأقل استهلاكًا للطاقة. يحتوي على وحدة معالجة مركزية أحادية النواة بسرعة 1 جيجاهرتز، وذاكرة وصول عشوائي بسعة 512 ميجابايت، وWiFi (في طراز Zero W)، ومنفذ HDMI واحد، ومنفذ micro-USB، و40 دبوس GPIO، وموصل كاميرا لوحدة كاميرا راسبيري باي، وفتحة بطاقة SD. يبلغ حجمه 65 ملم × 30 ملم × 5 ملم، ويستهلك طاقة قليلة جدًا. سعر Zero هو 5 دولارات أمريكية، بينما سعر إصدار W مع WiFi هو 10 دولارات أمريكية.
🎓 وحدات المعالجة المركزية في كلا الجهازين هي معالجات ARM، على عكس معالجات Intel/AMD x86 أو x64 التي تجدها في معظم أجهزة الكمبيوتر الشخصية وأجهزة Mac. هذه المعالجات مشابهة لتلك الموجودة في بعض المتحكمات الدقيقة، وكذلك في معظم الهواتف المحمولة، وجهاز Microsoft Surface X، وأجهزة Mac الجديدة التي تعتمد على Apple Silicon.
تعمل جميع إصدارات راسبيري باي بنسخة من نظام Debian Linux تسمى Raspberry Pi OS. يتوفر هذا النظام كنسخة خفيفة بدون واجهة رسومية، وهو مثالي للمشاريع "بدون شاشة"، أو كنسخة كاملة مع بيئة سطح مكتب كاملة، بما في ذلك متصفح ويب، وتطبيقات مكتبية، وأدوات برمجة، وألعاب. نظرًا لأن النظام هو نسخة من Debian Linux، يمكنك تثبيت أي تطبيق أو أداة تعمل على Debian وتم بناؤها لمعالج ARM داخل Pi.
المهمة
قم بالتحقيق في جهاز راسبيري باي.
إذا كنت تستخدم جهاز راسبيري باي لهذه الدروس، اقرأ عن المكونات المختلفة للأجهزة الموجودة على اللوحة.
- يمكنك العثور على تفاصيل حول المعالجات المستخدمة على صفحة توثيق أجهزة راسبيري باي. اقرأ عن المعالج المستخدم في الجهاز الذي تستخدمه.
- حدد موقع دبابيس GPIO. اقرأ المزيد عنها في توثيق GPIO الخاص براسبيري باي. استخدم دليل استخدام دبابيس GPIO لتحديد الدبابيس المختلفة على جهازك.
برمجة الحواسيب أحادية اللوحة
الحواسيب أحادية اللوحة هي حواسيب كاملة تعمل بنظام تشغيل كامل. هذا يعني أن هناك مجموعة واسعة من لغات البرمجة، والأطر، والأدوات التي يمكنك استخدامها لبرمجتها، على عكس المتحكمات الدقيقة التي تعتمد على دعم اللوحة في أطر مثل أردوينو. تحتوي معظم لغات البرمجة على مكتبات يمكنها الوصول إلى دبابيس GPIO لإرسال واستقبال البيانات من المستشعرات والمشغلات.
✅ ما هي لغات البرمجة التي تعرفها؟ هل تدعمها أنظمة Linux؟
اللغة الأكثر شيوعًا لبناء تطبيقات إنترنت الأشياء على راسبيري باي هي Python. هناك نظام بيئي ضخم من الأجهزة المصممة خصيصًا لـ Pi، ومعظمها يتضمن الكود اللازم لاستخدامها كمكتبات Python. بعض هذه الأنظمة تعتمد على "القبعات" - سميت بذلك لأنها توضع فوق Pi مثل القبعة وتتصل بمقبس كبير مع 40 دبوس GPIO. توفر هذه القبعات قدرات إضافية، مثل الشاشات، والمستشعرات، والسيارات التي يتم التحكم فيها عن بُعد، أو المحولات التي تتيح لك توصيل المستشعرات باستخدام كابلات موحدة.
استخدام الحواسيب أحادية اللوحة في نشرات إنترنت الأشياء الاحترافية
تُستخدم الحواسيب أحادية اللوحة في نشرات إنترنت الأشياء الاحترافية، وليس فقط كأدوات تطوير. فهي توفر طريقة قوية للتحكم في الأجهزة وتشغيل المهام المعقدة مثل تشغيل نماذج التعلم الآلي. على سبيل المثال، هناك وحدة Raspberry Pi 4 compute التي توفر كل قوة Raspberry Pi 4 ولكن في شكل مضغوط وأرخص بدون معظم المنافذ، ومصممة لتُدمج في الأجهزة المخصصة.
🚀 التحدي
كان التحدي في الدرس الأخير هو سرد أكبر عدد ممكن من أجهزة إنترنت الأشياء الموجودة في منزلك أو مدرستك أو مكان عملك. بالنسبة لكل جهاز في هذه القائمة، هل تعتقد أنه يعتمد على المتحكمات الدقيقة أم الحواسيب أحادية اللوحة، أم ربما مزيج من الاثنين؟
اختبار ما بعد المحاضرة
المراجعة والدراسة الذاتية
- اقرأ دليل البدء مع Arduino لفهم المزيد عن منصة Arduino.
- اقرأ مقدمة عن Raspberry Pi 4 لتتعرف أكثر على Raspberry Pi.
- تعرف على المزيد حول بعض المفاهيم والاختصارات في مقال "ما هي وحدة المعالجة المركزية، وحدة المعالجة الدقيقة، وحدة التحكم الدقيقة، ووحدة معالجة الرسومات؟" في مجلة الهندسة الكهربائية.
✅ استخدم هذه الأدلة، إلى جانب التكاليف الموضحة من خلال الروابط في دليل الأجهزة لتقرر أي منصة أجهزة تريد استخدامها، أو إذا كنت تفضل استخدام جهاز افتراضي.
الواجب
قارن بين المتحكمات الدقيقة والحواسيب أحادية اللوحة
إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.