إعداد بيئة تطوير الأردوينو - إنترنت الأشياء - ثاني ثانوي
الجزء الأول
1. أسس إنترنت الأشياء
2. إنترنت الأشياء في حياتنا
3. إنشاء تطبيقات إنترنت الأشياء باستخدام الأردوينو
4. إنشاء تطبيق سحابي لإنترنت الأشياء
الجزء الثاني
5 .تطبيقات إنترنت الأشياء المتقدمة
6 .برمجة إنترنت الأشياء باستخدام ++C
7 .الرسائل في إنترنت الأشياء
8. محاكاة شبكة مستشعرات إنترنت الأشياء اللاسلكية
116 4. إنشاء تطبيق سحابي لإنترنت الأشياء ستتعلم في هذه الوحدة خطوات إنشاء تطبيق الانترنت الأشياء يراقب البيئة المحيطة. ويقوم يجمع البيانات وارسالها عبر الإنترنت الى منصة سحابية، كما ستنشئ دائرة باستخدام جهاز تحكم الأردوينو الدقيق، وستبرمجها باستخدام لغة بايثون. أهداف التعلم بنهاية هذه الوحدة سيكون الطالب قادرا على أن : > يستخدم بايثون لبرمجة جهاز تحكم الأردوينو الدقيق مع بروتوكول Pyfirmata. < يصمم دائرة لتطبيق انترنت الأشياء باستخدام جهاز تحكم الأردوينو الدقيق. يراقب البيئة المحيطة ويجمع بيانات المستشعر في الزمن الفعلي. يستخدم خدمة الويب لارسال بيانات مجمعة الى منصة سحابية. يراقب بيئة بعيدة من خلال بيانات على منصة سحابية. يتعرف على طريقة توظيف بيانات المستشعر والبيانات السحابية في اتخاذ قرارات وافق تلك البيانات المجمعة يتعرف على طريقة توسيع نطاق تطبيقات انترنت الأشياء لتشمل حلول معقدة. الأدوات بيئة التطوير المتكاملة للأردوينو ( Arduino IDE ) اداة جيت برينز باي تشارم (JetBrains PyCharm ) منصة الحوسبة السحابية Binary loT Cloud
إنشاء تطبيق سحابي لإنترنت الأشياء
أهداف التعلم من وحدة إنشاء تطبيق سحابي لإنترنت الأشياء
بيئة التطوير المكتملة للأردوينو
الدرس الأول إعداد بيئة تطوير الأردوينو الرقمي www.eri.edu.sa استخدام لغة بايثون في برمجة لوحة الأردوينو Using Python with Arduino تعتبر لغة ++C بمثابة لغة البرمجة الرسمية لجهاز تحكم الأردوينو الدقيق، ولكن يمكن استخدام لقنة أخرى مثل باينون البرمجته وذلك من خلال بروتوكول .Firmata تعد بايثون لغة برمجة عالية المستوى. وتكمن قوتها في العدد الكبير من المكتبات التي يمكن استخدامها لكي تدعم هذه اللغة وتجعلها شاملة للأغراض المختلفة والمتعددة ويقوم بروتوكول Firmata بتوفير الاتصال بين جهاز التحكم الدقيق وبين الأوامر التي تزوده بها لغة البرمجة ستستخدم هنا لغة بايثون مع مكتبة PyFirmata، والتي تشكل واجهة بروتوكول Firmata قم بتوصيل جهاز تحكم الأردوينو التعليق تستفيد US في جهازك. iliaة التعليم شكل 41 الوصل الوسطة الأردوينو يعتقد USB للطب الحمول
استخدام لغة بايثون في برمجة لوحة الأردوينو
تعد بيئة التطوير المتكاملة للأردوينو (Arduino IDE) بمثابة محرد نصي صمم خصيصا لأجهزة التحكم الدقيقة في الأردوينو، وتزود هذه البيئة بأدوات إضافية للتفاعل مع الأردوينو. وتحتوي على برامج معدة مسبقا لأداء مهام محدّدة في الأردوينو. لتثبيت بيئة التطوير المتكاملة للأردوينو، انتقل إلى الموقع الإلكتروني https://www.arduino.cc/en/software وقم بتنزيل أحدث إصدار. لم قم بعملية التتبيت من خلال تشغيل برنامج وبعد ذلك ستظهر بيئة التطوير المتكاملة للأردوينو لتقوم بتحميل المكتبة القياسية StandardFirmata لإجراء عملية الاتصال بين الأردوينو وبرنامحك في بايتون. تأكد من أن إصدار بيئة التطوير المتكاملة للأردوينو الذي تقوم بتنزيله متوافق مع جهاز تحكم الأردوينو الدقيق الخاص بك. التثبيت. يمكنك العثور على بيئة التطوير المتكاملة للأردوينو ( Arduino IDE بواسطة أيقونة البحث في حاسوبك التحميل Standardfirmata : > اضغط على أيقونة البحث في ويندوز اكتب Arduino IDE افتح Arduino IDE لجنة التطوير المتكاملة للاردوسو) 5 حمل Standardfirmata جے Arduino IDE سيئة التطوير المتكاملة للأردوينوا بالضغط على File (ملف) > Examples ( أمثلة ) < Standardfirmata < Firmata قم بتحميل المكتبة إلى الأردوينو 2 التعليم 2 4 2) 3
تحميل StandardFirmata
سلللل 4 Firmata هو بروتوكول يمكن البرامج الموجودة في حاسوبك من الاتصال بأجهزة التحكم الدقيقة ويمكن استخدام هذا البروتوكول في سائر أجهزة التحكم البقيعة 5 حرارة الصليط شكال 42 الخيل مكتبة Fimate
تحكيل المكتبة Firmata
يمكنك الوصول إلى منفذ الاتصال من حاسوبك إلى لوحة الأردوينو بالضغط على Tools ( أدوات ) ثم Port (منقذ) ثم Serial Ports (منافذ تسلسلية) كما هو موضح أدناه. عيّن منفذ الاتصال في هذا المثال إلى COM4. قد يختلف المنفذ في حاسويك. فعلى سبيل المثال قد يكون COM3 أو COMS. تذكر أن تدون منفذ الاتصال، حيث ستستخدمه في برنامج بايثون للاتصال بلوحة الأردوينو. توصيل لوحة Arduino ino ( أردوينو أنها معتمد CDMA واذا لم تقم بتوصيل جهاز الأردوير المقالة USB في جهارك فلن يكون حيار Port عبالا شكر 4.3 عرض البعد التصال الأردوين عند التقلل جهاز تحكم الأردوينو الدقيق باستخدام لغة البابيون. عليك ابقاء مكتبة Standardimata قيد التشعيل لكي يتمكن برنامج البايثون الذي يكتبه من الاتصال بالأردوينو وزارة التعليم
توصيل لوحة Arduino Uno
G pyfirmata الآن وبعد أن قمت بتحميل StandardFirmata على جهال تحكم الأردوينو الدقيق. عليك اتباع الخطوات الآتية مع كل مشروع تقوم بتنفيذه باستخدام لغة البايثون: افتح بایي تشارم (PyCharm ) وقم بتثبيت حزمة pyfirmata من خلال نظام مدير الحرم (PIP) في باي تشارم. افتح الواجهة الطرفية (Terminal) في مجلد عملك، وقم بإدخال الأمر الآتي pip install pyfirmata انشئ ملف بايثون حديد، وفي بداية تعليماتك البرمجية استدع حزمة pyfirmata البرمجية بالسطر البرمجي أدناه import pyfirmata انشي متغيرا باسم communication port ( مقصد الاتصال) ، يقوم بتخزين اسم متقد الاتصال بحاسوبك حيث يتم توصيل لوحة الأردوينو: communication_purt = "COM4" PC PyCharm استخدم الأوامر الآتية لإجراء الاتصال بين برنامج البايثون ولوحة الأردوينو الخاصة بك. وللوصول إلى أطراف لوحة الأردوينو # Set the Arduino port to read from board = pyfirmata. Arduino( communication_port) # Set up access to the inputs of the circuit it = pyfirmata.util.Iterator(board) it.start() يتعين عليك استخدام تكرار لا نهائي تلمذ من خلاله أوامرك بصورة مستمرة في الأردوينو. شكل 41 دمعة الأردويي الداينول اس حلال phrinata while True: # write your code here
افتح باي تشارم PyCharm
تبدأ كافة برامج بايثون للوحة الأردوينو بما يلي: import pyfirmata communication_port = "COM4" # Set the Arduino port to read from board pyfirmata. Arduino (communication_port) # Set up pyfirmata to access the status of the inputs of the circuit it pyfirmata.util.Iterator(board) it.start() while True: # write your code here الشمل البرنامج الذي تقوم تطبيقه على حاسونك وليس على الأردوينو مما يعني أنه يمكنك الوصول إلى كافة الوظائف التي قد لا تتوافر في جهاز تحكم الاردوينو الدقيق ل 45 مسجد السري لي يا من خلال pyarmata ARDUINO مرارة التعليم
برجمة الأردوينو في بايثون من خلال pyfirmata
التعامل مع Working with PyFirmata PyFirmata الوظائف الرئيسة التي تحتاج إلى تنفيذها في بايثون بواسطة PyFirmata هي قراءة القيم وكتابتها لكافة الأطراف التناظرية والرقمية لجهاز تحكم الأردوينو الدقيق ينفذ الإجراء أعلاه في pyfirmata بواسطة الدالة ( )board get_pin، والتي تستقبل معاملات (Parameters) مكونة من ثلاثة أحرف تفصل بين كل منهما نقطتان رأسيتان المعامل الأول هو "" أو "d" ويعني ظرف تناظري (analog) أو رقمي (digital). • المعامل الثاني هو رقم الطرف الذي تريده. ترقم الأطراف الرقمية من 120 . وترقم الأطراف التناظرية من AD-A5 المعامل الثالث هو طريقة التفاعل مع جهاز تحكم الأردوينو الدقيق. بالنسبة للأطراف الرقمية. يُشير الحرف "|" إلى input ( مدخلات والحرف "o" إلى output (مخرجات). تضمين عرض التبضة بالنسية للأطراف التناظرية، يشير الحرف " إلى input (Pulse Width Modulation-PWM) ( مدخلات والحرف "p" إلى Pulse Width Modulation هو عملية تعديل تستخدم الإحراج الرقمي لإصدار (تضمين عرض القبضة). إشارة تناظرية بقوة متغيرة تضمين عرض النبضة كتار الوان كثر الجامعة 15 21 75 75% 50€ BUNE دورة التشغيل 0 - (0)anatagWrita Chu Zw 75% Z 15 2 15 Chu دورة التشغيل 25 - (analog Write(l STIN دورة التشغيل 50 - (127)analogWrite SUM LOVE ופ Sy Chu IV 75% 25% 73% 25% 758 25% 25 7558 75 2550 25% 75% مرارة للتعليم 100% 100% دورة التشغيل 75 - (191)analogWrite 100 دورة التشغيل 1009 - (255)analogWrite حمر قام السم 4.6 Tv 11000 11050
التعامل مع Working with PyFirmata PyFirmata
digital_pin = التفاعل مع الأطراف الرقمية Interacting with Digital Pins قراءة قيمة من الطرف الرقمي 10 (10) digital pin). board.get_pin("d: 18:1") pin value digital_pin,read() = كتابة قيمة إلى الطرف الرقمي 10 (10 digital pin). digital pan board.get_pin("d: 10:0") digital_pin.write(1) digital_pin.write(0) التفاعل مع الأطراف التناظرية Interacting with Analog Pins قراءة قيمة من الطرف التناظري 44 analog pin). analog pinboard.get_pin("a:4:1") pin_value = analog pin.real( ) analog_pin = Board.get_pin( "a: 4:0 analog pin.write(0.75) وزارة التعليم 0008 كتابة قيمة إلى الطرف التناظري 4 4 analog pin). يتعلل كل متير أو مشعل فيما طالقة 8 ملعقط (LOW) الكل 97 الاختلاف بين قراعة السياللك من الأطراف الرقمية الأطراف المطرية (HIGH) 234
التفاعل مع الأطراف الرقمية Interacting with Digital Pins
التفاعل مع الأطراف التناظرية Interacting with Analog Pins
مشروع أردوينو مبسط مع PyFirmata A Simple Arduino Project with PyFirmata لكي تتعرف على طريقة استخدام مكتبة PyFirmata ستنسى مشروع أردوينو مبسطا يستخدم دايودا خارجيا مشعًا للضوء. بالإضافة إلى طرف الدايود المشع للضوء المدمج في الأردوينو. ستستخدم بايشون ليرمجة كل دايود مشع اللضوء ليومض بالتناوب. ستنشن أولا محاكاة للدائرة في دوائر تینکرکاد (Tinkercad Circuits)، وستحتاج في هذا المشروع إلى المكونات الآتية: لوحة أردوينو أونو R3. • لوحة توصيل الدوائر الصغيرة. . دايود مشع للضوء. . مقاومة. المكونات التي ستستخدمها في هذا المشروع لوحة توصيل الدوائر الصغيرة (Breadboard Small) O UND لوحة أردوينو أونو R3 (Arduino Uno R3) مقاومة (Resistor) دايود مشبع شكل 48 مكونات المشروع وزارة التعليم
مشروع أردوينو مبسط مع PyFirmata
ابدأ بوضع المكونات المطلوبة في مساحة عمل محاكي دوائر تينكر كار. التحميل المكونات: ابحت عن 3 Arduino Uno (توحة أردوينو أوتو (R3) من مكتبة Components (المكونات) واسحبها واقلتها في مساحة العمل. انت عن Breadboard Small لوحة توصيل الدوائر الصغيرة من مكتبة Components | المكونات ) ، واسعها وافلتها في ساحة العمل. 2 1 ا السلام حرارة التعليم شار 49 لحم
تحميل المكونات
ستكمل الآن توصيل الأردوينو بدايود خارجي مشع للصوب التوصيل الأردوينو وصل GND | الطرف الأرضي) للوحة الأردوينو بالعمود السالب من Breadboard Small الموحة توصيل الدوائر الصغيرة)، وغير لون السلك إلى black ( الأسود) ابحث عن Resistor ( المقاومة ) من مكتبة Components (المكومات . وضعها على Breadboard Small لوحة توصيل الدوائر الصغيرة) لم قم توصيل 12 Digital in ( الطرف الرقمي (12) - 1 Terminal ( الطرف 1 من المقاومة وغير لون السلك إلى red (الأحمر). 0 2 1 3 ∞ LINEY وزارة التعليم 4.10 اتوصل الأردويلي
توصيل الأردوينو
لتوصيل الدايود المشع للضوء أبحت عن LED ( الدايود المشع للصور من مكتبة Components (المكونات) وضعه على Breadboard Small (لوحة توصيل الدوائر الصغيرة). 2 قم بتوصيل 2 Terminal ( طرف (2) من المقاومة بالدايود المجتمع الضوء قم بتوصيل مهبط الدايود الشيخ للضوء بالعمود السالب في Breadboard Small الموجة التوصيل الصغيرة - 2 1 2 3 الدائرة يسكنها النهائي OO LIND شكل 11 الوصل الدا اليود الملع للتصويب الخارجي مرارة التعليم شكل 417 الدالة تنقلها المالي به وام قد كان
توصيل الدايود المشع للضوء
التركيب الفعلي للدائرة Physical Circuit تمثل هذه الصورة شكل الدائرة الفعلية رايوه المشرع المصوء خارجي داليد مع للضوء منهج 8 ARDUINO مرارة التعليم ب قلة حورة الدالة الفعلية
التركيب الفعلي للدائرة Physical Circuit
D12 GND AREF 13 12 TX RX وزارة التعليم H برمجة الأردوينو للوميض Programming the Arduino to Blink سنبرمج الدايودين المشعين للضوء ليومضا واحدا تلو الآخر، وذلك بفارق زمني ثانية واحدة، يوصل الدايود المشع للضوء المدمج في الأردوينو بالطرف الرقمي 13، ويوصل الدايود المشع للضوء الخارجي بالطرف الرقمي .12 ثم بواسطة تكرار لانهائي سترسل إشارة مرتفعة (1) HIGH إلى الدايود المشع للضوء الذي سيومض، وإشارة منخفضة (0) LOW إلى الدايود المشع للضوء الآخر. ستعكس الإشارات بعد ثانية واحدة. افتح ماي تشارم وأنتمى ملف بايثون جديد واستورد المكتبات الضرورية. import pyfirmata import time communication_port = 'COM4' قم بإعداد منقذ الاتصال. هم بإعداد الاتصال بين Pyfirmata ولوحة توصيل الدوائر الصغيرة. board pyfirmata. Arduino (communication_port) it = pyfirmata.util.Iterator(board) it.start() عين الأطراف الخاصة بالدايود المشع للضوء الخارجي والداخلي. O ARD external_ted = board.get_pin("d:12:0") internal_led = board.get_pin("d:13:0") 4.14 D13 ATMO 320
برمجة الأردوينو للوميض
HIGH D12 LOW D12 كتابة منطق الدائرة التشغيل وميض الدايودات المشعة للصور. while True: external_led.write(1) internal led.write(0) ARDUINO time.sleep(1) external_led.write(8) internal_led.write(1) time.sleep (1) كر 415 الشارقة من الأردويم إلى الأطراف مرارة التعليم
كتابة منطق الدائرة لتشغيل وميض الدايودات المشعة للضوء
D البرنامج الكامل Complete Code import pyfirmata import time Communication_port = 'COM4" board pyfirmata. Arduino(communication_port) it pyfirmata.util.Iterator(board) it.start() external led board,get pin("d:12:0") CITAL FWM 8 UNO ARDUIND internal led while True: board.get_pin("d: 13:0) external led.write(1) DIGITAL (PWM O UNO APDUTNO شعر 416 سعر الدابودات المشعة الضوء بالبرة . internal led.write(0) time, sleep(1) external led.write(0) internal led.write(1) time.sleep(1)
البرنامج الكامل
1 تمرينات حدد الجملة الصحيحة والحملة الخاطئة فيما يلي: 1 يمكن برمجة جهاز تحكم الأردوينو الدقيق بواسطة لغة C فقط 2 يعد بروتوكول Firmata أحد بروتوكولات التشفير. 3. توظف مكتبة Pyfirmata باستخدام لغة البايثون فقط. 4. لإنشاء اتصال بين الأردوينو والحاسب. ستحتاج إلى تحميل مكتبة ServoFirmata 5 تتعرف برمجة PyFirmata تلقائيا على منفذ الاتصال الذي تستخدمه لوحة الأردوينو. 6، نستخدم الأطراف التناظرية تضمين عرض النبضة بدلا من طريقة الإحراج القياسية. 7 يمكن المدايودات المشعة للصوء الخارجية أن تضيء بإشارات رقمية وتناظرية. 8 يتصل الدايود المشع للضوء المدمج داخل الأردوينو بالطرف الرقمي 10. و يعمل برنامج البايثون مع PyFirinata على جهاز تحكم الأردوينو الدقيق. 10. تتركز أهمية استخدام لوحة تحارب حقيقية في أنه إذا ركبت المكونات بشكل غير صحيح على اللوحة، فيمكن نقلها ببساطة إلى مكانها الصحيح على اللوحة صححة حرارة الي . خاطئة
حدد الجملة الصحيحة والجملة الخاطئة فيما يلي يمكن برمجة جهاز تحكم الأردوينو الدقيق بواسطة لغة ++C فقط
2 صنف عملية إعداد بيئة تطوير الأردوينو، واذكر بيئات البرامج والأجهرة المطلوبة) ما مزايا برمجة الأردوينو بواسطة بايتون؟ علل اجانتك. 4 ما سلبيات التعامل مع بروتوكول Firmata ومكتبة Pyarmata معاه حرارة البصل
صف عملية إعداد بيئة تطوير الأردوينو، واذكر بيئات البرامج والأجهزة المطلوبة
ما هي مزايا برمجة الأردوينو بواسطة بايثون؟ علل إجابتك
ما هي سلبيات التعامل مع بروتوكول Firmata ومكتبة PyFirmata معا
5 ما وظيفة التعليمات المبرمجية الآتية؟ pinboard.get_pin("a:4:p") pin.write(0.75) الذكر مثالين على مستشعرات أو متغلات تعمل بصورة أفضل مع الإشارات الرقمية، ومثالين آخرين على مستشعرات تعمل بصورة أفضل مع الاشارات التناظرية، احدا في اعتبارك المستشعرات والمشعلات التي تعلمتها. حرارة الم