إنشاء media center باستخدام الراسبيري باي

Raspberry pi 3 هي واحدة من أفضل الحواسيب الصغيرة، لأنه يجمع بين سرعة مثيرة للإعجاب مع قيمة جيدة. كما انها متعددة الاستعمالات، لذلك يمكن استخدامها في الكثير من المشاريع. ومن ذلك، يمكنك أيضا استخدام الراسبيري باي 3 مع Kodi، لتحول لوحة الراسبيري باي مع أي جهاز تلفاز إلى Media Center متكامل لعرض الأفلام عالية الجودة.

how-to-use-raspberry-pi-to-make-a-media-centre

نظام التحكم ومراقبة الإضاءه عن بعد

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

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

b5

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

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

5mm Red LED

العدد :8

220 Ω resistor

مقاومة 220 اوم

العدد :8

Full size breadboard 830

  لوح تجارب كبير (Full size breadboard)

Raspberry Pi 3 Model B

Jumper Wires Male/Male

 اسلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

Female-Male Jumper Wires

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

5V 2A Switching Power Supply MicroUSB Cable

Power Supply

Samsung 8Gb Class 6 Microsd Memory Card 2

Samsung 8Gb Class 6 Microsd Memory Card

نظرة عامة :

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

remote-control-raspberry-pi-leds

يمكنك من خلال هذا النظام التحكم بالتوصيلات الكهربائية (Powerstrip  )، التحكم تدفئة أو تبريد المنزل، التحكم في تشغيل و اطفاء الالات الكهربائية.

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

في جزء التوصيل الإلكتروني سيتم توصيل 8  LEDs فقط.الجزء المختلف في التوصيل هو إختيار المنفذ لكل LEDs . في الواقع ، سوف نستخدم في نظام التحكم ومراقبة الإضاءه  مكتبة تدعا wiringPi و أرقام المنافذ في هذه المكتبية ليست هي نفس التي على الراسبيري باي.سيتم تسمية المنافذ على الراسبيري باي اعتمادا على مكتبة wiringPi كما هو موضح بالجدول التالي :

remote-control-raspberry-pi-leds

قم بتوصيل القطع اللكترونية كما هو موضح بالصورة :

remote-control-raspberry-pi-leds

 يتم توصيل  الطرف السالب للـ LEDs بمقاومة 220 اوم و الطرف الموجب حسب الجدول التالي:

remote-control-raspberry-pi-leds

تثبيت و إستخدام المكتبة Wiring Pi :

مكتبة Wiring Pi هي مكتبة الوصول إلى GPIO  على لوحة الراسبيري باي . و انها تسمح لك التحكم بمداخل و مخارج الراسبيري باي من خلال bash script   او مباشر من خلال سطر أوامر.
تحقق أولا ما اذا كانت مكتبة wiringPi مثبتة مسبقا ام لا ، من خلال نافذة الـ  terminal قم بتشغل الامر التالي:

 اذا لم تقم بتثبيت GIT،  يمكنك تثبيتها من خلال الأمر التالي :

اذا تم ظهور رسالة خطأ هنا ، تأكد من تحديث الراسبيري باي إلى أخر اصدار من Raspbian :

للحصول على WiringPi باستخدام GIT، قم بكتابة الأمر التالي:

سوف تجلب النسخة المحدثة ثم يمكنك إعادة تشغيل البرنامج من خلال الأمر أدناه .
لبناء/ تثبيت البرنامج :

الكتابة و القراءة من المنافذ عن طريق استخدام أوامر المكتبة wiringPi :

الأن يجب أن تكون قادر على إستخدام الأداة، قم بكتابة الأمر التالي على نافذة الـ Terminal :

اذا لم يتم ظهور شي أو رسالة خطأ فقد تم التثبيت للمكتبة بشكل صحيح. في حال تم ظهور رسالة الخطأ “command not found error” أو شي من هذا القبيل، تأكد من تثبيت و بناء المكتبة. للقيام بتشغيل و إطفاء الـ Wiring pin 0 )LED) ، تحتاج اولا إلى تعيين الدبوس كمخرج من خلال الأمر التالي :

“0”هي رقم المنفذ wiring، و “OUT”  لتعيين المنفذ كمخرج . سيتم تشغيل الـ LED  من خلال الأمر التالي :

“0” للدلاله على رقم المنفذ ، و “1”  لوضع الدبوس في حالة التشغيل الـ LED( للتشغيل 1 و إطفاءه 0) . و لإيقاف تشغيلك ببساطة استخدم الأمر :

وهناك أيضا اوامر لقراءة GPIO  والتي تسمح لقراءة وضع الدبوس. فيمكن من خلاله معرفة حالة الضوء هل هو في حالة التشغيل او الإيقاف إذا لم تكن على إستطاعه لرؤية الضوء. يمكنك ذلك عن طريق الأمر التالي :

“0” لتعيين رقم المنفذ Wiring. هذا الأمر يقوم بترجيع  قيمة 1 اذا كان الضوء في حالة التشغيل و قيمة 0 اذا كان الضوء في حالة الإيقاف.

وأخيرا مكتبة wiringPi تحتوي على الكثير من الأوامر و الدوال التي تمكنك من التحكم بمداخل و مخارج الراسبيري باي ولكن لن يتم تغطيتها جميعها في هذا المشروع. يمكنك الاطلاع على هذه الروابط اذا كنت مهتم بمعرفة المزيد :

http://wiringpi.com/reference/

https://projects.drogon.net/raspberry-pi/wiringpi/the-gpio-utility/

نظام التحكم ومراقبة الإضاءه عن بعد مع SSH  هو جميل ولكن الواجهة ليست سهلة الاستعمال  و كتابة الأوامر في كل مرة أمر طويل و مزعج. هذا هو السبب في أننا بحاجة إلى واجهة رسومية لمشروعنا.كما أن برمجة تطبيق لكل نظام تشغيل (IOS, Android, Windows phone ,Mac, Linux, Windows ,….) ستكون طويلة جدا و يتطلب أن تكون على معرفه  بعدة لغات مختلفة.

هذا هو السبب لإنشاء صفحة ويب على شبكة النت ، حيث انها ستكون متوافقه مع جميع الأجهزة ، و ستكون بحاجة لمعرفة اربع لغات : CSS,HTML (نمط الصفحة)، PHP (للتفاعل مع الخادم )،  JavaScript (التفاعلات مع المستخدم) . نحن بحاجة لتثبيت خادم الويب على الراسبيري باي. في حالتنا نحن لسنا بحاجة إلى قاعدة بيانات MySQL ، فقط بحاجة إلى خادم HTTP و PHP.

 تثبيت خادم الويب(Web Server) :

أولا قم بعمل تحديث للراسبيري باي :

قم بتثبيت الخادم (Apache HTTP server ) وPHP5 من خلال الأمر التالي :

الان قم بالتحقق ما اذا كان الخادم (Server) يعمل، قم بكتابة العنوان IP الخاص بالراسبيري باي على متصفح الويب. اذا كان يعمل ستظهر رسالة “It works!” كما هو موضح بالصورة أدناه.

remote-control-raspberry-pi-leds

إذا لم يتم مثل ما سبق، قم بالتحقق من العنوان IP الخاص بالراسبيري باي من خلال الأمر التالي :

أو قم بمحاولة إعادة تثبيت Apache  أو إعادة تشغيل الراسبيري باي.

الملف  الخاص بواجهة المستخدم :

قم بالدخول إلى ملف /var/www/html/ عبر نافذة الـTerminal من خلال الأمر التالي :

قم بعرض الملفات الموجودة على هذا الملف بإستخدام الامر التالي:

سيظهر لك ملف واحد يسمى “index.html”  هذا الملف يتوافق مع صفحة “It works!”. يمكنك حذفه ليتم إنشاء الصفحة الخاصة بهاذا المشروع. قم بحذف الملف بإستخدام الأمر التالي :

و إنشاء ملف أخر يسمى “index.php”  :

ثم قم بكتابة النص التالي داخل الملف:

بعد حفظ الملف ، قم بعمل تحديث للمتصفح الخاص بك. يجب أن تشاهد صفحة طويلة مع الكثير من المعلومات حول الخادم و PHP .

إنشاء واجهة المستخدم :

يمكننا التحكم بالراسبيري باي من خلال  PHP script ولكن لن يكون هناك واجهة لتفعال المستخدم ، و بالتالي فإننا لن نتمكن من إيقاف و تشغيل الـ LED.
واجهة المستخدم تتألف من صور عبارة عن أزرار تشغيل و إيقاف. الأخضر للدلالة على التشغيل و الأحمر للدلالة على اللإيقاف . كل صورة/ زر يتم ربطه مع LED خاص به . لذلك اذا تم النقر على أحد الصور/الأزرار ، سيتم تشغيل أو إيقاف الـ LED المرتبط به و سيتم تغيير الصورة من زر أحمر إلى أخضر او العكس .

remote-control-raspberry-pi-leds

سيتم إنشاء واجهة الصفحة بإستخدام لغةHTML، و لتفاعلات الخادم وتوليد الصفحة لغة PHP، و JAVAScript  لإدارة التفاعل مع المستخدم و الرسوم المتحركة للصفحة. ويمكنك استخدام CSS لتخطيط و تنسيق الصفحة مثل الخلفية .

remote-control-raspberry-pi-leds

اولا نحن بحاجة لملف “index.php” لإنشاء الواجهة ولتفاعل الخادم . هذه الصفحة هي الصفحة الرئيسية التي تحتوي على 8 ازرار.

التحكم بالإضاءة من خلال ملف PHP :

تنفيذ التطبيق مع كود PHP يمكن القيام به بكتابة دالتين مختلفين :exec و system  .أولا الدالة “system” ، تأخذ هذا الامر متغيرين :

المتغير الأول هو الأمر الذي سيتم تنفيذه، و المتغير الثاني هو الحاله المستردة من تنفيذ الأمر. والمتغير الثاني لا يكون إلزاميا.وهكذا يمكنك إستخدامه إذا كنت بحاجة إلى تنفيذ الأوامر”gpio mode 0 out” او “gpio write 0 1” مثال :

ثم الدالة “exec”،  هذة الدالة تقوم بالضبط بنفس العمل للدالة “system” ولكن تقوم بقراءة و تخزين ما طبعه الامر. حيث انه يأخذ ثلاث متغيرات :

الإختلاف بالمتغيرات هو مصفوفة $output . سيتم تخزين ما يتم قراءته خلال الأمر في هذه مصفوفة.وهكذا، يمكنك استخدام هذه الدالة إذا كنت بحاجة إلى قراءة أحد المنافذ مثل الأمر “gpio read 0” وتخزين القيم التي تم استجاعها. مثال:

سنقوم بهذا المشروع بالتحكم بالمصابيح المربوطة على المنافذ من 0 على 7، يتم إنشاء الثمانية أزرار لأول مره في For loop بإستخدام :

قم بفتح ملف index.php ، ثم قم بكتابة الكود التالي في الملف و قم بحفظه:

 نحن بحاجة إلى التحقق ما اذا تم النقر على أحد الأزرار من قبل المستخدم . حيث ان JavaScript تفيد لهذا الغرض، سيتم وضعها في ملف منفصل يسمى “script.js” ولكنها لا تزال مدرجة في ملف”index.php“
Scrip هو مجرد إضافة مستمع (listener) إلى كل من الثمانية أزرار، في كل مرة يتم الضغط على هذه الأزرار ، سيتم استخدام دالة لسؤال ملف gpio.php عن حالة الإضاءة و تستقبل التحديثات كإجابة. و أخير ستقوم الـ javaScript  بتغير صورة الأزرار إلى الأحمر للدلالة على الإيقاف أو إلى أخضر في حالة تشغيل الإضاءة.
و في الملف الأخير ،gpio.php .  يحتوي على كود PHP لتشغيل و إيقاف الإضاءة اعتمادا على ما يتم ارسالة من الـ javaScript .

يمكنك تحميل برمجة كامل المشروع من خلال الرابط المباشر على الموقع هنـا . يمكنك تحميل الملف على الراسبيري باي على ملف /var/www/html/ ثم قم بفتح عنوان IP الخاص بالراسبيري باي على متصفح ويب.

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

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

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

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

في نظام التحكم بشاشات الإعلانات، سنقوم بإنشاء خادم الويب المحلي ( local web server)،  والذي يمكنه أن يكون (A global server) على شبكة الإنترنت. في الراسبيري باي ، سيتم إستخدام شاشة العرض LCD 16×2 لعرض الرسالة و Flask لإستقبال الرسالة عبر الشبكة. كلما يتلقى الراسبيري باي أي رسالة لاسلكية من صفحة ويب ، فإنه يعرض هذه الرسالة على شاشة الكريستال السائل (LCD).

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

HD44780

LCD 16×2 شاشة

potentiometer 10k

Potentiometer 10K Ω

220 Ω resistor

مقاومة 220 اوم

Half-size Breadboard

لوح تجارب حجم متوسط (Half size breadboard )

Raspberry Pi 3 Model B

Jumper Wires Male/Male

 اسلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

Female-Male Jumper Wires

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

5V 2A Switching Power Supply MicroUSB Cable

Power Supply

Samsung 8Gb Class 6 Microsd Memory Card 2

Samsung 8Gb Class 6 Microsd Memory Card

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

نحن بحاجة فقط لتوصيل شاشة العرض (LCD) مع لوحة الراسبيري باي عن طريق إستخدام بعض الاسلاك على لوحة التجارب.

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

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

توصيل  شاشة الـ LCD :

راسبيري بايLCD شاشة
GNDVss
5vVDD
GNDRW
GPIO7RS pin
GPIO8Enable pin
GPIO25D4 pin
GPIO24D5 pin
GPIO23D6 pin
GPIO18D7 pin

إنشاء صفحة ويب :

في هذا المشروع، العنصر الرئيسي هو الراسبيري باي، و التي تمثل قلب هذا المشروع،وتستخدم للتحكم على العمليات المرتبطة بهذا المشروع. مثل : التحكم بشاشة العرض (LCD)، وتلقي الرسائل من الخادم (Server) .

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

سيتم إنشاء خادم ويب (Web Server)، الذي يوفر وسيلة لإرسال “الرسالة المراد إعلانها” الى الراسبيري باي بإستخدام Flask في متصفح الويب. Flask  هو  إطار عمل مُصغّر/صغير (Micro-Framework) وقوي فى نفس الوقت لتطوير برامج الويب عبر لغة بايثون Python، يتوفّر على عدد لا بأس به من الدوال المُساعدة، مُناسب لتطوير تطبيقات صغيرة ومُتوسّطة (مُدونة، منتدى، موقع شخصي… ).

قم بإنشاء ملف  webapp ليتم حفظ الملفات المتعلق بهذا المشروع داخله عن طريق كتابة الأمر التالي على نافة Terminal :

في هذا المشروع سوف نقوم بإنشاء صفحة ويب مع مربع نص (TextBox) و زر إرسال (Submit button)، حيث يمكننا أن ندخل “رسالة الاعلان” في مربع نص ثم رفعها إلى الخادم (Server) عن طريق النقر على زر إرسال. يتم تطوير هذا التطبيق على شبكة الإنترنت باستخدام لغة HTML. الكود البرمجي لصفحة الويب هذه سيتم شرحه و عرضه في الخطوات التالية.

لإنشاء صفحة ويب :

أولا: قم بإنشاء ملف templates في الملف webapp  عن طريق إدخال  الأمر التالي في Terminal:

تحتاج إلى كتابة  كود HTML في محرر نص (text editor) و حفظ الملف مع تمديد  (.HTML)
قم بفتح محرر نص (Text Editor) تحت قائمة Accessories  في القائمة الرئيسية :

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

قم بكتابة كود  HTML التالي :

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

قم بحفظ الملف بتمديد(.HTML) مثل (index.html) في ملف templates ، الذي تم إنشاءه داخل ملف webapp.

لمحة عن الكود :
صفحة الويب يتم إنشاءها بلغة HTML ، والتي تحتوي على مربع نص :

وزر إرسال  (Submit button) :

مع عنوان للصفحه :

عند النقر على زر إرسال سيتم إستخدام POST method  لتنفيذ الكود. ثم نقوم بعرض الرسالة التي تم إرسالها إلى الراسبيري باي عن طريق الخادم (Server).

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

أولا قم بتثبيت حزمة Flask. وتأكد من أنك متصل بالانترنت، إما عن طريق  Ethernet Cable أو عن طريق WIFI   قبل أن تبدأ.

قم بكتابة الأمر التالي على نافذة Terminal  لتثبيت الـ Flask :

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

لبرمجة شاشة الكريستال السائل (LCD) ، يتم إنشاء الدالة ()lcd_init لتهيئة شاشة LCD.

 و الداله  ()lcd_byte لإرسال الأوامر إلى الشاشة، , و الداله  ()lcd_string لإرسال البيانات المراد عرضها على الشاشة إلى الـ LCD .

 و فيما يلي هذا الجزء من البرنامج يستخدم لإرسال رسالة من متصفح ويب إلى الراسبيري باي بإستخدام Flask .

قم بكتابة الكود البرمجي كاملا  كالتالي :

قم بحفظ ملف الكود app.py داخل ملف webapp الذي تم إنشاءه مسبقا. flask  سوف يقوم بالبحث عن index.html في ملف templates، الموجود على نفس الملف الذي يحتوي ملف الكود app.py .
بعد ذلك يمكنك تشغيل برنامج البايثون ولكن قبل ذلك تحتاج إلى استبدال عنوان IP في برنامج مع عنوان IP للراسبيري باي الخاصه بك.يمكنك التحقق من عنوان IP عن طريق كتابة الامر التالي على نافذة terminal :

بعد تشغيل كود البايثون ثم بفتح http://IP_address_of_your_Pi:8080 في متصفح الويب و ادخل الرسالة ثم انقر فوق زر الارسال .

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

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

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

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