التفاعل مع خدمات الويب السحابية - إنترنت الأشياء - ثاني ثانوي
الجزء الأول
1. أسس إنترنت الأشياء
2. إنترنت الأشياء في حياتنا
3. إنشاء تطبيقات إنترنت الأشياء باستخدام الأردوينو
4. إنشاء تطبيق سحابي لإنترنت الأشياء
الجزء الثاني
5 .تطبيقات إنترنت الأشياء المتقدمة
6 .برمجة إنترنت الأشياء باستخدام ++C
7 .الرسائل في إنترنت الأشياء
8. محاكاة شبكة مستشعرات إنترنت الأشياء اللاسلكية
الانظف الدرس البركاني الدرس الثالث التفاعل مع خدمات الويب السحابية التعامل مع خدمات الويب Interacting with Web Services ستابع العمل على مشروع الدرس السابق وستعمل على تطويره في هذه المرحلة المرسل البيانات عبر خدمة الويب السحابية من منصة الحوسبة السحابية Binary lot Cloud. تتيح هذه المنحة التعليمية السحابية عبر الإنترنت عرض البيانات عن البيئة المحيطة المجمعة بواسطة دائرة الأردوينو التي أنشأتها في الدرس السابق. www.ren.edu. منصة الحوسبة السحابية Binary loT Cloud inary Einary je Cloud Weicates sharif حرارة التعليم شكل 4.25: اسمه الحوسبة السحابية Binary lot Cloud مع بيانات مجمعة من الأردافع 180
ستحتاج في البداية إلى التسجيل في المنصة السحابية وإنشاء مستخدم جديد للتسجيل في منصة الحوسبة السحابية Binary lat Cloud عبر الإنترنت انتقل الى منصة الحوسبة السحابية Binary lat Cloud من خلال الموقع الإلكتروني https://sa-tot azurewebsites, net/Login.aspx. ومن صفحة الترحيب اضغط على Register ( تحيل . اكتر في Username اسم المستخدم في Password كلمة مرور من الختيارك رية PIN (رقم التعريف الشخصي ) أكت 174563 0 اضغط على زر Register (تسجیل)، © binarylogic Binary loT Cloud 1 شكل 425 التسجيلي حصة الحوسبة السحابية Binary lot Cloud وزارة التعليم Laemame shaira Password 2 3 Danfirm Pasword Pm REGISTER 5 4
استدعاء واجهة برمجة تطبيقات الويب باستخدام البايثون Calling a Web API with Python واجهة برمجة تطبيقات الويب :(Web AP1 ستقوم بإنشاء كانن جسون (ISON) يحتوي على بيانات البيئة المحيطة، ويرسلها واجهة برمجة تطبيقات الويب إلى منصة الحوسبة السحابية Binary lot Cloud من خلال دالة تتفاعل مع واجهة برمجة تطبيقات الويب (Web (API) . قم بتثبيت حزمة طلبات البايتون ( Python requests ) من خلال نظام إدارة الحزم ( pip). افتح الواجهة الطرفية (Terminal) في مجلد العمل الخاص بك، وأدخل الأمر الآتي pip install requests في بداية برنامج بابنون الخاص بك، استدع حزمة الطلبات (requests) بالسطر البرمجي الأتي import requests احصل على التاريخ والوقت الحالي، وحولهما إلى نص باستدعاء الوحدة القياسية ( datetime) بالطريقة الآتية: هي نقطة وصل تسمح لبرنامج ما بالوصول إلى خدمة من برنامج آخر موجود على خادم على شبكة الاسرت. جسون أو ترميز الكافات باستعمال جافا سكربیت Object-ON) Tavao هي نوع مفتوح لتنسيق البيانات يستخدم لنقل البيانات بين الخدمات. الكائنات في جسون هي أزواج تتكون من ( مفتاح - قيمة ) يمكنها تحرين أنواع البيانات مثل السلاسل النصية والأعداد الصحيحة، والأعداد العشرية، والمصفوفات وكائنات أخرى ش 4.7 على يتصل ما. خلال واسية مرحة تطبيقاه الله الله - from datetime import datetime date_time str(datetime.now()) أنشئ منقبرين باسم username (اسم المستخدم) و password ( كلمة المرور)، بحيث يتطابقان مع البيانات التي استخدمتها مسبقا للتسجيل في منصة الحوسبة السحابية Binary lot Cloud. username = "your_usetname_here" password = "your_password_here* أنشئ دالة جديدة باسم ( (send_data تستقبل المعاملات الآتية def send_data(username, password, temperature, moisture): 150
أنشى متغيرا جديدا باسم api url بواسطة الرابط الآتي حيث يعد نقطة وصل واجهة برمجة تطبيقات الويب للمنصة السحابية apl_url = "https://ksa-iot-api.azurewebsites.net/api/readings" reading انشي كاننا بمتغيرات الدالة التي سمرر إلى واجهة برمجة تطبيقات الويب كجزء الطلب الرئيس t "username": username, "password": password, "temperature": temperature, "malsture; muisture "datetime" date_time استدع واجهة برمجة تطبيقات الويب باستخدام دالة ( )request post والتي تحتوي على معاملات كل من رابط واجهة برمجة تطبيقات الويب (API (URL) وكائن جسون الرئيس (ISON body object): response = requests post(api_url, json=reading) واحيد برسيا تطبيقات الويب النايلون SON دارة التعليم لكل 20، حين فروع الية بيانات التي الله البيانات التملك
تعرض هنا كافة التعليمات البرمجية للدالة () send_data def send_data(username, password, temperature, moisture): api_url = "https://ksa-iot-api azurewebsites.net/api/readings" date time reading { } str(datetime.now()) "username": username, "password": password, "temperature": temperature, "moisture moisture, "datetime" date_time response = requests.post(api_url, json-reading) أضف دالة () send_data في البرنامج الرئيس لإرسال البيانات عن البيئة المحيطة التي جمعت كل 30 ثانية. send_data(username, password, temperature, moisture) time.sleep(30) from datetime import datetime import time import requests import pyfirmata board firmata.Arduino('COM4') حرارة التعليم البرنامج بشكله النهائي Complete Code 104
it pyfirmata.util.Iterator(board) it.start() dc_motor_pin = board.get_pin('d: 3:0') temperature sensor pin board.get_pin( 'a:2:1') moisture sensor pin board.get_pin('a:4:1') username = "your_username_here" password = "your_password_here" def send_data(username, password, temperature, moisture): api_url="https://ksa-iot-api.azurewebsites.net/api/readings" date_time = reading { str(datetime.now()) "username" username, "password": password, "temperature": temperature, "moisture" moisture, "datetime" date time response = requests.post(api_url, json-reading) def water plant(de_motor_pin): print("Watering plant ---") dc motor pin.write(1) time.sleep(5) dc_motor_pin.write(0) while True: درات البليد temperature value = temperature sensor_pin.read()
moisture_value = moisture sensor pin.read() if (temperature value is not None) and (moisture value is not None): temperature value = float(temperature_value) + 1000 voltage (temperature value / 1024) * 5 temperature (voltage 0.5) 100 * moisture (1.0 float (moisture_value)) 100 if (temperature >= 24.0) and (moisture <= 40.0); water plant(de_motor_pin) ها الجهية العالية Binary IoT Chud وزارة التعليم temperature report "Temperature : str(temperature) moisture report = "Moisture : + "C" str(round (moisture, 2)) 1106" print (temperature_report) print(moisture report) send_data(username, password, temperature, moisture) time.sleep(30) واجهة برمجة تطبيقات الويب Firmata تور 429: واصل الأرجويلي مع الحالب البعضي وقصة الخوة العامة Binary of Card 00 159
استكمال المشروع Complete Project الانتهاء م أو من كتابتك للبرنامج، ضع مستشعر بعد رطوبة التربة في تربة النبتة وقم بتشغيل برنامجك في بايثون من حاسوبك وستلاحظ قراءة البيانات المحرجة من البيئة إلى الحاسب. افترض أن محرك التيار المستمر يتصل بمضخة ماء أو ضماة للري. وزارة التعليم شكل 4.30 الحديقة الذكية باستخدام الأرنوبي
عرض بيانات الحديقة الذكية Viewing the Smart Garden Data قم بتشغيل برنامحك بأكمله في بايثون ودعه يعمل لبضع دقائق ليجمع بعض البيانات التي سبتم تحميلها بعد ذلك إلى منصة: الحوسبة السحابية Binary lot Cloud ولتمكن من عرض البيانات المجمعة حول بيئتك النباتية سجل دخولك إلى المنصة باستخدام بياناتك. لتسجيل الدخول إلى منصة الحوسبة السحابية Binary lot Cloud عبر الانترنت الذهب إلى مخلصة الحوسبة السحابية Binary lot Cloud عبر الإنترنت من الرابطة https://ksa-lot.azurewebsites.net/Login.aspx ادخل Username (اسم (المستخدم) و Password كلمة المرور التي أنشأتها ساف 3 > اضغط علي زر Login ( تسجيل الدخول) binarylogic Binary loT Cloud 3 2 وزارة الف ليم سال 4.31 تسجيل الدخول إلى ملكة الخوة العابية Binary lot daud على المترت 158
binarylogic Binary loT Cloud ان البيانات المعروضة في هذا الجدول هي القراءات التي جمعت من البيئة المحيطة بالنيات وذلك بواسطة الأردوينو والتي ارسلت إلى المتعة النخامية من خلال برنامج بايلون يعمل على حاسويلك Welcome sharif73 www تصدير بياناتك إلى سنات sxاد از csv قيم مفصولة بقواصل (Comma Separated Values - CSV) هو ملف نصي يتم الفصل بين القيم المدرجة فيه بالفواصل، ويمثل كل سطر في الملف سجل بيانات مرارة التعليم 4.32 عرض الراحة النتة في قصة الحوية التانية Birinny lat Cloud عن الاختر
استخدام بيانات المستشعرات ومجموعات البيانات الضخمة لاتخاذ القرارات وفق تلك البيانات المجمعة Using Sensor Data and Big Datasets for Data-Driven Decision Making لقد كانت مراقبة الحديقة الذكية هي محور المشروع السابق. وهو يُشكل مثالاً مصغرًا على عملية المراقبة الذكية في الزراعة. حيث يتكون من جهاز واحد فقط يجمع البيانات ويرسلها إلى منصة عبر الإنترنت، ولكن وجود حديقة كبيرة يتطلب المزيد من الأجهرة لتكون المراقبة شاملة لكافة النباتات والبيئات المختلفة، حيث يتطلب كل نوع وصنف من النباتات إعداد بيئة مختلفة لمراقبته. كما أن عملية جمع البيانات المختلفة قد تكشف عن وجود أنماط مختلفة في بيئة الحديقة تُشكل معا نظاما متكاملاً. افترض الآن وجود عدة حدائق في أنحاء مختلفة من المدينة. يتعين على إدارة الحدائق في البلدية مراقبة ورعاية كل من هذه الحدائق من خلال أنظمة مختلفة تجمع هذه الحدائق كميات هائلة من البيانات، والتي يمكن تحليلها بدورها لتوفير رؤى وأنماط شاملة حول إدارة وتشغيل جميع تلك الحدائق من خلال إجراء المقارنة بين كل منها مثلا. اعليات الأردوينو غرة غره 0101 010! 010+ شور 4.33 توسيع نطاق مشروع الحبيبة السامة إن الإدارة الذكية للحدائق باستخدام هذه التقنيات تساهم بشكل فاعل في تحسين الحدائق الذكية وتطويرها. من خلال زيادة فاعلية تلك النظم والمحافظة على توازنها واستمراريتها. جرارة التعليم
2 تمرينات ما الغرض من استخدام واجهة برمجة الطبيقات الوس؟ لماذا يحب اسم المستخدم وكلمة المروز ضروريات للاتصال يواجهة برمجة تطبيقات الويبة اذكر سببين لذلك. مرارة الي
ما الأسطر البرمجية التي يتعين عليك اجراء تغييرات عليها في البرنامج لتعديل الشروط المطلوبة ليده وي اليات ومدة الري؟ 4 صف البيانات التي يمكن جمعها - بخلاف درجة الحرارة والرطوبة لبيئة الحديقة الذكية. مرارة النصف
5 على فرض أنه توفرت لك بيانات وقراءات التعلق بمراقبة البيئة في الحديقة المذكية على المدى الطويل من الماضي اضافة الى البيانات الحالية التي تحصل عليها من المنصة السحابية. إشرح كيف يمكن لهذه البيانات مساعدتك في ري حديقتلت الذكية بكفاءة أكبر واعرض أفكارك أدناه 6 قارن بين أنواع تنسيقات البيانات JSON و CSV. جرارة البصل