التحكم باللوحة الإعلانية عن بعد

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

web-controlled-iot-notice-board-using-raspberry-pi

النظام الأمني للمنزل للحماية من اللصوص

انظمة الأمن مهمة جدا في حياة الإنسان. و الناس في العادة يشعرون بقلق من الدخلاء و اللصوص عندما يكونون بعيدا عن منازلهم. في عالم انترنت الأشياء عندما يكون لدينا كل التقنيات لحماية منازلنا، نحن دائما نريد نظاما يمكن التحكم و المراقبة من خلاله من أي مكان .

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

wraspberry-pi-iot-intruder-alert-system

القطع المطلوبة :

في هذا المشروع، سيتم إنشاء نظام الحماية للمنزل بإستخدام مستشعر الحركة (PIR sensor) و كاميرا الراسبيري باي. في هذا النظام سيتم الكشف عن الدخلاء ، و سرعان ما يتم تنبيه المستخدم عن طريق إرسال بريد إلكتروني له .وتحتوي هذة الرسالة على صورة الدخيل التي يتم إلتقاطها بكاميرا الراسبيري باي. يمكنك تركيب هذا النظام عند الباب الرئيسي للمنزل أو مكتبك ومراقبته في أي مكان بالعالم باستخدام البريد الخاص بك عبر الانترنت.

الأدوات التي تحتاجها لهذا المشروع :

pir motion sensor

حساس الحركة (PIR motion sensor)

raspberry-pi-iot-intruder-alert-system

 كاميرا للراسبري باي (raspberry pi camera module)

led 5mm red

 LED 5mm red

220 Ω resistor

مقاومة 220 اوم

small size breadboard 170 colors

  لوح تجارب صغير  (small size breadboard)

 راسبيري باي (Raspberry Pi 3 Model B)

Jumper Wires Female Female

 اسلاك توصيل أنثى/أنثى  (Jumper Wires Female/Female)

Female-Male Jumper Wires

 اسلاك توصيل أنثى/ذكر (Jumper Wires Female/male)

5V 2A Switching Power Supply MicroUSB Cable

Power Supply

شرح العمل :

عمل هذا المشروع هو بسيط جدا. سيتم إستخدام مستشعر الحركة (PIR sensor)  للكشف عن وجود أي شخص و تستخدم كاميرا الراسبيري باي لإلتقاط الصور عندما يتم الكشف عن الشخص.

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

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

wraspberry-pi-iot-intruder-alert-system

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

raspberry-pi-iot-intruder-alert-system

تصميم لوحة التجارب:

قم بتوصيل الدائرة كما هو موضح بالصورة التالية :

raspberry-pi-iot-intruder-alert-system

في نظام الكشف عن الدخيل/ المتسلل ، نحن بحاجة إلى توصيل كاميرا الراسبيري باي و حساس الحركة إلى لوحة الراسبيري باي. قم بتوصيل الكاميرا في المدخل المخصص للكاميرا (Camera slot) على الراسيبيري باي.

wraspberry-pi-iot-intruder-alert-system

وقم بتوصيل حساس الحركة مع منفذ GPIO18، و LED  يتم توصيل  الطرف السالب بمقاومة 220 اوم و الطرف الموجب مع منفذ GPIO 17، ثم قم بتوصيل طرف المقاومة الاخر بالطرف السالب (GND) على لوحة الراسبيري باي .

يمكنك العودة على الدرس الثاني عشر للإطلاع على كيفة توصيل حساس الحركة.

إعداد الراسبيري باي :

نحن نستخدم لغة البايثون (Python) لعملية البرمجة. قبل برمجة الكود، أنت بحاجة إلى إعداد لوحة الراسبيري باي. يجب عليك العودة سلسلة تعلم الراسبيري باي لتنزيل و إعداد نظام التشغيل (Raspbian Jessie OS ) .

رازبيري باي-الدرس الأول– تهيئة بطاقة الذاكرة
رازبيري باي-الدرس الثاني– اعداد نظام التشغيل للمره الأولى
رازبيري باي-الدرس الرابع– اعداد GPIO

بعد تثبيت نظام التشغيل بنجاح ، انت بحاجة إلى الاتصال بالانترنت و تفعيل كاميرا الراسبيري باي ثم اعداد البريد الإلكتروني.

الاتصال بالشبكة :

يتم توفير إعدادات شبكة الإتصال في واجهة المستخدم لإصدارRaspbian   الحالي. الإتصال بالشبكة يمكن إجراءه عبر أيقونة الشبكة في أقصى الطرف الأيمن من شريط القوائم . قم بالضغط على أيقونة الشبكة سيتم ظهور قائمة شبكات الإنترنت المتاحة، كما هو مبين بالصورة أدناه. إذا لم يتم العثور على شبكات ، سوف تظهر الرسالة “No APs found – scanning… ”   قم بالانتظار بضع ثواني دون إغلاق القائمة، لتجد الشبكة.

raspberry-pi-iot-intruder-alert-system

انقر فوق الشبكة التي تريد الاتصال بها. سيظهر لك مربع يطلب منك إدخال مفتاح الشبكة :

wraspberry-pi-iot-intruder-alert-system

إدخل المفتاح واضغط موافق ، ثم انتظر بضع ثوان.

تفعيل كاميرا الراسبيري باي :

بعد توصيل الكاميرا إلى لوحة الراسبيري باي  ،  من قائمة البدء ثم preferences  قم بفتح Raspberry Pi Configuration Tool

wraspberry-pi-iot-intruder-alert-system

تأكد من أن الكاميرا مفعلة كما هو موضح بالصوة أدناه :

wraspberry-pi-iot-intruder-alert-system

إذا لم تكن مفعلة قم بتفعيلها عن طريق اختيار (Enable) ،   ثم قم بإعادة تشغيل نظام الراسبيري باي.

اعداد البريد الإلكتروني :

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

قم بكتابة الأوامر اعلاه على نافذة الـ Terminal .

بعد تثبيت المكتبات، انت بحاجة إلى فتح ssmtp.conf و تعديل على اعدادات هذا الملف كما هو مبين في الصورة أدناه ثم قم بحفظ الملف.

wraspberry-pi-iot-intruder-alert-system

يمكننا أيضا التحقق من الإعدادات عن طريق إرسال بريد . قم بكتابة الأمر أدناه ، إذا كان كنت الإعدادات صحيحة سيتم ارسال بريد على عنوان البريد الإلكتروني المذكور :

البرمجة :

قم بتشغيل الكود أدناه ليتم البدء بتفعيل نظام أمن المنزل :

شرح الكود البرمجي :

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

بعد ذلك، قمنا بتهيئة البريد و تحديد عنوان البريد الإلكتروني و الرسائل :

ثم قمنا بإنشاء الدالة (sendMail(data لإرسال البريد :

قم بالتعديل على الكود أعلاه بوضع بوضع كلمة المرور الخاصة بالإيميل المرسل  .

يتم إنشاء الدالة ()capture_image  لإلتقاط صورة الدخيل و حفظها بإسم يحتوي على الوقت و التاريخ .

يتم تهيئة Picamera   مع بعض الإعدادات الخاصة به :

و في النهاية ، سيتم قراءة حساس الحركة و عندما نتلقى إشارة High  من الحساس ستقوم الراسبيري باي بإستدعاء الدالة ()capture_image   لإلتقاط صورة الدخيل/ المتسلل وإرسال رسالة تنبيه مع صورة المتسلل كمرفق. وقد تم إستدعاء الدالة  ()sendmail  داخل الدالة ()capture_image لإرسال البريد.

هذا كيف يعمل الراسبيري باي كنظام أمن وحماية، يمكنك أيضا إستخدام مستشعر المواجات فوق الصوتية (Ultrasonic  sensor ) أو مستشعر الأشعة التحت حمراء (IR sensor ) للكشف عن وجود لص أو دخيل .

رازبيري باي-الدرس الثاني عشر- استخدام مستشعر الأبواب وحساس كاشف الحركة

في هذا الدرس، سوف تتعلم كيفية استخدام وربط المدخلات في الموصل GPIO لتوصيل وقراءة مستشعر الباب وحساس كشف الحركة PIR.

pir1

القطع

في هذا الدرس نحتاج للقطع التالية:

رازبيري باي

sm2

وصلة خارجية لتوصيل أرجل GPIO في لوحة الاختبار

sm3

أسلاك توصيل

sm4

لوحة الاختبار

sm5

حساس الحركة PIR

pir2

حساس الباب المغناطيسي

pir3

توصيل الأسلاك والقطع

الآن قم بالتوصيل كما في الصورة التالي مع مراعاة الدقة في التوصيل:

بالنسبة للحساس الحركة PIR تأكد من توصيل المقبس والأسلاك بشكل صحيح (استخدم الصورة أدناه) حسب الألوان كالتالي:

الأحمر يذهب إلى 5V

الأسود يذهب إلى GND

الأصفر يذهب إلى المخرج “الرجل” رقم 18

pir5

ملاحظة: حساس الحركة يحتاج إلى 5V ليعمل ولكنه يخرج الاشارة على مستوى 3.3V لذلك لا اشكال في توصيلها بشكل مباشر مع الرازبيري باي

سوف نستخدم إمكانيات الرازبيري باي لإنشاء مقاومة مع جهد عالي (pull-up resistor ) لمستشعر الباب لذلك نحن لا نحتاج إضافات خارجية لعمل مقاومة مع جهد عالي (pull-up resistor).

الكود البرمجي

الكود البرمجي بسيط سوف يقوم بطباعة نص يحدد نوع الاستجابة في حال وصول أي اشارة من أحد الحساسين.

افتح نافذة SSH الخاصة بالرازبيري باي واكتب الأمر التالي لفتح ملف نصي جديد باسم switches:

الآن انسخ الكود البرمجي التالي ثم قم بالضغط على CTRL+x ثم إضغط Y لحفظ الملف:

أخيرًا لتشغيل البرنامج قم بكتابة الأمر التالي:

رازبيري باي-الدرس الحادي عشر- التحكم بحساس درجة الحرارة DS18B20

في هذا الدرس سوف نتعلم استخدام DS18B20 مع الرازبيري باي لقراءة درجة الحرارة باستخدام مكتبة W1ThermSensor.

الاصدارات الأخيرة من نظام Raspbian أضاف دعم لـحساس درجة الحرارة DS18B20 ، الحساس يأتي مع ثلاث أسلاك اثنان منها للطاقة و واحد للقراءة ، كما أنه حساس رقمي دقيق.

ts1

 

القطع

في هذا الدرس نحتاج للقطع التالية:

رازبيري باي

sm2

وصلة خارجية لتوصيل أرجل GPIO في لوحة الاختبار

sm3

أسلاك توصيل

sm4

لوحة الاختبار

sm5

حساس درجة الحرارة الرقمي DS18B20

ts2

مقاومة 10K

10k Ω Resistors

توصيل الأسلاك والقطع

التوصيل بكل بساطة موضح في الصور بالأسفل ، المقاومة مع الحساس ضرورية فهيه تستخدم كـ “pullup” لسلك البينات “القراءة” كما أنها تستخدم لتحافظ على ثبات انتقال البيانات.

ملاحظة: يجب مراعاة الدقة في تشبيك أسلاك الحساس كما هو موضح في الصور ، أي توصيل خاطئ قد يتلف الحساس.

الكود البرمجي

نحتاج إلى تثبيت مكتبة W1ThermSensor لتسهيل القراءة من الحساس ، كما أنها تدعم أنواع أخرى من حساسات الحرارة مثل:

– DS18S20
– DS1822
– DS18B20
– DS28EA00
– DS1825/MAX31850K

افتح نافذة SSH الخاصة بالرازبيري باي اكتب الأمر التالي لتثبيت المكتبة:

وإذا كنت تستخدم python3 اكتب الأمر التالي:

بعد تثبيت المكتبة اكتب الأمر التالي لفتح ملف نصي جديد باسم temperature:

الآن انسخ الكود البرمجي التالي ثم قم بالضغط على CTRL+x ثم إضغط Y لحفظ الملف:

أخيرًا لتشغيل البرنامج قم بكتابة الأمر التالي:

 

رازبيري باي-الدرس العاشر- التحكم بالمحرك الخطوي “Stepper”

في هذا الدرس سوف نتعلم نستخدم المحرك الخطوي “Stepper” والتحكم باتجاه دوران المحرك باستخدام لغة البايثون (Python) وشريحة L293D.

المحرك الخطوي أو الإستبر من حيث فكرة عمله يقع بين محرك الدي سي (راجع الدرس 9) وبين محرك السيرفو (راجع الدرس 8)، يمتاز بسهولة التحكم بوضعية المحرك بدقة وتحركه للأمام والخلف بخطوة وحدة كل مرة وكذلك يمكن تحريكه بشكل مستمر أيضًا.

st1

المحرك يستهلك طاقة أقل من السرفو والدي سي ، لذلك في هذا الدرس لا نحتاج للبطاريات ، وكذلك سنستخدم شريحة L293D في الدرس التاسع تم شرح فكرة وعمل شريحة L293D.

القطع

لتطبيق الدرس نحتاج للقطع التالية:

رازبيري باي

sm2

وصلة خارجية لتوصيل أرجل GPIO في لوحة الاختبار

sm3

أسلاك توصيل

sm4

لوحة الاختبار

sm5

محرك الإستبر 5V

st2

شريحة L293D IC

dc3

توصيل الأسلاك والقطع

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

الآن قم بالتوصيل الأسلاك بين والمحرك وشريحة L293D مع مراعاة أن السلك الأحمر من المحرك يترك من دون توصيل كما هو موضح في الصورة التالية:

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

فكرة عمل المحرك

مفهوم محرك الإستبر يقوم على استخدام المجال الكهرومغناطيسي لتحريك ودفع العجلة بمقدار خطوة واحدة في كل مرة.

st4

عدد الخطوات التي يحتاجها المحرك للدوران دورة كاملة “360 درجة” في الواقع هي بعدد أسنان الترس الموجود في المحرك.

المحرك الذي نستخدمه يحتاج إلى 8 خطوات ليكمل دورة كاملة ، ولكن أيضًا يحتوي على علبة تروس 1:64 هذا يعني أنها تحتاج 8X64=512 خطوة لإكمال دورة كاملة.

الكود البرمجي

سوف نستخدم المكتبة RPi.GPIO للتحكم بـ GPIO.

ملاحظة: راجع الدرس الرابع للإطلاع على GPIO.

الأن افتح نافذة SSH الخاصة بالرازبيري باي ثم اكتب الأمر التالي لفتح ملف نصي جديد باسم stepper:

الآن انسخ الكود البرمجي التالي ثم قم بالضغط على CTRL+x ثم إضغط Y لحفظ الملف:

أخيرًا لتشغيل البرنامج قم بكتابة الأمر التالي:


 

رازبيري باي-الدرس التاسع- التحكم بمحرك الدي سي “DC”

في هذا الدرس سوف نتعلم كيف نستخدم محرك DC وكيف نتحكم باتجاه وسرعة المحرك باستخدام لغة البايثون (Python) وشريحة L293D.

dc1

في الدرس الثامن تعلمنا كيف نخرج النبضات من خلال PWM لنتحكم باتجاه حركة محرك السيرفو ، في هذا الدرس سوف نستخدم PWM ولكن للتحكم بسرعة محركة الدي سي ، وسوف نستخدم شريحة L293D للتحكم باتجاه حركة المحرك.

القطع

لتطبيق الدرس نحتاج للقطع التالية:

رازبيري باي

sm2

وصلة خارجية لتوصيل أرجل GPIO في لوحة الاختبار

sm3

أسلاك توصيل

sm4

لوحة الاختبار

sm5

محرك “DC” الدي سي 6V

dc2

شريحة L293D IC

dc3

علبة بطاريات + 4 بطاريات AA

sm7

التحكم بالسرعة من خلال PWM

من فوائد استخدام PWM التحكم بمستوى الطاقة ، ونحن نستخدمها للتحكم بمستوى الطاقة الذي بدوره سوف يؤثرعلى سرعة دوران المحرك ، الصور التالية تبين لك نبضات PWM الخارجة من الرازبيري باي.

dc4

كل 1/500 من الثانية يخرج الـ PWM نبضة واحدة ، طول النبضة سوف يحدد قيمة الطاقة والتي تعني سرعة حركة المحرك ، إذا لم تخرج أي نبضة سوف يتوقف المحرك عن الدوران ، النبضة القصيرة تعني دوران بطيء.

شريحة L293D

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

dc5

شريحة L293D بها رجلين V+ رقم (8 و 16) ، الرجل رقم 8 “Vmotor+” تأخذ الطاقة من البطارية الخاصة بالمحرك ، أما الرجل 16 تأخذ الطاقة للشريحة من الرازبيري باي.

توصيل الأسلاك والقطع

هنالك سببين لاستخدام شريحة L293D في هذا الدرس ، السبب الأول التيار الخارج من الرازبيري باي غير كافي لتشغيل المحرك بشكل مباشر ، وتوصيل المحرك بشكل مباشر من الممكن أن يتسبب بالضرر للرازبيري باي.

السبب الثاني هو للتحكم بإتجاه حركة المحرك ، وهذا ممكن فقط بعكس اتجاه التيار الكهربائي بين طرفي المحرك ، ولذلك نحن نحتاج إلى شريحة L293D للقيام بذلك.

الصورة التالية توضح طريقة التوصيل:

ملاحظة هنالك حلول أخرى لكن استخدام شريحة L293D تعتبر من أسهل الطرق للمبتدئين.

الكود البرمجي

سوف نستخدم الرجلين رقم 4 و17 للتحكم باتجاه حركة المحرك، كما أننا سوف نستخدم المكتبة RPi.GPIO للتحكم بـ GPIO + PWM.

ملاحظة: راجع الدرس الرابع والثامن للإطلاع على GPIO+PWM.

الأن افتح نافذة SSH الخاثة بالرازبيري باي ثم اكتب الأمر التالي لفتح ملف نصي جديد باسم DCmotor:

الآن انسخ الكود البرمجي التالي ثم قم بالضغط على CTRL+x ثم إضغط Y حفظ الملف:

أخيرًا لتشغيل البرنامج قم بكتابة الأمر التالي:

 

رازبيري باي-الدرس الثامن- التحكم بمحرك السيرفو

في هذا الدرس سوف نشرح كيف نستخدم محرك سيرفو والتحكم به بالبايثون (Python).

sm1

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

القطع

لتطبيق الدرس تحتاج للقطع التالية:

رازبيري باي

sm2

وصلة خارجية لتوصيل أرجل GPIO في لوحة الاختبار

sm3

أسلاك توصيل

sm4

لوحة الاختبار

sm5

محرك سيرفو

sm6

علبة بطاريات + 4 بطاريات AA

sm7

محركات السيرفو

التحكم باتجاه حركة محرك السيرفو يكون عن طريق التحكم بطول النبضة أو ما يعرف بـ (Duty Cycle) في PWM ، المحرك يتوقع أن يستقبل نبضة كل 20 ملي ثانية أو كل 50Hz حيث إذا كان طول النبضة 1.5 ملي ثانية فإن المحرك سيتجه للمركز وزاويته 90 درجة ، وإذا قل عن 1.5 ملي ثانية سيتجه للزاوية 0 درجة ، وإذا زاد عن 1.5 سوف يتجه إلى الزاوية 180 درجة.

sm8

التحكم بالمحرك باستخدام مكتبة RPi.GPIO

أول خطوة هي تحديد الرجل التي ستستخدم مع PWM وذلك من خلال الدالة PWM كالتالي:

في الحالة السابقة فإن رقم الرجل المراد تفعيل PWM هي 18 وترددها 50Hz والتي تعادل 20 ملي ثانية

لتشغيل أو البدء في إرسال النبضات نستخدم الدالة start:

dc هو قيمة (duty cycle) وهي عبارة عن نسبة مئوية وتحسب كالتالي:

dc = L/P

حيث L تساوي طول النبضة و P تساوي طول الدورة.

لتغيير قيمة dc نستخدم الدالة ChangeDutyCycle:

 

لإيقاف إرسال النبضات نستخدم الدالة stop:

مثال عملي

أولا التوصيل:

سنتبع التوصيل كما في الصورة التالية:

sm9

للتوضيح:

السلك الأصفر متصل مع الرجل رقم (GPIO 18)

والسلك الأسود من البطارية متصل مع السلك الأسود من المحرك ومع السلك الأزرق الذي بدوره متصل مع الرجل GND

والسلك الأحمر من البطارية متصل مع السلك الأحمر من المحرك

وبالتالي يكون التوصيل النهائي مشابه للصورة التالية:

sm1

ثانيًا الكود البرمجي:

البرنامج التالي سيتحكم بالمحرك من خلال تحريكه للزاوية 90 درجة وينتظر ثانية واحدة ، ثم يحركه إلى الزاوية 0 درجة وينتظر ثانية واحدة ، وفي الأخير يحركه إلى الزاوية 180 درجة ، ثم يستمر بتكرار نفس الخطوات حتى تتم مقاطعته.

ملاحظة: dc تم حسابها كالتالي:

dc= (0.5/20) ×100= 2.5%

dc= (1.5/20) ×100= 7.5%

dc= (2.5/20) ×100= 12.5%

رازبيري باي-الدرس السابع- التحكم عن بعد باستخدام VNC

في هذا الدرس سوف تتعلم تثبيت واستخدام VNC على الرازبيري باي.

هذه الطريقة سوف تسمح لك بعرض الواجهة الرسومية “UI” عن بعد وتسمح لك بالتحكم بالماوس والرسوميات. الصورة التالية تقرب الفكرة أكثر:

vnc1

الطريقة هذي تشابه الطريقتين السابقتين من حيث التحكم عن بعد بالرازبيري وتمتاز بأنها تمكنك من عرض الواجهة الرسومية بالكامل عن بعد.

تثبيت برنامج VNC

 

VNC هو عبارة عن شبكة اتصال افتراضية ، لاستخدامها نحتاج لتثبيت بعض البرامج.

يوجد العديد من تطبيقات خوادم VNC ولكن الذي سوف نستخدمه في درسنا هو “tightvnc”.

يمكننا تثبيت خادم VNC من خلال الاتصال عن بعد بـ SSH. (تحدثنا في الدرس الخامس عن SSH وطريقة تفعيله)

الآن للتثبيت أدخل الأوامر التالية:

vnc2

عند انتهاء التثبيت سوف تشاهد ما يشبه الصورة التالية:

vnc3

الأن نحتاج لتشغيل خادم VNC ، لتشغيله أدخل الأمر التالي في نافذة SSH:

vnc4

كما في الصورة سوف يطلب منك اختيار كلمة سر لاستخدامها في عملية الاتصال لاحقا ، يجب أن لا تتجاوز 8 أحرف ولتكن مثلا “raspberr”.

من الآن فصاعدا نحتاج في الرازبيري باي للامر التالي فقط:

الآن أصبح خادم VNC يعمل على الرازبيري باي وسوف نتحول إلى الحاسوب لإعداد عميل VNC لتكتمل عملية الاتصال بالرازبيري باي.

تثبيت واعداد عميل VNC

 

مرة أخرى هنالك العديد من تطبيقات عميل VNC ، ولكن في هذا الدرس سوف نستخدم “VNCViewer” متوفر لأغلب أنظمة التشغل.

حمله من هنا (http://www.realvnc.com)

عندما تقوم بتشغيل برنامج “VNCViewer” سوف تظهر لك النافذة التالية:

vnc5

قم بادخال عنوان IP الخاص بالرازبيري باي ثم اضغط على “Connect” سوف تظهر لك رسالة التحذير التالية مرة أخرى إضغط على “Connect”.

vnc6

بعد ذلك سوف تظهر لك النافذ التالية أدخل كلمة السر التي اخترناها سابقًا (“raspberr”).

vnc7

وأخيرًا سوف يظهر لك سطح مكتب الرازبيري باي ، والآن حان وقت اللعب 🙂

vnc1

تشغيل خادم VNCServer مع اقلاع النظام

ملاحظة: هذه الخطوة تحتاج إلى إعداد الرازبيري باي لتقلع مباشرة إلى الواجهة الرسومية راجع الدرس الثاني.

لجعل خادم VNC يعمل مع اقلاع النظام مباشرة اتبع الخطوات التالية:

أولا: من طرفية SSH اكتب الأمر التالي للذهاب للمجلد “/home/pi” ثم من خلاله اذهب لمجلد “.config “:

ثانيًا: قم بإنشاء مجلد جديد باسم “autostart” وادخل داخله:

vnc8

ثالثًا: قم بكتاية الأمر التالي لانشاء ملف نصي جديد وتحرير:

واكتب داخاله الأسطر التالية:

vnc9

وأخيرًا إضغط على زر ctrl+X ثم Y لحفظ الملف ، الآن سيعمل الخادم مع الإقلاع.

رازبيري باي-الدرس السادس- اعداد واستخدام كيبل التحكم (Console-Cable)

في هذا الدرس سوف تتعلم كيف تتحكم عن بعد بالرازبيري باي بواسطة سلك وحدة التحكم (console cable).

cc1

في الدرس السابق تكلمنا عن التحكم عن بعد باستخدام SSH وفي هذا الدرس سوف نتكلم عن طريقة أخرى للتحكم عن بعد.

أكبر ميزة في الربط بهذه الطريقة هي امكانية توفير الطاقة للرازبيري باي من خلالها ، وكذلك أيضا أنها سوف تغنيك عن استخدام كيبورد وماوس وشاشة خاصة بالرازبيري باي تمامًا مثل SSH.

في هذا الدرس سوف تحتاج إلي برنامج PuTTY إذا كنت تستخدم نظام وندوز وكذلك تحتاج لتثبيت التعريف (Driver) الخاص بالكيبل، بالنسبة لنظام الماك ولينكس فإن برنامج الطرفية الخاصة بهما يكفي للتواصل مباشرة.

ماذا تحتاج

 

لمتابعة هذا الدرس أنت تحتاج إلى:

أولًا: رازبيري باي

cc2

ثانيًا: توصيلة USB to TTL Serial Cable

cc3

هذا الكيبل يحتوي على 3.3V وهو آمن لاستخدامه مع الرازبيري باي.

تثبيت التعريف (Driver) على نظام الماك

 

أذا كنت تستخدم نظام الماك فأنت تحتاج فقط إلى تثبيت تعريف الكيبل ، ثم التعامل مباشرة مع الطرفية.

قم بالضغط هنا لتحميل التعريف

إذا كنت تستخدم Lion أو Mountain Lion أو النسخ الأحدث من نظام  OSX جرب هذا التعريف

كلا التعريفين يتبعان المعيار الأساسي للتثبيت في الماك ، بعد فك الضغط وتشغيل ملف التثبيت اقبل جميع الإعدادات الفتراضية في التثبيت

cc4

تثبيت التعريف (Driver) على نظام الوندوز

 

أولًا قم بتحميل وتثبيت برنامج PuTTY (راجع الدرس الخامس لمعرفة ذلك).

الآن قم بتحميل التعريف من خلال هذه الصفحة: http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41

قم بتحميل ملف zip باسم “PL2303_Prolific_DriverInstaller_v1_7_0.zip” قم بفك الضغط عن الملف ثم قم بفتح المجلد ثم قم بتشغيل برنامج التثبيت باسم “PL2303_Prolific_DriverInstaller_v1.7.0.exe”

cc5

cc6

الآن أصبح التعريف مثبت وجاهز علمًا أنه قد يحتاج إلى إعادة تشغيل الحاسوب.

ملاحظة يفضل تحميل آخر نسخة من التعريف والتي تحمل الرقم  “PL2303_Prolific_DriverInstaller_v1_12_0.zip” لأن النسخ السابقة لا تدعم الاصدار 8 و 8.1 و10 من نظام ويندوز

تثبيت التعريف (Driver) على نظام لينكس

 

إصدارات نواة لينكس رقم 2.4.31 وما بعدها لاتحتاج إلى تحميل وتثبيت التعريف “PL2303” لأنه يكون مثبت في نواة النظام مسبقًا.

كذلك هنالك بعض التوزيعات مثل Ubuntu 12.10 لا تحتوي على برنامج “screen” ، ولتثبيت البرنامج قم بحكتابة الأمر التلي في الطرفية:

 

طريقة التوصيل

 

الكبيل يحتوي على أربع أسلاك يتم توصيلها مباشرة مع الرازبيري باي وتحديدًا في GPIO.

cc3

ملاحظة مهمة جدًا: السلك الأحمر يستخدم فقط وفقط لإمداد الرازبيري باي بالطاقة وفي حال كنت تستخدم مصدر طاقة عن طريقة منفذ microUSB فلاتقم بتوصيله أبدًا لأنه قد يسبب ضرر للرازبيري باي. والسبب أنه يتم إمداد الطاقة من مصدر واحد فقط.

الآن قم بالتوصيل كما هو مبين في الصورة التالية:

cc9

  • السلك الأحمر مع 5V
  • السلك الأسود مع GND
  • السلك الأبيض مع TXD
  • السلك الأخضر مع RXD

شاهد الصورة التالية للمزيد من التأكد حول أسماء الأرجل وترتيبها وهي خاصة بالجيل الأول من الرازبيري باي.

test2

الآن قم بتوصيل الطرف الثاني “USB” من الكيبل بالحاسوب.

الضبط والإتصال

 

إذا كنت تسخدم نظام الماك قم بكتابة الأمر التالي في برنامج الطرفية “Terminal”:

إذا كنت تسخدم نظام لينكس قم بكتابة الأمر التالي في برنامج الطرفية “Terminal”:

عند الضغط على زر الإدخال “ENTER” سيطلب منك تسجيل الدخول علمًا أن اسم المستخدم الإفتراضي “pi” وكلمة المرور “raspberry”

cc10

cc11

إذا كنت تستخدم نظام وندوز فسنتعامل مع برنامج PuTTY ولكن قبل ذلك نحتاج إلى معرفة رقم المنفذ التسلسلي ، ويمكن ذلك من خلال مدير الأجهزة “Device Manager” الموجود في لوحة التحكم “Control Panel” كما هو موضح في الصورة التالية:

cc12

في هذه الحالة رقم المنفذ هو “COM7”

الأن قم بتشغيل برنامج PuTTY وقم بوضع الإعدادات كما هو موضح في الصورة ثم قم بالضغط على “Open”

cc13

وأخيرًا أدخل اسم المستخدم وكلمة المرور علمًا أن اسم المستخدم الإفتراضي “pi” وكلمة المرور “raspberry”

cc14

والآن يمكنك التحكم بالزبيري باي عن بعد 🙂

رازبيري باي-الدرس الخامس- اعداد SSH والتحكم عن بعد برازبيري باي

في هذا الدرس سوف تتعلم التحكم عن بعد بالرازبيري باي الخاصة بك باستخدام SSH بعد توصيلها بشبكتك الداخلية

ssh1

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

وأيضا تقليل العتاد والأسلاك الموجودة على المكتب التي تسبب بعض الفوضى.

تفعيل SSH

يعتبر SSH هو سمة من سمات لينكس ولها العديد من المهام منها فتح جلسة للطرفية يمكن من خلالها كتابة  الأوامر والتحكم من خلال الحاسب .

الإصدارات الأخيرة من نظام Raspbian يكون SSH مفعل افتراضيًا ، في حال لم تكن مفعلة فيمكن القيام بذلك يدويًا كالتالي:

قم بقتح برنامج LXTerminal وإدخال الأمر التالي لفتح اعدادات النظام Raspi Config:

ssh2

انتقل للاسفل وقم باختيار “ssh”:

ssh3

الآن اختر “Enable”:

ssh4

بعد ذلك تظهر الرسالة التالية للتأكيد فقط:

ssh5


استخدام SSH على نظام الماك أو لينكس

 

الآن نترك الرازبيري باي وننتقل للحاسب الذي تريد من خلاله التحكم بالرازبيري باي ، إذا كنت تستخدم نظام تشغيل الماك أو لينكس قم بفتح برنامج الطرفية في حاسبك

الآن أدخل الأمر التالي في الطرفية:

ملاحظة سوف تحتاج إلى استبدال عنوان IP السابق إلى عنوان IP الخاص بالرازبيري باي ، ويمكنك معرفته من خلال تنفيذ الأمر “sudo ifconfig” في الرازبيري كالتالي:

ssh6

ssh7

الخيار –l pi يحدد أننا نريد تسجيل الدخول على الرازبيري باي باسم المستخدم “pi” في أول مرة تقوم بتشغيل الأمر سوف يظهر تحذير أمني ، أدخل كلمة المرور “raspberry” هي كلمة المرور الافتراضية اذا لم تقم بتغييرها.

ستلاحظ أن مؤشر الأوامر تغير للإشارة بأنك متصل بالرازبيري باي.

استخدام SSH على نظام الويندوز

 

إذا كنت تستخدم ويندوز، فإنك سوف تحتاج إلى تحميل برنامج “PuTTY” المجاني من هنا:

http://www.putty.org/

بعد تحميل وتثبيت “PuTTY” قم بتشغيله

ssh8

أدخل عنوان IP الخاص بالرازبيري باي وتم شرح استخراج العنوان في الخطوة السابقة ، ثم انقر فوق “Open” ، سوف تظهر رسالة تحذيرية (لأول مرة) ثم يطلب منك ادخال اسم المستخدم”pi” وكلمة المرور”raspberry”

ssh9

الأن تم الاتصال وجاهز للاستخدام

ssh10

رازبيري باي-الدرس الرابع- اعداد GPIO

في هذا الدرس سوف تتعرف على GPIO ، وعلى مكتبة Rpi.GPIO وطريقة تثبيتها والتعامل معها.
واحد من أهم المميزات في الرازبيري باي أنها تحتوي على مجموعة أرجل تستخدم كمخارج أومداخل تعرف إختصارًا بـ (GPIO) للتواصل مع القطع الإلكترونية الأخرى مثل الحساسات

GPIO1

الـ GPIO تحتوي على أنواع اتصال مختلفة كالتالي:

  • GPIO حقيقي
  • I2C
  • SPI
  • الاتصال التسلسلي Rx وTx

بالاضافة إلى أن بعض الأرجل من الممكن أن تستخدم كـ PWM-Pulse Width Modulation للتحكم بالطاقة وكذلك من الممكن أن تستخدم كـ PPM-Pulse Position Modulation للتحكم بالمحرك.

 

منافذ GPIO

 

الصورة التالية توضح أسماء الأرجل وأنواعها للاصدار الاول من الرازبيري باي:

GPIO2

الأرجل (GND 3.3V 5V) خاصة بالطاقة ، وللعلم جميع أرجل GPIO يمكن استخدامها كمدخلات أو مخرجات ، وأيضًا الأرجل SCL و  SDA يمكن استخدامها لـ I2C وكذلك الأرجل MOSI و MISO و SCKL يمكن استخدامها لـ SPI.

ملاحظة مستوى الفولت في جميع الأرجل 3.3V وهي ليست آمنة مع 5V أيضا مستوى الفولت الخارج هو 0-3.3V وكذلك الحد الأعلى للفولت المدخل يجب أن لايتجاوز 3.3V.

مكتبة Rpi.GPIO للبايثون

لبرمجة منافذ GPIO بالبايثون نحتاج إلى مكتبة Rpi.GPIO لتسهل علينا التحكم بالـ GPIO ، عادةً مكتبة Rpi.GPIO تكون مثبته مسبقًا مع نظام Raspbian ولكن في حال عدم توفرها يمكنك تثبيتها يدويا من خلال ادخالك للأوامر التالية في LXTerminal

GPIO3

قم بتحديث المستودعات للحصول على آخر إصدار

GPIO4

قم بتثبيت python-dev

قم بتثبيت مكتبة Rpi.GPIO

استخدام Rpi.GPIO

 

نأتي الآن لكيفية التعامل مع مكتبة (Rpi.GPIO) والتعامل مع الدوال الخاصة بها قم بفتح ملف نصي من خلال كتابة الأمر التالي في برنامج LXTerminal

لاستدعاء مكتبة (Rpi.GPIO) في كود البايثون الخاص بنا نكتب التالي:

قبل التعامل مع الـ GPIO يجب تحديد طريقة الترقيم للبورد واختيار  BCM أو BOARD كالتالي:

أو

الفرق بينهما أن BOARD يعتمد على ترتيب الرجل في البورد أما BCM فهو يعتمد على ترتيب الرجل حسب التسمية (GPIO XX) الصورة التالية توصح كلا الطريقتين في التسمية

GPIO6

لتعيين الرجل كمخرج أو مدخل نستخدم الدالة “setup”:

للتعيين كمخرج نكتب OUT وكمدخل نكتب IN مثال:

أو

للتحكم بالإخراج من الأرجل وتمرير التيار أو ايقافه نستخدم الدالة “output”:

لتمرير التيار نكتب HIGH ولإيقافه نكتب LOW مثال:

أو

لقراءة التيار الداخل نستخدم الدالة ” input”:

مثال لاختبار قيمة المدخل:

لمسح اعدادات GPIO نستخدم الدالة “cleanup” :

أخيرا لتشغيل البرنامج نكتب الأمر التالي في LXTerminal:

 

رازبيري باي-الدرس الثالث- اعداد الشبكة

من الأمور البدائية التي عليك القيام بها هي ربط الرازبيري باي بالإنترنت.

في هذا الدرس ستتعلم :

  • الاتصال عبر كيبل الإيثرنت(شبكة سلكية)
  • استخدام الواي فاي
  • معرفة الأي بي IP الخاص بالرازبيري باي

network settings

استخدام الشبكة السلكية

اسرع طريقة لاستخدام الشبكة السلكية هي ربط الرازبيري باي بكيبل الإيثرنت متصل بالراوتر.

LAN network

بمجرد ربط الرازبيري باي ستلاحظ اضاءة الـLEDs الخاصة بالاتصال الشبكي.

eth

اعداد وربط الاتصال عبر الواي فاي

اذا كنت تستخدم أحدث اصدار للـRaspbian من المفترض ان تجد على سطح المكتب ايقونة لاعدادات الواي فاي

wifi config icon

الخطوة الأولى

اضغط ضغطة مزدوجة وسوف يظهر لك التالي

wpa_gui

الخطوة الثانية

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

wpa scan

الخطوة الثالثة

قم بإدخال كلمة المرور في خانة PSK ومن ثم الضغط على زر الاضافة Add . يمكنك الان الاتصال أو فصل الإتصال  بكل سهولة.
لاحظ بأن الأي بي  IP الخاص للرازبيري باي يظهر في نهاية النافذة.

wpa gui configured

اعداد الواي فاي عبر شاشة الأوامر

الخطوة الأولى

قم بفصل وصلة الواي فاي Wifi adapter واعد تشغيل الرازبيري باي

الخطوة الثانية

قم بفتح terminal session عبر الضغط على ايقونة  LXTerminal،وادخل الأمر التالي

etcnetwork interfaces

 

الخطوة الثالثة

سيتم اتاحة التعديل على الملف الخاص بإعدادات الاي فاي

nano edit

ماتحتاج لتغييرة هو السطرين الأخيرين  (اسم الشبكة) و (كلمة المرور الشبكة) لتصبح كالتالي

nano change

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

هذا النوع من برامج التحرير لايتيح لك استخدام الفأرة ،لذلك قم باستخدام لوحة المفاتيح عوضا عن ذلك.

الخطوة الرابعة

بعد الإنتهاء من التعديل ، قم بالضغط على Ctrl+x. سيتم سؤالك ان كنت ترغب بحفظ التعديل.

save changes

قم بالضغط على حرف Y ليتم حفظ التعديل.

الخطوة الخامسة

قم بإطفاء الرازبيري باي وقم بربط وصلة الواي فاي ثم قم بتشغيل الرازبيري باي مره أخرى.سيتم الاتصال بالشبكة اثناء التشغيل.

ايجاد عنوان الأي بي الخاص بالرازبيري باي

ستستطيع معرفة ذلك عبر الضغط على اعدادات الواي فاي وسيظهر لك عنوان الأي بي في اسفل النافذة.

أو يمكنك الذهاب لشاشة الأوامر عبر الضغط على LXTerminal  وكتابة الأمر التالي:

sudo ifconfig

بجانب wlan0 ستجد العنوان 192.168.1.10 وهو عنوان الأي بي الخاص بالرازبيري باي

تذكر ان عناوين الأي بي التي تبدأ بـ 192.168 أو 10.0 هي عناوين داخل الشبكة التي قمت بالاتصال عبرها ، هذا يعني انه يمكنك الاتصال بالإنترنت ولكن لا يمكنك أن تجعل من الرازبيري باي سيرفر متاح لاي شي عبر الإنترنت دخولة عبر هذا العنوان.