عنوان الموضوع

نبذة عن محتوى الموضوع

بروتوكول CAN

من اشهر بروتوكولات الشبكات المستخدمة في صناعة السيارات والتطبيقات الصناعية الاخرى

Embedded Systems and The Internet of Things

انترنيت الاشياء من التقنيات الحديثة التي بدت تدخل عالم الانظمة المدمجة

التعريف باردينو اونو

مقالة تعريفية عن تفاصيل الاردينو واللغات التي يمكن برمجة الاردينو بها

انواع الاتصالات

انواع الاتصالات في الانظمة الحاسوبية وبروتوكولات نقلها

الثلاثاء، 25 أغسطس 2015

الانترنت وانترنت الاشياء

Internet And Internet Of Thing

point to point communication
هو الربط بين عدد محدود من الحواسيب والربط يكون مباشر من حاسوب الى اخر باستخدام بروتوكول معين ويكون هذا الربط غير عملي ومكلف جد للانظمة المعقدة لاننا سوف نستهلك عدد كبير من الاسلاك وكذلك يحتاج كل حاسوب ان يتصل مع بقية الحواسيب فنحتاج توفير منافذ بعدد الحواسيب للبروتوكول المستخدم


Ring Topology
يتم ربط الحواسيب على شكل حلقة بصورة متوالية ويحتاج كل جهاز عنوان فريد خاص به ويسمح للتواصل بين حاسوبين في نفس الوقت خلال الشبكة ممايؤدي الى ضياع في الوقت 

Bus Topology
توفر هذه الطريقة تقليل من استخدام الاسلاك حيث تربط جميع الاجهزة بسلك واحد وتعتبر من اكثر الطرق استخداما حيث عندما يريد جهاز التواصل يقوم بالتاكد من خلو سللك النقل وان لاتوجد عملية نقل حالية ثم يبدء ببث البيانات التي يريد ارسالها على سللك النقل ويقوم الحاسوب المعني الهدف باستلامها 

الان هنا لدينا شبكات صغيرة وبانواع مختلفة من الربط لكن ماتتميز به هو انها ترتبط بصورة سلكية مع بعضها ونحتاج نحن للتخلص من الاسلاك واستبدالها بتقنية لاسلكية ضمن مدى ترددات المايكروويف ومن امثلة هذه التقنيات هي الieee802.11 ومانسميه نحنا الwifi والتقنية الاخرى هي ieee802.15 ومانسميه بال bluetooth وهنالك تقنيات اخر لكن هذه اشهرها يتصل كل جهاز باستخدام هذه التقنيات لاسلكيا مع نقطة وصول access point تقوم نقطة الوصول بتنظيم الاتصال بين كل الاطراف


بعد ان اخذنا مقدمة بسيطة عن الشبكات المحلية بصورة (LAN local area network) بسيطة وانواعها الان نتوسع في مفهوم الانترنت ماهو الانترنت هو ان نقوم بوصل جميع الشبكات المحلية LAN مع بعضها لبعض فمثلا لدينا في العراق في مدينة الموصل حوالي 500 شبكة محلية كل شبكة منها قد استخدمت من قبل شركة او موسسة او غير ذلك عندما نقوم بربطها شبكات بقية المحافظات ولو فرضنا ان الربط يتم في بغداد سوف نحصل على شبكة كبيرة جدا تتضمن كل العراق وعندما تربط هذه الشبكة الكبيرة جدا مع الكابل الضوئي للشبكة العالمية الذي قد اتى من اوربا مثلا اصبحت الشكبة العراقية الكبيرة مربوطة على الانترنت وجزء منه 

في الشبكات المحلية يمكن ان نضع لكل حاسوب مربوط على الشبكة عنوان IP معين نحنا نختاره بحيث ان لايكون لجهازين نفس الIP لكن في الانترنت الشبكة العالمية هنالك ملايين الحواسيب سيكون من المستحيل وضع IP لحاسوبك ويكون صحيح وفعال لذا لابد من وجود الية توفر لنا حل لهذه المشكلة وهي توفير unique ID عنوان وحيد لكل حاسوب في الشبكة ونسمى نحن هذا العنوان ب IP Address ويتكون من 4 خانات رقمية كل خانة مكونة من 8 بت اي تاخذ ارقام من 0 حتى 255 مثال 146.168.92.1
يعني هذا ان اي حاسوب مرتبط بالانترنت له عنوان محدد هذا العنوان يشبه رقم الهاتف لكن هذا الرقم يصعب حفظه واستخدامه لذا نقوم يتسميته باسم يشير اليه عندما نذكر هذا الاسم يظهر لنا العنوان في الانترنت نقوم بكتابة اسم موقع مثل فيس بوك فيحمل لنا هذا الاسم عنوان الموقع الIP Address ويقوم ال(DNS Domain Name System) بصنع خرائط تربط العناوين باسمائها باستخدام خوارزميات معينة


الان قد انتهينا من مشكلة العناوين الشملكة الاخرء التي يجب حلها هي مشكلة التوجيه routing مثلا هنالك حاسوبان في اماكن مختلفة في الارض يريدان التواصل معا حيث يريد الحاسوب الاول ارسال بيانات الحاسوب الثاني يمتلك الحاسوب الاول الIP Address للحاسوب الثاني الهدف لكن هنا المشكلة ماهو المسار التي ستسلكه البيانات خلال التواصل بين الحاسوبين فهنالك مئات الطريق للوصول الى الهدف تم حل هذه المشكلة بواسطة بروتوكول يسمى
 (IGMP Internet Group Management Protocol )
يعمل هذا البروتوكل باستخدام خوارزميات مثالية لاداء هذه الوظيفة 


الان لننتقل لحل مشكلة اخرى هي لديك حاسوب تعمل فيه عدة تطبيقات لهذا الحاسوب عنوان خاص هو IP1 يريد التطبيق الاول على هذا الحاسوب التواصل مع حاسوب له عنوان IP2 ويريد التطبيق الثاني على هذا الحاسوب التواصل مع حاسوب له عنوان IP2 اي هنالك نقطة بداية ونقطتين نهاية للبيانات المرسلة عبر الانترنت الان هذه نقاط النهاية تسمى بورتات Ports وهي عبارة عن ارقام 16 بت يتم التعامل معها وتحليلها بطبقة من بروتوكول TCP\IP تسمى بطبقة الTransport Layer حيث عندد دراسة الشبكات يتم فرض وجود عدة طبقات لتسهيل دراسة وفهم الاتصال وتفاصيل الشبكة فمثلا توجد طبقة الNetwork Layer تقوم هذه الطبقة بتوفير كل من الIP Address و الRouting اللذان تكلما عنهما سابقا .
للاطلاع على ارقام البورتات العالمية في شبكة الانترنت هنا 

في طبقة الTransport يوجد بروتوكولات يعمل احدهما حسب الحاجة والتطبيق هما
1- (TCP Transmission Control Protocol) يتميز هذا البروتوكول بالوثوقية (Reliable) حيث يضمن وصول البيانات وبدون اخطاء وكذلك يتميز بانه يقيم رابطة قبل الارسال ويدعم المصافحة حيث يقوم بترتيب البيانات على شكل حزم ولايقوم بارسال حزمة حتى يقوم الجهاز الاخر بالرد بان الحزمة قد وصلت ارسل المزيد من البيانات في حال لم تصل الحزمة ولم يحصل على رد بالوصول يعيد ارسال الحزمة نفسها ويستخدم هذا النوع عندما نحتاج ارسال لايتم فيه فقد اي جزء من البيانات

2-(UDP User Datagram Protocol) عيوبه غير موثوق (Unreliable) اي لايقوم بعملية مصافحة للارسال لذا قد تضيع البيانات وكذلك لايتحكم في تدفق البيانات بل يرسها مرة واحدة يتميز بانه سريع والسبب في ذلك انه لايضيع وقت في عملية المصافحة او تصحيح الاخطاء يستعمل ويكون مناسب في الاتصالات الصوتية او المرئية التي تحتاج نقل بسرعة عالية وبدون مصافحة وتصحيح خطا فهو السبب في تقطيع الصوت في المكالمات في بعض الاحيان


في طبقة التطبيقات لكل تطبيق بورت خاص به مثلا HTTP لخدمة الويب يحجز المنفذ رقم 80 ومنفذ رقم 25 لخدمة البريد SMTP
توجد لدينا طبقة اخر هي الطبقة الفيزيائية اوماتسمى ب(Media Access Control\Physical Layer) هذه الطبقة الوحيدة التي تكون طبقة عتادية Hardware اما الطبقات الثلاث الاخرى فهي طبقات برمجية Software

الصورة توضح كل من TCP\IP Model وOSI Model والارتباط بينهم
يمكن فهم الطبقات بصورة افضل من خلال مراحل تشكل البيانات مع الطبقات 

تكلمنا عن الIP Address وقلنا انه يتكون من رقم 32 بت على شكل dot format يعني انه لدينا 32^2 احتمال لIP ويكون بحدود 4 مليارات كان هذا العدد كبير جدا في وقت مضى لكن في المستقبل القريب سوف لن يكفي هذا العدد ويسمى هذا البروتوكول بالنسخة الرابعة للIP  ويسمى ب (IPV4 Internet Protocol Version 4) لحل مشكلة العدد المحدود في الIPV4 تم استخدام مايسمى ب(NAT Network Address Translation) مترجم عناوين الشبكة حيث يقوم بحجز عنوان لكل اتصال عندما يتم فصل هذا الاتصال يتم اعطاء عنوانه لاتصال اخر وعندما يعود العميل الاول يعطيه عنوان اخر مختلف وعندما يتم تقسيم الاتصال وربطه الى شبكة محلية لن يقوم كل حاسوب بحجز عنوان خاص به من الانترنت بل يقوم الNAT باعطاء كل حاسوب عنوان وهمي محلي خاص به ويبقى عنوان الاتصال هو عنوان واحد بالرغم من قصر هذا الحل الا انه مجدي ولكن ماذا لو اتصل كل ال4 مليار جهاز في نفس الوقت سوف تحصل مشكلة لذا تم البدء بIPV6 ويسمى ب(Internet Protocol Version 6) ويختلف عن الIPV4 بانه مكون من 128 بت وليس 32 بت حيث يمكن الحصول على 128^2 عنوان IP Address منه وهذا العد يكون بحوالي 6 ترليون وتتوزع هذه ال128 بت على 8 خانات تسع ارقام خيالية لتفادي مشكلة الIPV4 حيث هنالك توافق بين الاثنين ويعملان الان معا لحين استبدال كل الحواسيب بIPV6 حيث فيه لن تحتاج الى اجهزة NAT تترجم العناوين سيوفر هذا الاصدار سهولة في الوصول الى الاجهزة المرتبطة بالانترنت مثل السيارات والطائرات والطابعات والكاميرات وكل تقنيات انترنت الاشياء وغيرها ولمعرفة نوع الIP في حاسوبك الان ادخل هنا 


انترنت الاشياء IOT


ماذا نقصد بالاشياء لدينا هنا مثال يوجد عدد من المتحكمات الدقيقة MCU احد المتحكمات يحتوي على حساسات دخل ولوحة كتابة والمتحكم الاخر يحتوي على شاشة عرض وسماعات صوتية هذه المتحكمات اشياء عندما تتصل بالانترنت تصبح انترنت الاشياء اذا الان قد حصلنا على نظام مضمن بكل تفاصيله قد اتصل بالانترنت واصبح الانترنت هو الوسيلة للتواصل بين اجزاء هذا النظام خلال هذه السنين الاخيرة شهد العالم ثورة وتطور بهذا المجال بشكل كبير جدا ومن المتوقع ان يصل عدد الاجهزة المتصلة بالانترنت في عام 2020 50 مليار جهاز تبين الصورة هنا بعض التفاصيل حول تطور ومستقبل هذه التقنية 


بدات التقنية حيث انتشرت الانظمة المدمجة وتطورت بصورة كبيرة وكذلك انتشار الانترنت بشكل واسع جدا في العالم فمن الطبيعي ان يتم ربط التقنيتين معا للحصول على خدمات وتقنيات جديدة وانترنت الاشياء مزيج من انظمة مدمجة تمتلك حساسات مختلفة وظيفتها جمع البيانات و انظمة مدمجة اخرى تستلم البيانات وتؤثر على محيطها من خلال محركات او غيرها من التاثيرات الانظمة المدمجة المتصلة بالانترنت يطلق عليها Smart Object تقوم هذه الاخير بجمع بيانات معالجة لتحديد الحدث واتخاذ قرار مناسب ثم تاثير على البيئة هنا بعض تطبيقات ال Smart Object 



الانظمة المدمجة بصورة عامة لها معايير يجب اتباعها عند التصميم واخذها بالاعتبار وتضاف اليها معايير خاصة بانترنت الشياء ايضا يجب اخذها بالاعتبار 

سعة المعالجوهي عدد التعليمات التي يمكن تنفيذها خلال ثانية واحدة (MIPS)، وبازديادها تزداد سعة(قوةالمعالجة للمعالج.
عرض الناقل الداخليوهي عرض ناقل البيانات بين وحدة المعالجة والذاكرة ويتراوح من 4bit إلى64bit، وبازدياد عرض الناقل تزداد سرعة تناقل البيانات بين المعالج والذاكرة.
حجم الذاكرةوهي المساحة المطلوبة لتخزين برنامج تنفيذ التعليمات (ROM) والبيانات (المعطياتالتي يتم معالجتها آنياً (RAM). عموماً، فإن مساحة الذاكرة المطلوبة تتعلق بالمعالج المستخدم والميزات المحيطية المترافقة معه وحجم البرنامج.
 استهلاك الطاقةهي من أهم الاعتبارات خصوصاً في الأجهزة النقالة التي تعمل على البطاريات، وتستعمل وحدة القياس mW/MIPS لتحديد كمية الطاقة المطلوبة تبعاً لسعة المعالجة، حيث أنه بازدياد سعة المعالجة تزداد كمية الطاقة المطلوبة لعمل المعالجعملياً، فإن الأنظمة التي تستهلك طاقة منخفضة تتميز بخصائص مرغوبة جداً مثلحرارة أقل، وزن أقل، حجم أصغر، تصميم ميكانيكي أبسطلذلك تستخدم المعالجات متعددة النوى (Multi-core Processors) في الأنظمة المدمجة التي تتطلب نظاماً منخفض الاستهلاك والحجم وذا سعة معالجة عالية.
كلفة التطويرهي كلفة تصميم الكيان الصلب (ES.HW) والبرمجيات المترافقة (ES.SW)، وتعرف أيضاً بالمصطلح NRE (Non-Recurring Engineering)i، وهي كلفة ثابتة تدفع لمرة واحدة فقط أثناء مرحلة تصميم النظام هذه الكلفة يتم توزيعها على عدد قطع الإنتاج.
كمية الإنتاجإن الموازنة بين كلفة الإنتاج وكلفة التطوير تتعلق مباشرة بكمية الإنتاج المطلوبة، إذ يتم توزيع الكلفة الثابتة على عدد العناصر المطلوبةأما من أجل تصميم ذي كمية محدودة من القطع؛ فإن كلفة التطوير لمثل هذا النظام ستكون كبيرة جداً.
حياة المنتجوهو العمر الافتراضي المتوقع لبقاء المنتج في الاستخدام الفعالإن هذا الاعتبار يؤثر مباشرة في جميع قرارات التصميم انطلاقاً من اختيار عناصر الكيان الصلب وصولاً إلى كلفة التطوير.
الوثوقيةوهي مقدرة النظام على الاستجابة في مختلف الظروف، وتتناسب الوثوقية طرداً مع كلفة النظام.

 التوحيد : اي وجود معايير تسمح لانواع مختلفة من الاشياء (Objects) بالتواصل مع بعضها وتكون هذه الاشياء ملتزمة ملتزمة بمعايير معينة سيزيد ذلك من قبول منتجنا من قبل الزبائن

التوافقية : يعني ان اجهزتنا يجب ان تمتلك القدرة للعمل مع اجهزة اخرى صنعت بتقنيات مختلفة ومن قبل شركات مختلفة
الاستقرارية : على الرغم من ان التكنولوجيا تتطور الا ان المستهلكين يطلبون اجهزة تعمل بشكل صحيح لفترة طويلة وبشكل مريح مثلا على مدى 50 سنة تطورت تكنولوجيا السيارات كثيرا لكن تجربة القيادة وكيف يمكننا ان نقود السيارة قد بقت ثابتة لم تتغير 
توفر النظام : يجب ان يكون النظام متوفر عند الحاجة اليه مثلا لو اردنا استخدام الهاتف المحمول ويحتاج هذا الهاتف 10 دقائق للاقلاع سيكون هذا الهاتف فاشل وغير مجدي
الحماية :من اهم الامور وخاصتا في انترنت الاشياء فهي تعني المحافظة على خصوصية مستخدمي النظام وكذلك المحافظة على البيانات اثناء انتقالها وضمان انتقالها بالوقت المناسب 
كفائة الاداء: ان مايهم الزبون هو الاداء ولايهمه كيف تم ذلك بل يبحث نحو اداء اعلى لذا يجب تحديد مواصفات التصميم فالزيادة فيها تعني استهلاك في الطاقة والكلفة والنقص فيها يؤدي الى قلة كفاءة المنتج لدى الزبون 
الصيانة : تعني ان الجهاز يجب ان يكون سهل الاستخدام واذا وجد فيه خلل يسهل اصلاحه ويسهل تحديث المنتج ايضا كاستبدال البرنامج القديم ببرنامج جديد يحقق افضل اداء 
وقت التسويق : هي فترة اقصاها بين (6-8) اشهر اذا تجاوزت فترة تصنيع هذا المنتج هذه المدة يفشل المنتج وتوجد امور تسرع من هذه المدة مثل استخدام middleware يسهل البرمجة وكذلك مثل استخدام برامج محاكاة ونمذجة كاللابفيو