The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by eng.hd10, 2019-04-18 03:46:12

SimplyRaspberryPi

SimplyRaspberryPi

‫ التحكم علط الطريأة المتأدمة‬:‫الرصل السابع‬ 138
‫سلكي والتحكم عن بعد‬
‫بصورة صحيحة‬

i2C ‫المزيد من المراجع عن‬

GPIO‫ وهي عبارة عن طريحة الكترونية تستخدم في زيادة عدد مخارج الة‬GPIO Expander ‫استخدام‬

i2C ‫بساولة عبر بروتوكول‬
http://learn.adafruit.com/mcp230xx-gpio-expander-on-the-raspberry-pi

Character 16x2 ‫طاطة صغيرة لكتابة الحروف من نوع‬
http://learn.adafruit.com/adafruit-16x2-character-lcd-plus-keypad-for-raspberry-pi

RTC ‫ساعة زمنية ىأيأة‬

http://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi

)Seven Segment( ‫وىدة المأاطعات السباعية‬
http://learn.adafruit.com/matrix-7-segment-led-backpack-with-the-raspberry-pi

Digital to Analog Converter (DAC) ‫محول رامي الى تماثلي‬
http://learn.adafruit.com/mcp4725-12-bit-dac-with-raspberry-pi

‫ محرك مختلف‬12 ‫ يمكناا التحكم في‬Servo Motor ‫لوىة توصيل محركات سير و‬
http://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi

)‫ (نرخ المأال بالأعلط لكن باللغة الإنجليزية‬BMP085 ‫استخدام ىساس الضغط والحرارة‬
http://learn.adafruit.com/using-the-bmp085-with-raspberry-pi

‫‪139‬‬ ‫راسبيري باي ببساطة‬

‫الفصل الثامن‪ :‬بعض المرح مع‬

‫لغة سكراتش‬

‫مأدمة عن سكراتش‬ ‫في هذا الرصل سنتعرف علط طريأة رائعة‬
‫مميزات بيئة سكراتش للأطرال‬ ‫لتحويل الراسبيري إلى أ ضل أداة تعليمية‬
‫تنصيب سكراتش للتحكم في الة‪GPIO‬‬
‫وتر ياية للصغار ‪):‬‬
‫أمثلة عملية‬

‫الرصل الثامن‪ :‬بعض المرح مع لغة سكراتش‬ ‫‪140‬‬

‫سلكي والتحكم عن بعد‬

‫من معامل ‪ MIT‬يةتي الإبداع‬

‫هي أىد ابداعات معاد ماساتشوستخ للتكنولوجيا ‪ MIT‬ىيث َادم هذا المشروع‬
‫المذهل طريأة جديدة لتعليم الأطرال واليا عين البرمجة بمراوم ممتع وسلسل‪.‬‬

‫سكراتش هي لغة برمجية رسومية تجعلك وبكل ساولة تنشة اصصا تراعلية‪ ،‬رسوما متحركة‪ ،‬ألعابا‪ ،‬موسيأط‬
‫و ن كما تساعدك علط مشاركة ابداعاتك مع العالم عبر طبكة الإنترنت‪ُ ،‬صممت سكراتش لمساعدة الشباب‬
‫(الذين تبدأ أعمارهم من ‪ 0‬سنوات وأكثر) لتطوير ماارات التعلم في عندما يأوم الشباب بإنشاش مشاريع‬
‫سكراتش‪ ،‬انام يكتسبوي أ كارا مامة في الرياضيات والمسائل الحسابية‪ ،‬وفي الوات نرسه يكتسبوي ام‬

‫أعمق لعملية التصميم البرمجي‪.‬‬

‫تعتمد سكراتش علط مراوم البرمجة بالمكعبات (اللبنات)‪،‬‬
‫بدلا من استخدام النصوص والأكواد البرمجية التي يصعب‬
‫علط الأطرال اماا يتم استخدام مكعبات تعبر عن أوامر معينة‬
‫مثل تعريف متغيرات‪ ،‬دوال المأارنة‪ ،‬جمل تكرارية‪ ،‬التعامل‬

‫مع لوىة المراتيح ‪ ..‬إلخ‪.‬‬

‫راسبيري باي ببساطة ‪141‬‬

‫تتيح سكراتش أغلب الوظائف الأساسية في لغات البرمجة الحديثة بةسلوب سال ومري‪ ،‬كما تدعم أكثر‬
‫من ‪ 01‬لغة مختلرة مناا العربية مما يجعلاا مراوم تماما لجميع الأطرال بلغتام الأم ولا تستدعي تعلم اللغة‬

‫الإنجليزي لرام لغة سكراتش‪ ،‬الصورة التالية توضح الواجاة الرسومية العربية‪:‬‬

‫تستخدم سكراتش كمنصة تعليمية للأطرال بةىد الطريأتين‪:‬‬
‫الطريأة الأولى‪ :‬أي يتعلم الصغار البرمجة بةسلوب بسيط عبر سكراتش وذلك بتشغيلاا من علط‬
‫الحاسوب الرخيص راسبيري باي بادف ام البرمجة وعمل مشاريع برمجية سالة وممتعة‪ ،‬وبسبب‬
‫رخص سعر الراسبيري إنه من الممكن للمدارس الرأيرة طراش كمية كبيرة مناا وتعليم الأطرال‬
‫البرمجة بجميع الرئات العمرية من ‪ 0‬سنوات او أكبر‪ ،‬لمشاهدة أمثلة رائعة أبدعتاا عأول أطرال‬

‫عربية بلغة سكراتش توجه إلى مواع ‪http://scratch.uaeu.ac.ae/‬‬
‫الطريأة الثانية‪ :‬يمكن استخدام سكراتش لبرمجة منا ذ التحكم الإلكترونية ‪ GPIO‬الخاصة‬
‫بالراسبيري وبذلك يستطيع الصغار (وىتط الكبار) عمل مشاريع إلكترونية مذهلة بواجاة رسومية‬

‫بسيطة ودوي الحاجة لكتابة برامج معأدة‪.‬‬

‫الرصل الثامن‪ :‬بعض المرح مع لغة سكراتش‬ ‫‪142‬‬

‫سلكي والتحكم عن بعد‬

‫التحكم في الة ‪ GPIO‬بلغة سكراتش ‪Scratch‬‬

‫في الأساس كاي برنامج سكراتش موجاا لتعليم الأطرال البرمجة عن طريق الأمثلة البسيطة مثل صناعة الألعاب‬
‫التراعلية والرسومية البسيطة‪ ،‬ثم تطور الأمر ىتط أصبح يدعم التحكم في المتحكمات الدايأة المعتمدة علط‬
‫آردوينو ثم تطور الأمر ليدعم التحكم في الة ‪GPIO‬الخاصة بالراسبيري باي جاعلا أي انساي ماما كاي سنة أو‬

‫خلريته العلمية اادر علط عمل مشاريع الكترونية تراعلية بةسلوب سال ودوي كتابة أي اكواد برمجية ناائيا‪.‬‬

‫إضا ة دعم الة ‪GPIO‬‬

‫يةتي برنامج سكراتش مدمج بصورة أساسية في نظام التشغيل ‪ Raspian‬لكن ا تراضيا لا يدعم التحكم في‬
‫مخارج ومداخل الة ‪ GPIO‬لذلك سنأوم بتنزيل إضا ة صغيرة تجعل البرنامج اادر علط التحكم في هذه‬

‫المخارج وذلك عن طريق الأوامر التالية بالترتيب‪:‬‬
‫‪sudo wget https://db.tt/mwn3LsYv -O isg.sh‬‬

‫‪sudo bash isg.sh‬‬

‫بعد الأنتااش من تنصيب الأضا ة ستظار أيأونة جديدة علط سطح المكتب الخاص بالراسبيري باي‬
‫وتحمل أسم ‪ ScratchGPIO3‬كما في الصورة التالية‪:‬‬

‫ام بالضغط مرتين علط الملف ليبدأ تشغيل واجاه البرمجة الرسومية "سكراتش"‬

‫‪143‬‬ ‫راسبيري باي ببساطة‬

‫تشغيل دايود ضوئي بلغة سكراتش‬

‫تحتوي لغة ‪ ScratchGPIO‬علط بعض أمثلة التحكم مناا مثال بسيط يتحكم في دايود ضوئي متصل‬
‫بالمنرذ رام ‪( 11‬مثل مشروع التحكم الأول بلغة البايثوي) لرتح هذا المثال الجاهز اضغط علط ‪ File‬ثم‬

‫‪ Open‬ومن النا ذة التي ستظار اختر ‪ Blink11‬كما في الصورة التالية‪:‬‬

‫ستظار نا ذة البرمجة التالية‪:‬‬

‫ام بتوصيل دايود ضوئي علط المنرذ رام ‪ 11‬مع مأاومة ‪ 311‬أوم (مثل‬
‫مشروع التحكم الأول بلغة البايثوي) ثم اضغط علط علامة "العلم الأخضر"‬

‫لتجد أي الدايود بدا يضيش لمدة ثانية وينطرئ لمدة ثانيتين‪.‬‬
‫لإيأاف البرنامج اضغط مرة أخرى علط علامة "العلم الأخضر"‪.‬‬

‫الرصل الثامن‪ :‬بعض المرح مع لغة سكراتش‬ ‫‪144‬‬

‫سلكي والتحكم عن بعد‬

‫تعديل المشروع ليعمل بلوىة المراتيح‬

‫الآي سنأوم بتعديل بسيط لجعل برنامج الدايود الضوئي يعمل عند الضغط علط زر معين في لوىة المراتيح‬
‫(وليكن زر سام لأعلط) لعمل هذا أضغط علط مربع التحكم ‪ controls‬في الأائمة الجانبية اليسرى ثم‬

‫اسحب المربع الأول الذي سيظار ‪ When Key pressed‬كما في الصور التالية‪:‬‬

‫ثم ام بسحب المربع من بداية كلمة ‪forever‬وضعاا أسرل ‪When Key pressed‬كما في الصور التالية‬

‫والآي اضغط علط كلمة ‪space‬واختر بدلا مناا كلمة ‪up arrow‬‬

‫والآي اضغط علط زر السام لأعلط علط لوىة المراتيح عندك وطاهد ماذا سيحدث‬

‫‪145‬‬ ‫راسبيري باي ببساطة‬

‫كتب إضا ية عن سكراتش‬

‫إذا أردت اي تلاو مع ابنك أو اخيك الصغير أو ىتط أردت زيادة معلوماتك عن لغة سكراتش أنصحك‬
‫بتنزيل واراشة كلا الكتابين‪:‬‬

‫دليل سكراتش باللغة العربية – يشرح أساسيات سكراتش بالعربية‪ ،‬ستجده ضمن المر أات(مجلد ‪)Scratch‬‬

‫دليل البرمجة الشامل لمنا ذ ‪ GPIO‬بلغة سكراتش – كتاب انجليزي يشرح بالترصيل استخدام سكراتش‬
‫في برمجة المشاريع الإلكترونية مع أمثلة عملية للتحكم في المحركات والحساسات المختلرة وىتط طرع‬
‫لصناعة روبوتات بسيطة ومتطورة باذه اللغة الممتعة‪ ،‬يمكنك تحميلة مجانا من الرابط التالي(أو من مواع‬

‫كتاب الراسبيري)‪http://www.pridopia.co.uk/rs-pi-set-scratch.html:‬‬

‫موارد تعليمية اخرى‬

‫‪http://scratch.uaeu.ac.ae/‬‬
‫‪http://cymplecy.wordpress.com/2013/04/22/scratch-gpio-version-2-introduction-for-beginners/‬‬
‫‪http://cymplecy.wordpress.com/2013/12/27/scratchgpio-documentation/‬‬

‫الرصل التاسع‪ :‬إنترنت الأطياش ومشاريع التحكم عبر الشبكة‬ ‫‪146‬‬

‫سلكي والتحكم عن بعد‬

‫الفصل التاسع‪ :‬إنترنت الأشياء‬

‫ومشاريع التحكم عبر الشبكة‬

‫بيئة التحكم ‪WebIOPi‬‬ ‫في هذا الرصل سنستغل ادرات الراسبيري‬
‫التحكم في الة ‪ GPIO‬عن بعد‬ ‫ونظام لينكخ في الاتصال بالشبكات و‬
‫اراشة الحساسات وبث النتائج عبر الشبكة‬ ‫الإنترنت لعمل تطبيأات تحكم وأجازة‬

‫إلكترونية يمكن الوصول إلياا عبر الشبكة‪.‬‬

‫‪147‬‬ ‫راسبيري باي ببساطة‬

‫التحكم في مخارج الراسبيري عبر ‪WebIOPi‬‬

‫في هذا الجزش سنتعلم كيرية التحكم في مخارج ومداخل‬
‫الراسبيري باي عبر أي جااز متصل بالشبكة سواش سلكيا أو لاسلكيا‬
‫وذلك عبر البيئة التحكمية الرائعة ‪ WebIoPI‬والمصنعة خصيصا لتطبيأات انترنت الأطياش ‪Internet of Things‬‬
‫وذلك باستخدام مزيج من لغات (البايثوي ‪ +‬الجا ا سكربت) لتو ير أسلوب سال وبسيط للتحكم في الة‪GPIO‬‬

‫الخاصة بالراسبيري باي عن بعد ودوي عناش‪.‬‬

‫من الأمور الرائعة في بيئة الة ‪ WebIOPi‬أناا تدعم التواصل مع جميع الأجازة التي تستطيع الاتصال بالإنترنت‬
‫وذلك عن طريق تو ير واجاه تحكم يمكن الدخول إلياا باستخدام أي متصرح مثل ‪Firefox, Chrome,‬‬
‫‪ Opera‬أو متصرحات الهواتف الجوالة و الأجازة اللوىية أو ىتط متصرحات التلرزيونات الذكية التي تستطيع‬

‫الاتصال بشبكة الحاسب‪.‬‬

‫كما لا تأتصر وظيرة بيئة التحكم علط تشغيل وإطراش الة ‪ GPIO‬أط بل يمتد الأمر لمراابة الحساسات المختلرة‬
‫وعرن نتائجاا عبر الانترنت وأيضا يمكن لهذه البيئة الرائعة التحكم في الأجازة المتصلة بالراسبيري مثل لوىة‬
‫آردوينو أو الموسعات ‪Expanders‬أو مسجلات الإزاىة ‪Shift Registers‬وتدعم بروتكولات التحكم المتأدمة‬
‫مثل ‪i2C‬و‪ SPI‬كما تدعم أكثر من ‪ 31‬اطعة الكترونية مختلرة وذلك بحسب ما جاش في المواع الخاص باا‬

‫‪https://code.google.com/p/webiopi/‬‬

‫تنصيب ‪WebIOPi‬‬

‫في البداية ام برتح سطر الأوامر داخل الراسبيري وام بتحميل ملف تنصيب بيئة التحكم ‪WebIOPi‬عبر الأمر‬
‫‪wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz‬‬

‫ثم انتظر اليلا ىتط يتم تحميل الملف بنجاح كما في الصورة التالية‪:‬‬

‫الرصل التاسع‪ :‬إنترنت الأطياش ومشاريع التحكم عبر الشبكة‬ ‫‪148‬‬

‫سلكي والتحكم عن بعد‬
‫الأي ام برك الضغط عن الملف وادخل الى المجلد الناتج من عملية ك الضغط‪ ،‬ثم ام بتشغيل الملف‬

‫المسؤول عن تنصيب البرنامج وذلك عن طريق الأوامر التالية بالترتيب‪:‬‬

‫‪tar xvzf WebIOPi-0.6.0.tar.gz‬‬
‫‪cd WebIOPi-0.6.0‬‬
‫‪sudo ./setup.sh‬‬

‫هذا الملف سيتولى عملية التنصيب بصورة تلأائية دوي تدخل منك وسيأوم بتحميل جميع الملرات‬
‫المطلوبة بصورة تلأائية (لاىظ أنه يجب توا ر اتصال بالإنترنت لتكتمل عملية التنصيب بنجاح)‬

‫سيتطلب الأمر بعض الوات اد يصل إلى‪ 21‬دايأة أو أكثر وذلك لتحميل وتنصيب جميع الملرات والتي يبلغ‬
‫ىجماا نحو ‪ 21‬ميجا بايت لذلك أنصحك أي تستمتع بإعداد كوب من الأاوة ىتط ينتاي التحميل‪.‬‬

‫ضبط بيئة التحكم لتعمل تلأائيا عن بدأ التشغيل‬

‫سيكوي من المريد جدا أي يتم تشغيل بيئة التحكم تلأائيا لتعمل عند بدأ التشغيل وذلك لاستخداماا في‬
‫تطبيأات التحكم عبر الانترنت مثل تطبيأات المنازل الذكية ‪ Home Automation‬ولعمل هذا سنأوم بتطبيق‬

‫الأمر التالي في سطر الأوامر‪:‬‬
‫‪sudo update-rc.d webiopi defaults‬‬
‫والأي كل ما عليك علة هو اي تأوم بإعادة تشغيل لوىة الراسبيري (عمل ريستارت) ‪ Reboot‬وبعد التشغيل‬

‫ستجد أي الخدمة اد تم ترعيلاا تلأائيا‬

‫تشغيل بيئة التحكم لأول مرة‬

‫في البداية ستحتاج عنواي الشبكة ‪Ip Address‬الخاص بالراسبيري وذلك عن طريق الأمر ‪ ifconfig‬كما‬
‫ذكرنا سابأا‪ ،‬في ىالتي وجدت أي عنواي الشبكة الذي تملكه لوىة الراسبيري هو ‪192.168.1.8‬‬

‫‪149‬‬ ‫راسبيري باي ببساطة‬

‫الآي ام برتح متصرح الأنترنت من أي جااز آخر متصل بالشبكة (سواش كاي جااز ىاسب أو هاتف ذكي)‬
‫وتوجه إلى عنواي الشبكة الخاص بالراسبيري متبوعا ب‪ :8000 ،‬مثل العنواي التالي‪:‬‬

‫‪http://192.168.1.8:8000‬‬

‫في أول مرة سيُطلب منك أسم مستخدم اكتب ‪ webiopi‬وكلمة المرور ‪ raspberry‬بعدها ستظار لك‬
‫الصرحة الرئيسية لبيئة التحكم مثل الموجودة في الصورة التالية‪:‬‬

‫تعرف علط واجاه الة‪WebIOPi‬‬

‫تمتلك بيئة التحكم ‪ 0‬صرحات رئيسية تتخص كل مناا في أداش وظيرة معينة كالتالي‪:‬‬

‫‪ .1‬صرحة ‪ :GPIO Header‬مناا يتم التحكم في جميع المداخل و المخارج و تستطيع إطراش او‬
‫تشغيل أي مخرج أو مدخل عن بعد من خلال هذه الصرحة‪.‬‬

‫‪ .2‬صرحة ‪ :GPIO list‬مثل السابأة وتتميز بترتيب المخارج في صف واىد مرتب تصاعديا‪.‬‬
‫‪ .3‬صرحة ‪ :Serial Monitor‬الصرحة المسؤولة عن مراابة وعرن البيانات الداخلة علط جميع‬
‫المنا ذ التسلسلية في لوىة الراسبيري‪ ،‬علط سبيل المثال يمكنك استخداماا لعرن بيانات من‬

‫لوىة اردوينو علط الراسبيري (مثل الضغط علط ‪Serial Monitor‬في برنامج ‪)Arduino IDE‬‬
‫‪ .0‬صرحة ‪ :Device Monitor‬تعتبر هذه الصرحة من أاوى مميزات بيئة التحكم و هي المسئوله عن‬
‫عرن و تشغيل جميع الأجازة والمكونات الإلكترونية المتصلة بالراسبيري (طرط اي تكوي‬

‫مدعومة من بيئة التحكم)‪.‬‬

‫الرصل التاسع‪ :‬إنترنت الأطياش ومشاريع التحكم عبر الشبكة‬ ‫‪150‬‬

‫بعد‬ ‫عن‬ ‫سلكي والتحكم‬ ‫‪list‬‬ ‫&‬ ‫‪GPIO‬‬ ‫الة‪Header‬‬ ‫صرحتي‬

‫‪GPIO‬‬

‫بمجرد الدخول علط هذه الصرحة ستتمكن من التحكم في جميع مخارج ومداخل الراسبيري عن بعد‬

‫عبر طبكة الحاسب الآلي‪ ،‬عندما تدخل علط الصرحة سيظار لك طكل منا ذ التحكم علط هيئة صرين من‬

‫المربعات مثل الصورة التالية‪:‬‬

‫صرحة ‪GPIO List‬‬ ‫صرحة ‪GPIO Header‬‬

‫تمثل المربعات رمادية اللوي وضع المنرذ (مدخل | مخرج) وإذا امت بالضغط علط اىداها ستجد الاسم‬
‫اد تبدل من ‪ IN‬إلى ‪ OUT‬أو العكخ وبذلك يمكنك التحكم في وضع المخرج‪.‬‬

‫المربعات المرامة من ‪ 1‬إلى ‪ 22‬تمثل كل ‪ Pin‬موجودة علط لوىة الراسبيري وتوضح ىالة المرج أو‬
‫المدخل من ناىية رع الجاد المطبق علياا اذا كاي لوناا برتأالي اذا يعني اناا في وضع ‪ ،HIGH‬هناك‬
‫رع جاد علط هذا المخرج او المدل بأيمة ‪ 3.3‬ولت وإذا كاي لوناا أسود اذا يعني انه لا يوجد أي‬

‫رع جاد مطبق (صرر ولت)‪.‬‬

‫تذكر أي الراسبيري تتعامل مع الإطارات الرامية بررع جاد ‪ 3.3‬ولت‪ ،‬لا تحاول ادخال أي رع جاد‬
‫أكبر من ‪ 3.3‬ولت وإلا اد يتضرر المعالج علط لوىة الراسبيري باي‪.‬‬

‫راسبيري باي ببساطة ‪151‬‬

‫مثال علط التحكم باستخدام ‪WebIOPi‬‬

‫جرب أي تأوم بتوصيل ‪Led‬مع مأاومة ‪ 311‬أوم علط التوالي بالمخرج رام ‪ 2‬ولا تنسط أي تضغط علط‬
‫المربع الرمادي لتحوله إلى ‪ OUT‬بدلا من ‪ IN‬ثم أضغط علط الرام نرسه لتشاهد الدايود الضوئي وهو‬

‫يعمل ويطرئ بناش علط أمر يستأبله من الصرحة‬

‫للتحكم في الأجازة الكاربية التي تستالك تيار‬
‫كاربي كبير و رع جاد عالي مثل ‪ 221‬ولت‬
‫يمكنك استخدام لوىة مرىلات ‪Relay Board‬‬

‫مثل الموجودة في هذه الصورة‬

‫الرصل التاسع‪ :‬إنترنت الأطياش ومشاريع التحكم عبر الشبكة‬ ‫‪152‬‬

‫سلكي والتحكم عن بعد‬ ‫صرحة ‪Device Monitor‬‬

‫تعمل هذه الصرحة مع المكونات التي تدعماا بيئة التحكم ‪ WebIOPi‬مباطرة مثل ىساس الحرارة‬
‫‪ DS1822‬أو المحول التماثلي إلى رامي ‪ ADS1014‬ويمكنك معر ة الأائمة الكاملة بالمكونات‬

‫المدعومة مع طريأة توصيلاا من الرابط التالي‪:‬‬
‫‪http://code.google.com/p/webiopi/wiki/DEVICES‬‬

‫لاىظ أنه لأضا ه أي اطعة إلكترونية إلى بيئة التحكم تحتاج إلى تعديل الملف ‪/etc/webiopi/config‬‬
‫و الذي يحتوي علط أكواد ترعيل أو اغلاع أي اطعة الكترونية متصلة بالراسبيري‪ ،‬لكل اطعة أمر خاص‬

‫يمكنك الرجوع إلية من الرابط في الأعلط‪.‬‬

‫بعض الصور التي توضح استخدامات صرحة الة ‪ Device Monitor‬مع لوىة التوسيع ‪Expansion Board‬‬
‫والتي تمتلك مخارج تحكم إضا ية مع مجموعة من المحولات التماثلية إلى رامية ‪.ADC‬‬

‫‪153‬‬ ‫راسبيري باي ببساطة‬

‫مشروع اراشة دجة الحرارة وبثاا عبر الشبكة والإنترنت‬

‫المكونات المطلوبة‪:‬‬ ‫الهدف من المثال‪:‬‬

‫لوىة التجارب ‪Bread Board‬‬ ‫اراشة درجة الحرارة باستخدام الحساس‬

‫لوىة راسبيري باي‬ ‫الرامي ‪ DS18B20‬ومشاهدة النتيجة عبر‬

‫أسلاك توصيل‬ ‫الشبكة والإنترنت وذلك باستخدام بيئة‬

‫ىساس الحرارة الرامي ‪DS18B20‬‬ ‫التحكم ‪WebIOPi‬‬

‫مأاومة ‪4.7‬كيلو أوم‬

‫تحميل أدوات ‪1Wire‬‬

‫بعد الانتااش من توصيل المكونات ام بتنريذ الأومر التالية لترعيل بروتوكول الاتصال ‪1Wire‬‬
‫‪sudo modprobe w1-gpio‬‬
‫‪sudo modprobe w1-therm‬‬

‫الرصل التاسع‪ :‬إنترنت الأطياش ومشاريع التحكم عبر الشبكة‬ ‫‪154‬‬

‫سلكي والتحكم عن بعد‬
‫للتعرف علط الأجازة المتصلة عبر بروتوكول ‪( 1Wire‬في هذا المثال سنجد ىساس الحرارة أط)‬
‫‪cd /sys/bus/w1/devices‬‬
‫‪ls‬‬

‫بعد تنريذ أمر ‪ ls‬سنجد جااز واىد أط متصل وله عنواي ‪ 28-000004598ef8‬كما في الصورة التالية‪:‬‬

‫سنأوم بنسخ هذا العنواي ثم نعدل ملف اعدادت البيئة البرمجية ‪ WebIOPi‬الموجود في الملف‬

‫‪ /etc/webiopi/config‬وذلك عن طريق الأمر ‪:‬‬

‫‪sudo nano /etc/webiopi/config‬‬

‫ثم ام بالسحب إلى أسرل اليلا ىتط تجد مجموعة سطور تبدأ بكلمة ‪ #temp0‬و ‪ #temp1‬هذه الأسطر‬

‫توضح صيغة إضا ة ىساسات الحرارة (بدوي إضا ة علامة ‪ #‬في أول الجملة)‪.‬‬

‫مثلا يمكننا إضا ة ىساس الة ‪ DS18b20‬عن طريق كتابة السطر التالي‪:‬‬
‫‪temp3 = DS18B20 slave:28-000004598ef8‬‬

‫مع استبدال ‪ 28-000004598ef8‬بالرام الذي سيظار لك أنت عند توصيل الحساس‪.‬‬

‫‪155‬‬ ‫راسبيري باي ببساطة‬

‫بعد الانتااش من كتابة أمر إضا ة الحساس ام بحرظ الملف عن طريق الضغط علط ‪ Ctrl+X‬ثم ىرف الة‬
‫‪ Y‬ثم ‪ ،Enter‬بعد ىرظ الملف ا تح متصرح أي جااز متصل بنرخ الشبكة مع الراسبيري ثم توجاه إلى‬
‫عنواي ‪ WebIOPi‬ثم ادخل علط صرحة ‪ Devcies Monitor‬لتجد اراشة الحساس تظار أمامك كالتالي‪:‬‬

‫إضا ة أكثر من ىساس ىرارة‬

‫من مميزات الحساس الحراري ‪ DS18B20‬دعمه لبروتوكول ‪ 1Wire‬وهذا يعني إمكانية توصيل أكثر من‬
‫ىساس علط نرخ الأسلاك واستأبال درجة الحرارة منام جميعا مثل الصورة التالية‪:‬‬

‫الرصل التاسع‪ :‬إنترنت الأطياش ومشاريع التحكم عبر الشبكة‬ ‫‪156‬‬

‫سلكي والتحكم عن بعد‬
‫صيغة كتابة اعدادات الاستأبال في بيئة ‪WebIOPi‬ستكوي كالتالي‪:‬‬
‫‪temp3 = DS18B20 slave:28-0000045348ev5‬‬
‫‪temp4 = DS18B20 slave:28-00000411984n‬‬
‫‪temp5 = DS18B20 slave:28-000006698xcf‬‬

‫مع مراعاة تغير عناوين الحساسات الحرارية والتي ستجدها في مجلد ‪/sys/bus/w1/devices‬‬

‫أيضا يمكنك كتابة أوامر استدعاش أكثر من ىساس بةكثر من بروتوكول وتشغيلاا مع بعض مثل أي تستخدم‬

‫ىساسات بتأنية ‪ 1Wire‬وتأنية ‪ i2C‬تكوي الأوامر المضا ة لملف التعديلات كالتالي‪:‬‬
‫‪temp1 = TMP102 slave:0x49‬‬
‫‪temp2 = TMP102 slave:0x50‬‬
‫‪temp3 = DS18B20 slave:28-0000045348ev5‬‬
‫‪temp4 = DS18B20 slave:28-00000411984n‬‬

‫‪DS1822‬‬ ‫‪1-Wire‬‬ ‫‪Temperature sensor‬‬ ‫الحساسات الحرارية المدعومة‬
‫‪DS1825‬‬ ‫‪1-Wire‬‬ ‫‪Temperature sensor‬‬
‫‪DS18B20‬‬ ‫‪1-Wire‬‬ ‫‪Temperature sensor‬‬ ‫تدعم بيئة ‪ WebIOPi‬ثمانية ىسةاسةات ىرارية‬
‫‪DS18S20‬‬ ‫‪1-Wire‬‬ ‫‪Temperature sensor‬‬ ‫مختلرةة مناةا ‪ 5‬ىسةةةةاسةةةةات تعمةل ببروتوكول‬
‫‪DS28EA00‬‬ ‫‪1-Wire‬‬ ‫‪Temperature sensor‬‬ ‫‪ 1Wire‬و‪ 3‬ىسةةةاسةةةات ببروتوكول ‪ i2C‬كما هو‬
‫‪TMP75‬‬ ‫‪I2C‬‬ ‫‪Temperature sensor‬‬
‫‪TMP102‬‬ ‫‪I2C‬‬ ‫‪Temperature sensor‬‬ ‫موضح بالجدول التالي‪:‬‬
‫‪TMP275‬‬ ‫‪I2C‬‬ ‫‪Temperature sensor‬‬

‫استخدام الحساسات مع البايثوي‬

‫إذا أردت أي تتعلم كيرية استخدام ىساسات الحرارة العاملة ببروتوكول ‪ 1Wire‬مع لغة البايثوي يمكنك‬

‫تصرح المأالات التالية‪:‬‬
‫‪ http://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-‬‬

‫‪temperature-sensing/overview‬‬

‫استخدام اكثر من ىساس‬
‫‪ http://raspbrew.tumblr.com/post/39850791984/reading-temperatures-on-‬‬

‫‪a-raspberry-pi-using-ds18b20‬‬

‫‪ http://www.sbprojects.com/projects/raspberrypi/temperature.php‬‬

‫‪157‬‬ ‫راسبيري باي ببساطة‬

‫مميزات أخرى لة ‪WebIOPi‬‬

‫دعم البرمجة عبر أسلوب الة ‪ :Client –Server‬يمكن لبيئة التحكم اي تعمل دوي الحاجة‬
‫لاستخدام واجاه المتصرح بل يمكنك استخدام المكتبات البرمجة الخاصة باا لعمل برامج‬
‫‪client‬تضعه علط أي جااز ىاسب لتتحكم في لوىة الراسبيري والتي يوجد علياا برنامج الة‬

‫‪ WebIOPi Server‬ويعتبر ذلك الأمر مريد جدا لمن يريد أي يبتعد عن التحكم من خلال‬
‫متصرح الانترنت‪.‬‬

‫إمكانية دمج مكتبة الة‪ WebIOPi‬داخل برامج البايثوي التأليدية المكتوبة علط الراسبيري باي‪.‬‬
‫إمكانية توصيل لوىتي راسبيري ببعضاما وتبادل البيانات بيناما ‪Pi-2-Pi communication‬‬
‫تشغيل و إدارة جميع لوىات آردوينو من داخل الراسبيري باي عبر الة ‪Serial monitor‬و‬
‫استخدام بروتوكول ‪.Firmata‬‬

‫تحتاج بيئة التحكم إلى كتاب منرصل لشرح جميع مميزاتاا لذلك أنصحك بالرجوع إلى صرحة الويكي‬
‫التي تحتوي علط طرح مرصل لجميع المميزات‬

‫‪http://code.google.com/p/webiopi/wiki/README?tm=6‬‬

‫مشاريع روبوت معتمدة علط ‪WebIOPi‬‬

‫روبوت يتكوي من لوىة الراسبيري مع كاميرا صغيرة‬

‫ويمكن التحكم به عبر الانترنت مع مشادة بث مباطرة‬

‫من الكاميرا‬
‫‪http://trouch.com/2013/03/04/webiopi-in-the-‬‬
‫‪magpi-cambot-tutorial/‬‬

‫مشروع روبوت متطور يشبه السابق لكن مع دمج‬

‫آردوينو داخل المشروع لزيادة منا ذ التحكم وإعطاش‬

‫الروبوت المزيد من الأوة والإمكانيات العتادية‬
‫‪http://inductible.wordpress.com/2013/02/23/tel‬‬
‫‪emus-a-remotely-operated-vehicle-based-on-‬‬
‫‪raspberry-pi-and-arduino/‬‬

‫الرصل العاطر‪ :‬تطبيأات الكاميرات والرؤية البصرية‬ ‫‪158‬‬

‫سلكي والتحكم عن بعد‬

‫الفصل العاشر‪ :‬تطبيقات‬

‫الكاميرات والرؤية البصرية‬

‫تشغيل كاميرات الويب‬ ‫في هذا الرصل سنتعلم كيرية إضا ة رؤية‬
‫تسجيل الصور والريديوهات‬ ‫بصرية للراسبيري عبر الكاميرات الرامية‬
‫بث الريديو مباطرة عبر الشبكة والإنترنت‬ ‫المختلرة وتطبيأات المراابة عن بعد والبث‬
‫مدخل إلى علم الرؤية بالحاسوب‬
‫المباطر للريديوهات عبر الشبكة والإنترنت‪.‬‬

‫‪159‬‬ ‫راسبيري باي ببساطة‬

‫توصيل كاميرات الويب ‪USB Web Camera‬‬

‫تمتاز الراسبيري باي عندما تعمل بنظام راسبياي (أو مشتأاته) بإمكانية توصيل أي‬
‫كاميرا ويب رخيصة وذلك يجعلك اادر علط عمل مشاريع رائعة بالكاميرات وإضا ة‬
‫التسجيل وبث الريديو المباطر لمشاريعك سواش كانت روبوتات أو أنظمة مراابة أو أي‬

‫تطبيق آخر يحتاج لكاميرا‪.‬‬

‫في بلدي مصر تبدأ أسعار كاميرات الويب بما يعادل ‪ 3‬دولار أمريكي (ىوالي ‪ 21‬جنية مصري في وات‬
‫كتابة هذه السطور)‪ ،‬ويزداد السعر بزيادة داة الكاميرا المستخدمة ومدى وضوح ألواناا‪ ،‬في هذا الكتاب‬

‫استخدمت كاميرا من نوع ‪ 4Tech‬تمتاز بداة عالية ووجود ميكرو وي تسجيل صوتي مدمج باا‪.‬‬

‫طريأة التوصيل‬

‫يمكنك توصيل كاميرات التصوير الرخيصة من نوع ‪Web‬‬
‫‪Camera‬بساولة طديدة كل ما عليك علة هو توصيل كابل الة‬
‫‪ USB‬الخاص بالكاميرا بالراسبيري مباطرة وهي مغلأة (مأطوع‬
‫عناا الكارباش) ثم تشغيل الراسبيري باي‪ ،‬لاىظ انه في ىالة‬
‫توصيل الكاميرا والراسبيري تعمل بالرعل ةي الكاميرا اد لا تعمل‬
‫والسبب في توصيل الكاميرا ابل تشغيل الراسبيري هو أي نظام لينكخ يتعرف علط جميع الأجازة‬
‫الموصولة بالة ‪ USB‬أثناش عملية التحميل ‪ Boot‬لذلك نوصل الكاميرا أولا ثم نشغل الراسبيري‪.‬‬

‫للتةكد من توصيل الكاميرا بصورة صحيحة سنأوم باستعران الأجازة الموصولة بالة ‪ USB‬والأجازة‬

‫الموجودة في مجلد ‪ /dev/‬وذلك عن طريق الأوامر التالية‪:‬‬

‫‪lsusb‬‬
‫*‪ls /dev/v‬‬

‫نتيجة تنريذ الأمر الأول (لاىظ أخر سطر في اائمة الأجازة)‬

‫نتيجة تنريذ الأمر الثاني (لاىظ وجود كلمة ‪ video0‬في أخر الأائمة والتي تعني جااز لتسجيل الريديو)‪.‬‬

‫الرصل العاطر‪ :‬تطبيأات الكاميرات والرؤية البصرية‬ ‫‪160‬‬

‫سلكي والتحكم عن بعد‬

‫التأاط صور ردية‬

‫لالتأاط صور ردية بالراسبيري سنحتاج برنامج ‪ fswebcamera‬والذي يمكنك تنصيبه عن طريق‪:‬‬
‫‪sudo apt-get install fswebcam –y‬‬

‫بعد الانتااش من تنصيب البرنامج سنأوم باختبار بسيط وهو التأاط صورة ردية باسم ‪ test.jpg‬وسنضعاا في‬

‫مجلد ‪ /home/pi‬ولعمل هذا سنكتب الأمر التالي‪:‬‬
‫‪fswebcam -d /dev/video0 -r 640x480 test.jpeg‬‬

‫‪ ‬الأمر ‪ fswebcam‬يأوم بتشغيل الكاميرا‬
‫‪ -d /dev/video0 ‬يحدد الكاميرا المستخدمة و مكاي تواجدها في مجلد ‪/dev‬‬

‫‪ -r 640x480 ‬يحدد الة ‪ Resolution‬داة ونأاش الصورة‬
‫‪ test.jpeg ‬يحدد أسم ملف الصورة الذي سيتم ىرظ علط الجااز‬

‫لمشاهدة الصورة الملتأطة ا تح مجلد ‪ /home/pi‬من متصرح الملرات‬

‫راسبيري باي ببساطة ‪161‬‬

‫تسجيل يديو‬

‫يمكنك تسجيل يديوهات عبر كاميرا الويب بساولة عن طريق استخدام برنامج ‪ ffmpeg‬ولتشغيل هذه‬
‫الريديوهات سنحتاج برنامج ‪ ،mplayer‬لتنصيب كلا البرنامجين سنأوم بكتابة الأوامر التالية‪:‬‬

‫‪sudo apt-get install ffmpeg -y‬‬
‫‪sudo apt-get install mplayer -y‬‬

‫لتسجيل يديو باسم ‪ test.avi‬وبداة ‪ 640x480‬سنأوم بتنريذ الأمر التالي‪:‬‬
‫‪ffmpeg -f video4linux2 -r 25 -s 640x480 -i /dev/video0 test.avi‬‬

‫سيبدأ برنامج ‪ ffmpeg‬بتسجيل الريديو بصيغة ‪ avi‬ولإيأاف التسجيل في أي وات اضغط علط زر ‪Ctrl+C‬‬
‫ليتم ىرظ الملف ال ُمسجل في مجلد ‪ /home/pi‬كما في الصور التالية‪:‬‬

‫لتشغيل الريديو ام بتطبيق الأمر‬

‫‪mplayer /home/pi/test.avi‬‬

‫لاىظ أنه لمشاهدة الريديو بصورة صحيحة يجب اي توصل الراسبيري باي بشاطة ىأيأيه‪ ،‬وفي ىالة أنك‬
‫متصل بالراسبيري عبر خدمة الة ‪ VNC‬سيظار الريديو متأطع وبجودة منخرضة‪.‬‬

‫الرصل العاطر‪ :‬تطبيأات الكاميرات والرؤية البصرية‬ ‫‪162‬‬

‫سلكي والتحكم عن بعد‬

‫بث الريديو مباطرة عبر الشبكة والإنترنت‬

‫يعتبر البث المباطر للريديو أىد التطبيأات المثيرة الممكن عملاا بساولة باستخدام الراسبيري باي‪،‬‬
‫يمكنك مثلا إضا ة كاميرا رخيصة لمشروع الروبوت الخاص بك وبث كل ما يشاهده الروبوت عبر طبكات‬

‫الحاسب اللاسلكية أو الإنترنت‪ ،‬أو يمكنك عمل نظام مراابة للمنزل أو المحلات التجارية بساولة‪.‬‬
‫يمكنك بث الريديو من الراسبيري باي بةكثر من أسلوب‪ ،‬أسال طريأة هي استخدام برنامج ‪Motion‬‬

‫الذي يتميز لصائص رائعة في التعامل مع الكاميرات مناا‪:‬‬
‫استخدامه لاستشعار الحركة كة ‪ Motion Detector‬ىيث يستطيع البرنامج تميز الحركة في الغر ة‬

‫أو الأماكن عبر تسجيل يديو من الكاميرات ومراابة أي تغير يحدث‪.‬‬
‫البث المباطر للكاميرات عبر طبكات الحاسب السلكية واللاسلكية وطبكة الإنترنت‬
‫مشاهدة البث من أجازة الكمبيوتر‪ ،‬الهواتف الذكية‪ ،‬الأجازة اللوىية وىتط من التلراز‬

‫إمكانية التحكم في معدل لأط الصور في الثانية الواىدة ‪Frame Rate‬‬

‫تنصيب برنامج ‪Motion‬‬

‫تنصيب البرنامج عملية بسيطة وسريعة كل ما عليك علة هو تنصيبه من خلال سطر الأوامر كالتالي‪:‬‬
‫‪sudo apt-get install motion-y‬‬

‫تشغيل البرنامج لأول مرة‬

‫في تنصيب البرنامج سنحتاج لترعيل خدمة التسجيل ‪ motion‬ولعمل هذا سنأوم بتعديل ملف إعدادات‬
‫التشغيل ‪ etc/default/motion/‬عن طريق محرر النصوص "نانو" وذلك عن طريق الأمر التالي‪:‬‬

‫‪sudo nano /etc/default/motion‬‬

‫يحتوي ملف إعدادات التشغيل علط سطر ‪ start_motion_daemon=no‬ام بتغير كلمة ‪ no‬إلى ‪ yes‬لترعيل‬
‫خدمة ‪ motion‬ثم اىرظ الملف عن طريق الضغط علط ‪Ctrl+X‬مثل الصورة التالية‪:‬‬

‫راسبيري باي ببساطة ‪163‬‬

‫اعدادات البث عبر الشبكة والإنترنت‬

‫في الوضع الا تراضي يتيح برنامج "موطن" بث الكاميرا ومشاهدتاا من داخل الراسبيري أط ولجعل‬

‫البرنامج يتيح البث المباطر عبر الشبكة والإنترنت سنحتاج لتعديل ملف الإعدادات الخاصة بالتسجيل عن‬

‫طريق الأمر‪:‬‬

‫‪sudo nano /etc/motion/motion.conf‬‬

‫سيظار ملف كبير يحتوي علط جميع اعدادات تشغيل البرنامج كالتالي‪:‬‬

‫سنأوم بتغير الإعدادات التالية‪:‬‬
‫أولا‪ :‬ام بتغير ‪ daemon off‬إلى ‪daemon on‬‬

‫ثانيا‪ :‬توجاه إلى أسرل الأائمة وغير ايم جودة الصورة إلى ‪ 201‬في العرن و‪ 001‬في الارتراع‬

‫الرصل العاطر‪ :‬تطبيأات الكاميرات والرؤية البصرية‬ ‫‪164‬‬

‫سلكي والتحكم عن بعد‬
‫ثالثا‪ :‬توجاه إلى أسرل الأائمة و أبحث عن ‪ webcam_localhost on‬و غير ايمة ‪on‬إلى ‪ off‬لترعيل البث‬

‫عبر الشبكة و الإنترنت‬

‫والآي أىرظ الملف عن طريق الضغط علط ‪ Ctrl+X‬ثم اعد تشغيل الراسبيري عن طريق الأمر‬
‫‪sudo reboot‬‬

‫بعد إعادة التشغيل ام برتح متصرح الإنترنت من أي جااز متصل بنرخ طبكة الحاسب الواصل باا لوىة‬
‫الراسبيري باي (يجب استخدام متصرح موزيلا ير وكخ لعرن الصور بصورة صحيحة) وتوجه إلى‪:‬‬

‫‪http://192.168.1.7:8081‬‬
‫استبدل ‪ 192.168.1.7‬بعنواي الشبكة الخاص بك ولا تنسط إضا ة ‪ :8081‬في نااية العنواي‬

‫أيضا يمكنك استخدام برنامج ‪ VLC‬لتصرح البث المباطر بدل من متصرح الإنترنت عن طريق تح اائمة‬
‫‪ File‬ثم اختار ‪ Open network stream‬واكتب نرخ العنواي‪.‬‬

‫راسبيري باي ببساطة ‪165‬‬

‫مشاريع خاص ببرنامج ‪Motion‬‬

‫نظام مراابة بكاميرا ائأة الجودة عن طريق استخدام‬
‫الراسبيري و برنامج موطن مع كاميرا الراسبيري الرةية‬

‫عالية الداية ‪HD‬‬
‫‪http://www.codeproject.com/Articles/665518/Raspb‬‬
‫‪erry-Pi-as-low-cost-HD-surveillance-camera‬‬

‫مشروع الكاميرا الزمنية‪ ،‬مشروع رائع لالتأاط يديوهات‬
‫وصور في أواات مختلرة ثم تجميعاا لعمل تةثير بصري مميز‬
‫‪http://www.makeuseof.com/tag/how-to-capture-‬‬
‫‪time-lapse-photography-with-your-raspberry-pi-‬‬
‫‪and-dslr-or-usb-webcam/‬‬

‫نظام انذار أمني للمنازل يمكنه استشعار الحركة وتصوير‬
‫اللصوص وتسجيل أي محاولة لااتحام البيوت بصورة تلأائية‬
‫‪https://medium.com/p/2d5a2d61da3d‬‬

‫استخدام أكثر من كاميرا للمراابة والتسجيل ببرنامج موطن‬
‫وبث جميع الكاميرات إلى جااز الآيباد وأجازة الحاسب عبر‬
‫الإنترنت عن طريق سير ر استضا ة خاص يوضع علط‬

‫الراسبيري‬
‫‪http://astrobeano.blogspot.com/2012/08/raspberry-‬‬
‫‪pi-with-two-webcams.html‬‬

‫ملاىظات‬

‫يحتوي برنامج موطن علط العديد من الخواص الرائعة والتي لا يمكن ىصرها في بضع صرحات‬
‫بل تحتاج لكتاب خاص لتوضيحاا لذلك أنصحك بالتوجه إلى اائمة المراجع في نااية الكتاب‬

‫للحصول علط المزيد من المعلومات ىول هذا البرنامج‪.‬‬
‫يمكنك تشغيل برنامج موطن علط أي جااز يعمل بنظام لينكخ سواش كاي ىاسب آلي تأليدي‬

‫أو لوىة الراسبيري أو بيجال بوي أو أي جااز أخر يعمل بنظام لينكخ‪.‬‬

‫الرصل العاطر‪ :‬تطبيأات الكاميرات والرؤية البصرية‬ ‫‪166‬‬

‫سلكي والتحكم عن بعد‬

‫مدخل إلى علم الرؤية بالحاسوب‬

‫الرؤية بالحاسوب هي مجموعة من التأنيات المختلرة التي تجعل‬
‫الحاسب الآلي اادر علط تحليل ومعالجة المواد البصرية مثل الصور و‬
‫الريديوهات المسجلة وىتط البث المباطر من الكاميرات الرامية‪ ،‬كما‬
‫تعطي هذه التأنيات الحاسب الآلي الأدرة علط ام محتوى الصور‬

‫واستخلاص معلومات معينة مناا مثل‪:‬‬

‫التعرف علط الوجوه و الأطخاص ‪Face Recognetion‬‬
‫تطبيأات متابعة الأطياش المتحركة ضمن بيئة معينة مثل الكاميرات الأادرة علط مراابة الشوارع و‬

‫اراشة لوىات السيارات وتحديدها‬
‫تطبيأات الروبوتات الذكية الأادر علط ام المحيط الموجود ىولها وتعريف الأطياش الموجودة‬

‫به مثل الروبوت الياباني المذهل ‪ASIMO‬‬
‫تطبيأات التعرف علط الخطوط وتحويل الكلام المطبوع علط ورع‬

‫إلى كلمات الكترونية تحرظ في ملرات مثل ‪Word fiel‬‬

‫الأمر ليخ مأتصر علط كل ما ذُكر بالأعلط أط‪ ،‬نظريا أي طيش يندرج تحت‬
‫التصنيرات التالية هو جزش من علم الرؤية بالحاسوب‬
‫‪ ‬تأدير اتجاه الحركة ‪Motion Estimation‬‬
‫‪ ‬ترميم الصور ‪Image Restoration‬‬
‫‪ ‬تمييز الأطياش ‪Object Recognition‬‬
‫‪ ‬التتبع البصري ‪Video Tracking‬‬

‫برضل اوة معالج الراسبيري ونظام تشغيل لينكخ إنه من الممكن بساولة تشغيل المكتبة البرمجية للرؤية‬
‫بالحاسوب )‪ OpenCV (Open Computer Vision‬وهي مكتبة برمجية مجانية و مرتوىة المصدر تتميز‬
‫بالخرة والسرعة كما أناا متوا أه مع العديد من اللغات البرمجية المشاورة مثل ‪Python, C, Java, Ruby,‬‬
‫‪ VB, C#.net‬كما اناا تعمل علط جميع أنظمة التشغيل الأساسية مثل ‪Windows, Mac, Linux, Solaris‬‬
‫كما تدعم معالجة الصور و الريديوهات المسجلة أو البث والتسجيل المباطر وكل هذه الخواص الرائعة‬

‫تجعلاا أ ضل مكتبة برمجية للرؤية بالحاسوب‬

‫راسبيري باي ببساطة ‪167‬‬

‫تنصيب مكتبة الرؤية بالحاسوب‬

‫هناك طريأتاي لتنصيب مكتبات الرؤية بالحاسوب الأولى هي تنصيب المكتبة من الصرر عن طريق تجميع‬
‫الكود المصدري وتحويلة الى برنامج تنريذي (عملية الة ‪ )Compiling‬وهي طريأة لا أىبذها لصعوبتاا‬
‫بالنسبة للمبتدأين كما أناا تتطلب وات طويل اد يصل إلى ساعات لكن ما يميز هذه الطريأة أناا تصلح‬
‫لأي لوىة تعمل بنظام لينكخ بجميع اصداراته و بمختلف المعماريات أو ىتط الحاسب الآلي التأليدي‪.‬‬
‫الطريأة الثانية تعتمد علط أنك تستخدم نظام راسبياي أو أي توزيعة لينكخ مبنية علط ‪ Debian‬عندها‬
‫يمكنك تنصيب المكتبة بساولة جدا عن طريق تنزيل مكتبة لغة البايثوي ‪ python-opencv‬وذلك عن‬

‫طريق كتابة الأمر (ملحوظة‪ :‬هذه الطريأة تصلح أيضا لنظام اوبنتو للحواسيب المكتبية)‪:‬‬
‫‪sudo apt-get install –y python-opencv‬‬
‫‪sudo apt-get install –y libcv-dev libopencv-dev libcv2.3 opencv-doc‬‬
‫ىجم الملرات السابأة ىوال ‪ 35‬ميجا بايت لذلك اد يستغرع تنصيباا ما يأارب ‪ 11‬داائق‪ ،‬بعد الانتااش‬
‫من تنزيلاا سنأوم باختبار مكتبة ‪ openCV‬عبر برنامج جاهز يستخدم المكتبة لتشغيل و التأاط صور بالكاميرا‬
‫بسرعة نسبيا‪ ،‬لتنزيل البرنامج وتشغيلة سنستخدم الأمر ‪( wget‬مع العلم اي البرنامج موجود في المر أات)‪:‬‬
‫‪wget http://stevenhickson-code.googlecode.com/svn/trunk/AUI/Imaging/test‬‬
‫‪chmod +x test‬‬
‫‪./test‬‬

‫بعد تنريذ الأوامر بالترتيب يرترن أي تظار واجاة رسومية خاصة تعرن صور ملتأطة بسرعة علط الشاطة‬
‫امامك مع عرن سرعة التصوير في الطر ية ‪( Terminal‬سطر الأوامر) مثل الصورة التالية‪.‬‬

‫يرترن أي يظار بث مباطر من الكاميرا الخاصة بك مثل الصورة بالأعلط وهذا يعني أي عملية تنصيب‬
‫المكتبة تمت بنجاح‪ ،‬إذا ىدث خطة ما تةكد من إعادة تنريذ أوامر تنصيب المكتبة بنرخ ترتيباا‪.‬‬

‫الرصل العاطر‪ :‬تطبيأات الكاميرات والرؤية البصرية‬ ‫‪168‬‬

‫سلكي والتحكم عن بعد‬

‫تجربة برنامج التعرف علط الوجوه بلغة البايثوي‬

‫التعرف علط الوجوه من التطبيأات المثيرة بتأنية الرؤية بالحاسوب‪ ،‬إذا أردت اختبار برنامج للتعرف علط‬

‫الوجوه ة ضل مثال سريع بلغة البايثوي هو برنامج "لينتين جوزيف" لتحميل المثال ا تح المتصرح من‬
‫الراسبيري باي و ل الملف ‪ face_detect_rpi.zip‬عن طريق تنريذ أمر التحميل ‪( wget‬ملحوظة الملف‬

‫في المر أات)‪:‬‬

‫‪wget http://goo.gl/oA8SB0‬‬

‫بعد الانتااش من التحميل سنأوم برك ضغط الملف عن طريق الأمر‬

‫‪unzip face_detect_rpi.zip‬‬

‫سنجد ملراي وهما ‪ facedetect.py‬و ‪ face.xml‬ولتشغيل برنامج التعرف علط الوجوه سنكتب‬
‫‪python facedetect.py –cascade=face.xml 0‬‬

‫لا تنسط رام صرر‪ 0‬الموجود في أخر الأمر‪ ،‬بعد الانتااش من تطبيق الأمر ستظار واجاة رسومية و ياا مربع‬

‫يظار الريديو الذي تلتأطه الكاميرا وسيعمل البرنامج علط تحليل الريديو ورسم مربع أ ر ىول أي وجه‬

‫يتم التعرف عليه مثل الصور التالية‪:‬‬

‫تجربة ثانية مع صورة اناع ‪( Vendetta‬من يلم ‪ )V for Vendetta‬ىيث استخدمت الحاسب اللوىي‬
‫لعرضاا واد نجح البرنامج في العرف علط كلا الصورتين بالرغم من أي الوجه بلاستيكي وليخ ىأيأي‬

‫وتطلب التعرف زمن أال من الثانية الواىدة (نحو ‪ 291‬مللي ثانية)‪.‬‬

‫راسبيري باي ببساطة ‪169‬‬

‫التعرف السريع علط الوجوه بلغة السي‬

‫تتميز لغة السي بسرعتاا العالية جدا والتي لا يضاهياا غير لغة‬

‫الأةبلي لذلك لأد استراد المبرمج الررنسي "بيري" بكاميرا‬

‫الراسبيري عالية الجودة واام بكتابة برنامج ‪Magic mirror‬‬

‫بلغة السي مع مكتبة ‪ openCV‬للتعرف التلأائي علط الوجوه‬

‫‪ Face Recognition‬وذلك عن طريق تصوير يديو عالي‬

‫الجودة وتحليل اللأطات المصورة بسرعة عالية‪ ،‬يمكنك‬

‫مشاهدة الريديو الخاص باذا البرنامج الرائع من الرابط‬

‫التالي‪:‬‬

‫‪http://www.youtube.com/watch?v=yzYIxNgDZu4‬‬

‫أيضا أضاف "بيري" إمكانية تحديد اسم طخص‬
‫معين لكل صورة بحيث تتعرف الراسبيري علط‬
‫وجود انساي في المشاد المصور وتأوم بتحديد‬

‫اةة تلأائيا مثل أ لام الخيال العلمي ‪‬‬

‫لأد اام "بيري" بتلخيص هذه التجارب الرائعة‬

‫في ‪ 9‬دروس تعليمية يمكنك تصرحاا من مدونته‬

‫الخاصة‪:‬‬
‫‪http://thinkrpi.wordpress.com/2013/05/22/opencv-and-camera-board-csi/‬‬

‫أود الإطارة إلى ملحوظة هامة‪ :‬استخدام كاميرا الراسبيري عالية الداة تحتاج إلى تنصيب مكتبة ‪openCV‬‬
‫بطريأة التجميع من الكود المصدري ‪ compile‬لذلك أنصحك بالتررغ في هذا اليوم لعمل هذه التجربة لأي‬

‫الأمر اد يتطلب وات طويل لتنصيب المكتبة بنجاح‪.‬‬

‫انصحك بأراشة التعليأات الموجودة في دروس المدونة ىيث ستجد العديد من الملاىظات الهامة‬

‫الرصل العاطر‪ :‬تطبيأات الكاميرات والرؤية البصرية‬ ‫‪170‬‬

‫سلكي والتحكم عن بعد‬

‫هل تريد تعلم الرؤية بالحاسوب؟‬

‫علم الرؤية بالحاسوب من العلوم الضخمة ىتط انه من الصعب جمعه في كتاب واىد لكثرة التطبيأات الممكنة‬

‫باذا العلم‪ ،‬لذلك أنصحك بالتوجه إلى الرابط التالي والذي يحتوي علط اائمة بة ضل الكتب التي تشرح علم‬

‫الرؤية بالحاسوب باستخدام مكتبة ‪OpenCV‬‬

‫‪http://opencv.org/books.html‬‬

‫راسبيري باي ببساطة ‪171‬‬

‫الفصل الحادي عشر‪ :‬الاتصال‬
‫اللاسلكي بالراسبيري‬

‫ربط الراسبيري بشبكات ‪WiFi‬‬ ‫في هذا الرصل سنتعلم كيف نوصل الراسبيري‬

‫الاتصال بالانترنت عبر ‪3G Usb‬‬ ‫باي ونتحكم باا عن طريق الاتصال بالشبكات‬
‫‪Modem‬‬ ‫اللاسلكية ‪ WiFi‬وطبكات المحمول ‪3G‬‬

‫‪Internet‬‬

‫الرصل الحادي عشر‪ :‬الاتصال اللاسلكي بالراسبيري‬ ‫‪172‬‬

‫سلكي والتحكم عن بعد‬

‫ربط الراسبيري بالشبكات اللاسلكية‬

‫تدعم لوىة الراسبيري العديد من الكروت اللاسلكية التي يتم توصيلاا عبر منرذ الة‪ USB‬مناا ما هو صغير‬
‫الحجم و اليل استالاك الطااة و مناا ما يمتلك ادرة علط الاتصال بشبكات لاسلكية من علط بعد ‪ 2‬كيلو‬
‫متر كاملة (مثل كارت ‪ ،)Alfa Wifi‬الصورة التالية يوجد باا الراسبيري باي مع ‪ 3‬كروت لاسلكية مختلرة و‬

‫هي ‪Tplink WN321, Dlink-802.11n, Alfa Wifi AUS036‬‬

‫الصور التالية توضح توصيل الكروت اللاسلكية الموجودة بالأعلط بلوىة الراسبيري‪.‬‬

‫يستالك كارت ‪ Alfa Wifi‬طااة‬
‫كبيرة جدا ليعمل بأوته الأصوى لذا‬
‫من الأ ضل عدم توصيله مباطرة‬
‫بلوىة الراسبيري ولكن عبر‬
‫استخدام ‪external powered usb‬‬

‫‪hub‬‬

‫‪173‬‬ ‫راسبيري باي ببساطة‬

‫الاتصال اللاسلكي عبر الواجاه الرسومية‬

‫اضغط علط أيأونة ‪ WiFi Config‬الموجودة علط سطح المكتب لتظار لك واجاه‬
‫الأعدادات اللاسلكية كالتالي‪:‬‬

‫اضغط علط زر ‪ Scan‬للبحث عن الشبكات اللاسلكية المتو رة‬

‫اختر الشبكة اللاسلكية التي تريد الأتصال باا بالضغط علياا مرتين‪ ،‬عندها ستجد البرنامج اد تح نا ذة‬
‫جديدة باا اعدادات الشبكة‪ ،‬ام بإدخال كلمة المرور و نوع التشرير و اضغط ‪ add‬لتجد البرنامج اد عاد‬

‫الرصل الحادي عشر‪ :‬الاتصال اللاسلكي بالراسبيري‬ ‫‪174‬‬

‫سلكي والتحكم عن بعد‬
‫للصرحة الرئيسية و تم كتابة بيانات الشبكة‪ ،‬عندها يمكنك الضغط علط زر ‪ connect‬لتبدأ الراسبيري‬

‫بالاتصال اللاسلكي بالشبكة‪.‬‬

‫الاتصال اللاسلكي باستخدام سطر الأوامر‬

‫يمكنك اعداد الاتصال بالشبكات اللاسلكية بساولة جدا عبر سطر الأوامر و ذلك عن طريق التعديل علط‬

‫الملف ‪ /etc/network/interfaces‬و الذي يحتوي علط اعدادات الشبكات (السلكية و اللاسلكية)‪،‬لتعديل‬

‫الملف أكتب الأمر التالي‪:‬‬

‫‪sudo nano /etc/network/interfaces‬‬

‫ثم ام بإضا ة السطور التالية في نااية الملف‬

‫‪iface wlan0 inet dhcp‬‬
‫"‪wpa-ssid "ssid‬‬
‫"‪wpa-psk "password‬‬

‫‪ ‬استبدال كلمة ‪ ssid‬باسم الشبكة اللاسلكية التي تريد الاتصال باا‬
‫‪ ‬استبدال ‪ password‬بكلمة المرور‬

‫علط سبيل المثال أسم الشبكة ‪ my-network-ssid‬و كلمة المرور‪my-wifi-password‬‬

‫‪iface wlan0 inet dhcp‬‬
‫" ‪wpa-ssid " my-network-ssid‬‬
‫"‪wpa-psk "my-wifi-password‬‬

‫‪175‬‬ ‫راسبيري باي ببساطة‬
‫طكل الملف الناائي بعد التعديلات‪:‬‬

‫اىرظ الملف عن طريق الضغط علط زر ‪ Ctrl+X‬ثم اعد تشغيل الراسبيري باي وتةكد أي كارت الة‪wifi‬‬
‫متصل باا‪ ،‬بعد الانتااش من إعادة التشغيل ستجد اي الراسبيري اد اتصلت تلأائيا بالشبكة اللاسلكية‪.‬‬

‫معر ة عنواي الشبكة اللاسلكية للراسبيري‬

‫لمعر ة عنواي الراسبيري علط الشبكة اللاسلكية سنستخدم الأمر ‪ ifconfig‬كالعادة‪ ،‬لكن هذه المرة سيكوي‬
‫عنواي الشبكة هو المصاىب للخانة ‪ wlan0‬و ليخ ‪ ،eth0‬علط سبيل المثال الصورة التالية توضح وجود‬

‫خانة ‪ wlan0‬و باا عنواي الشبكة ‪ 192.168.1.10‬كالتالي‪:‬‬

‫الرصل الحادي عشر‪ :‬الاتصال اللاسلكي بالراسبيري‬ ‫‪176‬‬

‫سلكي والتحكم عن بعد‬

‫الاتصال بالإنترنت عبر الة ‪USB (3G) Modem‬‬

‫يعتبر الة ‪3G modem‬من أطار وسائل الاتصال بالإنترنت الحديثة والتي ىأأت‬
‫طارة كبيرة في العالم بسبب المميزات الرائعة التي تحصل علياا مثل‪:‬‬

‫‪ o‬الاتصال لاسلكيا بالإنترنت من أي مكاي به تغطية لشبكات المحمول‬
‫في نطاع دولتك ىيث تستغل الة‪ 3G modems‬هذه الشبكات‬

‫المحمول للوصول للإنترنت‪.‬‬
‫‪ o‬الحجم الصغير (ىجماا مماثل للة ‪)USB flash disk‬‬
‫‪ o‬السرعة العالية جدا ىيث تبدأ سرعات الة ‪ 3G internet‬من ‪ 1‬ميجابت ىتط ‪ 02‬ميجابت وهذه‬
‫السرعة تجعل الة‪ 3G modem‬تنا خ خطوط الأنترنت الأرضية في السرعة‬

‫أولا‪ :‬تجايز الة ‪3G modem‬‬

‫لعمل أتصال لاسلكي بالإنترنت بواسطة الة ‪3G modem‬ستحتاج إلى اطعتين وهما‪ :‬طريحة البيانات و المودم‬
‫نرسة‪ ،‬في هذا الدرس سةستخدم طريحة بيانات من طركة "اتصالات مصر ‪."Etisalat Egypt‬‬

‫خطوات تركيب المودم بسيطة كل ما عليك علة هو أي تأوم برك طريحة البيانات من البطااة الخاصة باا ثم‬
‫تركباا في المودم وبعد ذلك تأوم بتوصيل المودم بالراسبيري باي كما في الصور التالية‪:‬‬

‫‪21‬‬

‫‪3‬‬

‫‪177‬‬ ‫راسبيري باي ببساطة‬

‫ثانيا‪ :‬تنصيب أدوات الاتصال‬

‫في البداية سنحتاج لتنصيب اﻷدوات التالية‬

‫‪sudo apt-get install sg3-utils ppp wvdial -y‬‬

‫ثالثا‪ :‬تعريف الة ‪3G modem‬‬

‫نظام تشعيل لينكخ يستطيع التعرف علط أغلب أنواع الة ‪ 3G modem‬بصورة تلأائية ودوي أي تدخل‬

‫مطلوب منك‪ ،‬لكن في بعض الأىياي يكوي المودم غير معرف لذلك يجب التةكد من أي المودم الخاص‬

‫بك يعمل بنجاح وللتةكد من هذا عليك تطبيق اﻷمر التالي في سطر اﻷوامر‬

‫*‪ls /dev/tty‬‬

‫إذا ظارت نتيجةة اﻷمر تحتوي علط ‪ dev/ttyUSB0/‬هةذا يعني أي نظةام لينكخ اد تعرف علط المودم‬
‫الخاص بك بنجاح وإذا لم تظار اذا يعني أي تعريف المودم يحتاج إلى بعض الخطوات الاضا ية واد‬
‫تصادف هذا اﻷمر إذا استخدمت مودم خاص أط بشركات الاتصالات (يعرف باسم المودم المغلق علط‬

‫طبكة اتصالات واىدة أط)‪.‬‬

‫أغلب الة ‪ 3G modem‬لدياا ذاكرة تخزينية داخلية لحرظ برنامج التشغيل والتعريرات الخاصة بنظام ويندوز‬

‫وبسبب وجود هذه الذاكرة اي نظام لينكخ يظن اناا مجرد بطااة ذاكرة ‪ USB flash disk‬وليست مودم‬
‫للاتصال بالإنترنت ولحل هذا اﻷمر ام بتوصيل المودم ثم نرذ اﻷوامر التالية بالترتيب‬

‫‪sudo apt-get install usb-modeswitch‬‬
‫‪sudo /usr/bin/sg_raw /dev/sr0 11 06 20 00 00 00 00 00 01 00‬‬
‫الأمر الأول يأوم بتنصيب ‪ usb-modeswitch‬وهي أداة تجعل الراسبيري باي يتجاهل وظيرة الذاكرة‬

‫الداخلية للمودم و يستخدم الوظيرة الأساسية و الأمر الثاني يغير اعدادات اليو اس بي مودم في نظام‬

‫لينكخ ليؤكد استخدام وظيرة الاتصال بالإنترنت‪.‬‬

‫بعد تنريذ الأوامر السابأة ام بإعادة تشغيل الراسبيري باي عن طريق صل الكارباش واعادة توصيلاا مع‬
‫ترك المودم متصل بالراسبيري باي وانتظر ىتط ينتاي نظام التشغيل من التحميل ثم نرذ اﻷمر التالي‬

‫*‪ls /dev/tty‬‬
‫والآي يرترن أي يظار لةك ‪ dev/ttyUSB0/‬أو ‪ dev/ttyUSB1/‬أو كلاهمةا وبةذلةك نكوي اةد تةكدنا أي‬

‫‪ USB modem‬جاهز للعمل علط الراسبيري باي‬

‫الرصل الحادي عشر‪ :‬الاتصال اللاسلكي بالراسبيري‬ ‫‪178‬‬
‫سلكي والتحكم عن بعد‬

‫رابعا‪ :‬اعداد المودم للاتصال بالأنترنت‬

‫بعد الانتااش من تعريف المودم نةتي للمرىلة التالية و هي كتابة بيانات الاتصال الخاصة بشركة المحمول‬
‫التي اطتريت مناا المودم‪ ،‬و التي تكوي عبارة عن أسم المستخدم و كلمة المرور و رام الاتصال بمخدم‬

‫الأنترنت ‪ ..‬الخ‪.‬‬
‫للبدش في اضا ة البيانات ام بتحرير ملف البيانات الموجود في ‪ etc/wvdial.conf/‬وذلك عن طريق‬

‫الأمر التالي‬

‫‪sudo nano /etc/wvdial.conf‬‬ ‫ثم اكتب البيانات الاتصال التالية‬

‫]‪[Dialer etisalat‬‬
‫‪Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0‬‬
‫‪Modem Type = USB Modem‬‬
‫‪Phone = *99***1#‬‬
‫‪ISDN = 0‬‬
‫" " = ‪Username‬‬
‫" " = ‪Password‬‬
‫‪Init1 = ATZ‬‬
‫"‪Init3 = AT+CGDCONT=1,"IP","internet.etisalat‬‬
‫‪Modem = /dev/ttyUSB2‬‬
‫‪Baud = 7200000‬‬
‫‪Auto DNS = 1‬‬
‫‪Dial Command = ATDT‬‬
‫‪Carrier Check = yes‬‬
‫‪Stupid Mode = 1‬‬

‫لاىظ أي البيانات المكتوبة في الأعلط هي خاصة بشركة "اتصالات مصر" أط‬

‫‪179‬‬ ‫راسبيري باي ببساطة‬

‫طرح بيانات الاتصال‬

‫‪ :Phone‬رام المخدم (‪ )server‬الذي سيتصل به المودم للحصول علط الانترنت‪ ،‬مع ملاىظة أي جميع‬

‫طركات الهواتف والانترنت في مصر (موبينيل ‪ -‬ودا وي ‪ -‬اتصالات) تستخدم أىد الاراام التالية‬
‫‪o *99***1#‬‬
‫‪o *99#‬‬

‫‪ :Username‬أسم المستخدم (اي وجد) لاىظ اي أغلب الشركات لا تأدم اسم مستخدم ولا كلمة مرور‬

‫لذلك اتركه كما هو أو اكتب "‪"blank‬‬

‫‪ :Password‬كلمة المرور (اي وجد)‬

‫‪ :Baud‬سرعة اتصال الحاسب الألي مع اليو اس بي مودم‪ ،‬أغلب المودم المتو رة في الأسواع العربية‬

‫تعمل علط أىد السرعات التالية‪:‬‬

‫‪o 115200‬‬
‫‪o 7200000‬‬
‫‪o 9600‬‬

‫‪ :Modem‬عنواي المودم و الذي يمكنك معر ته من الأمر ‪ ls /dev‬والذي سيظار علط أىد الخيارات‬

‫‪o /dev/ttyUSB0‬‬
‫‪o /dev/ttyUSB1‬‬
‫‪o /dev/ttyUSB2‬‬

‫سيتبادر إلى الذهن سؤال هام وهو كيف يمكنك معر ة هذه البيانات؟‬

‫ببساطة ابحث عن رام المودم وإعداداته الخاصة علط الانترنت‪ ،‬علط سبيل المثال الصورة التالية توضح‬
‫مودم من نوع ‪ ،ZTE MF190S‬بعد أي تحصل علط أسم المودم ورامة الخاصة ابحث علط جوجل عن‬

‫الاعداد او باللغة الانجليزية الة ‪Configurations‬الخاصة به‪ ،‬مثلا سنكتب في جوجل‪:‬‬
‫‪ZTE MF190S Linux connection configurations‬‬

‫ الاتصال اللاسلكي بالراسبيري‬:‫الرصل الحادي عشر‬ 180

‫سلكي والتحكم عن بعد‬
USB Modems ‫أمثلة علط اعدادات طركات المحمول المصرية وبعض الة‬

ZTE ‫مودم‬- ‫طركة اتصالات‬

[Dialer etisalat]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Phone = *99***1#
ISDN = 0
Username = " "
Password = " "
Init1 = ATZ
Init3 = AT+CGDCONT=1,"IP","internet.etisalat"
Modem = /dev/ttyUSB2
Baud = 7200000
Auto DNS = 1
Dial Command = ATDT
Carrier Check = yes
Stupid Mode = 1

Huawei ‫مودم‬- ‫طركة ودا وي‬

[Dialer vodafone]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Phone = *99***1#
ISDN = 0
Username = "internet"
Password = "internet"
Init1 = ATZ
Init3 = AT+CGDCONT=1,"IP","internet.vodafone.net"
Modem = /dev/ttyUSB0
Baud = 115200
Auto DNS = 1
Dial Command = ATDT
Carrier Check = yes
Stupid Mode = 1

internet ‫لاىظ اي طركة ودا وي لدياا اسم مستخدم وكلمة مرور موىدة لجميع العملاش وهي‬

‫ كل ما عليك علة هو اي‬،‫ يمكنك كتابة أكثر من تعريف لأكثر من مودم في نرخ الملف‬:‫خدعة اضا ية‬
etc/wvdial.conf/ ‫تكرر نرخ الاعدادات المذكورة بالأعلط مرتين في ملف‬

181 ‫راسبيري باي ببساطة‬

‫ بدأ الاتصال بالإنترنت‬:‫خامسا‬

‫الخطوة الأخيرة هي بدش عملية الاتصال الرعلي بالإنترنت و ذلك عن طريق الأمر‬
sudo wvdial etisalat &

‫” اما إذا اردت تشغيله علط طبكة‬Etisalat ‫لاىظ اي الامر التالي يشغل الانترنت علط طبكة “طركة اتصالات‬

‫ودا وي عليك كتابة اﻷمر كالتالي‬

sudo wvdial vodafon &

‫ الخاص بك‬IP address ‫بعد تنريذ الأمر ستبدأ عملية الاتصال بالإنترنت وستلاىظ ظاور عنواي الانترنت‬

‫كالتالي‬

WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATH
ATH
OK
--> Sending: ATE1
ATE1
OK
--> Sending: AT+CGDCONT=1,"IP","internet"
AT+CGDCONT=1,"IP","internet"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri Jun 14 22:35:19 2013
--> Pid of pppd: 3145
--> Using interface ppp0
--> pppd: Ęy
--> pppd: Ęy
--> local IP address 10.133.163.246
--> pppd: Ęy
--> remote IP address 10.64.64.64
--> pppd: Ęy
--> primary DNS address 89.108.202.20
--> pppd: Ęy
--> secondary DNS address 89.108.195.20
--> pppd: Ęy

‫الرصل الحادي عشر‪ :‬الاتصال اللاسلكي بالراسبيري‬ ‫‪182‬‬

‫سلكي والتحكم عن بعد‬

‫استخدام برنامج ‪ Sakis3G‬للاتصال التلأائي‬

‫يعتبر برنامج ‪ Sakis3G‬من أطار برامج الاتصال بالإنترنت باستخدام الةةةة ‪ 3G modem‬علط نظام لينكخ‬

‫ىيث يأوم بعمل معظم الاعدادات تلأائيا والاتصال بالإنترنت دوي كتابة اي ايم او اعدادات خاصة‪.‬‬

‫يمكنك تحميل البرنامج وتنصيبه عن طريق تح برنامج سطر اﻷوامر وتنريذ اﻷوامر التالية بالترتيب‬

‫"‪wget "http://raspberry-at-home.com/files/sakis3g.tar.gz‬‬
‫‪sudo mkdir /usr/bin/modem3g‬‬
‫‪sudo chmod 777 /usr/bin/modem3g‬‬
‫‪sudo cp sakis3g.tar.gz /usr/bin/modem3g‬‬
‫‪cd /usr/bin/modem3g‬‬
‫‪sudo tar -zxvf sakis3g.tar.gz‬‬
‫‪sudo chmod +x sakis3g‬‬

‫لتشغيل البرنامج كل ما عليك علة هو تنريذ اﻷمر التالي‬

‫‪sudo ./sakis3g --interactive‬‬

‫‪183‬‬ ‫راسبيري باي ببساطة‬

‫التحكم في الراسبيري عن بعد بواسطة الة ‪3G modem‬‬

‫يمكنك التحكم في الراسبيري باي عبر الانترنت بواسطة الة ‪3G modem‬بنرخ الطريأة المستخدمة في‬
‫طبكات الة "‪ LAN "Ethernet‬أو الة ‪ Wi-Fi‬كل ما عليك علة هو تحصل علط عنواي الأي بي ‪ IP‬و‬

‫الدخول علية اما عن طريق ‪ VNC‬أو ‪ SSH‬أو ‪ WebIoPi‬أو ىتط أي برنامج أخر للتحكم عن بعد‪.‬‬

‫ملاىظة هامة‪ :‬معظم طركات المحمول والاتصالات في الوطن العربي‬
‫تستخدم تأنية ‪NAT‬مع الانترنت المأدم عبر الة ‪3G modem‬وهذا يجعل‬
‫عملية الدخول للمودم من الإنترنت للتحكم بالراسبيري تتطلب طراش‬
‫عنواي أي بي ثابت ‪ Static IP address‬عليك اي تتصل لدمة العملاش‬
‫طركة الاتصالات الخاصة بك للاسترسار عن إمكانية طراش عنواي أي بي ثابت‬

‫ابل الشروع في طراش المودم نرسه‪.‬‬

‫الرصل الحادي عشر‪ :‬الاتصال اللاسلكي بالراسبيري‬ ‫‪184‬‬
‫سلكي والتحكم عن بعد‬
‫نصائح اضا ية‬

‫‪ o‬يرضةل أي تسةتخدم الةةةةة ‪ USB modem‬مع مصدر خارجي للطااة مثل ‪ Power usb Hub‬وذلك‬
‫لاي المودم عالية السةرعة اد تستالك الكثير من الطااة مما يؤدي الى تسخين لوىة الراسبيري‬

‫باي‪.‬‬
‫‪ o‬إذا واجات مشةاكل أخرى في تعريف الةةةةة ‪ USB modem‬بالطرع المذكورة باﻷعلط ةنصةحك‬

‫بزيارة الروابط التالية‬

‫‪https://wiki.archlinux.org/index.php/Wvdial‬‬
‫‪http://john.de-graaff.net/wiki/doku.php/links/umts_debian‬‬
‫‪http://www.instructables.com/id/Raspberry-Pi-as-a-3g-Huawei-E303-wireless-‬‬
‫‪Edima/‬‬
‫‪http://lakm.us/logit/2013/03/modem-usb_modeswitch-raspberry-pi/‬‬
‫‪http://www.raspberrypi.org/phpBB3/viewtopic.php?t=18996‬‬

‫‪185‬‬ ‫راسبيري باي ببساطة‬

‫الفصل الثاني عشر‪ :‬الإعدادات‬

‫المتقدمة للوحة الراسبيري‬

‫برنامج ‪Raspi-Config‬‬ ‫في هذا الرصل سنتعرف علط بعض‬
‫تغير كلمة مرور المستخدم‬ ‫الخواص المتأدمة للراسبيري و‬
‫ترعيل كاميرا الراسبيري عالية الداة‬ ‫تعديلاا لأضا ة المزيد من الأدرات‬
‫التحكم في اللغة ولوىة المراتيح‬
‫كسر سرعة معالج الراسبيري ىتط ‪ 1111‬ميجا هرتز‬ ‫البرمجية و العتادية‪.‬‬
‫عمل نسخ اختياطية من نظام التشغيل والملرات‬

‫الرصل الحادي عشر‪ :‬الاتصال اللاسلكي بالراسبيري‬ ‫‪186‬‬

‫سلكي والتحكم عن بعد‬

‫تشغيل ‪Raspi-Config‬‬

‫برنامج ‪ raspi-config‬هو المسؤول عن جميع الأعدادات الخاصة بلوىة الراسبيري باي منه يمكنك‬
‫التحكم باللغات‪ ،‬سرعة المعالج‪ ،‬الواجاه الرسومية‪ ،‬تشغيل و اغلاع بعض الخواص‪ ،‬ترعيل الكاميرات عالية‬

‫الداة والمزيد من الأمور الأخرى التي سنرها في هذا الرصل‪.‬‬

‫لتشغيل البرنامج سنستخدم سطر الأوامر مع كتابة الأمر التالي‪:‬‬

‫‪sudo raspi-config‬‬

‫ستظار الواجاه الزرااش الخاصة بالبرنامج مثل التي ظارت أول مرة عند تنصيب نظام راسبياي‪.‬‬

‫لأد تعر نا علط الخيار الأول في الرصل الثاني (تشغيل الراسبيري باي) لذلك سةبدأ من الخيار رام ‪2‬‬

‫‪Change user password‬‬

‫عند الدخول علط الخيار رام ‪ 2‬ستظار طاطة تخبرك أنك علط وطك تغير كلمة المرور للمستخدم الرئيسي‬
‫‪ ،pi‬طخصيا أ ضل اي أاوم بتغير كلمة المرور الا تراضية ‪ raspberry‬ىتط تزيد من أماي نظام التشغيل‬

‫ويستحسن أي تكوي كلمة المرور طويلة (‪ 0‬اراام او ىروف او كلاهما)‪.‬‬

‫لتجاوز الشاطة اضغط زر ‪ Enter‬لتظار لك نا ذ أخرى تسةلك عن كلمة المرور الجديدة‪ ،‬سيتم سؤالك أي‬

‫‪187‬‬ ‫راسبيري باي ببساطة‬

‫تعيد تةكيد كلمة المرور مرة أخرى وعند كتابة كلمة المرور بصور صحيحة مرتين ستظار لك رسالة تغير‬
‫كلمة المرور بنجاح‪.‬‬

‫بعد الانتااش ستظار الشاطة الرئيسية لبرنامج ‪ raspi-config‬مرة ثانية‪.‬‬

‫إعدادات الواجاة‬

‫‪ Enable Boot to Desktop‬في هذه الأائمة يمكننا اختيار الواجاة التي ستشغلاا الراسبيري باي بعد‬
‫توصيل الطااة الكاربائية وانتااش عملية التحميل ‪ Boot‬ومن هنا يمكننا اختيار ‪ 3‬أوضاع مختلرة وهي‬
‫كالتالي‪:‬‬

‫‪ :Console text .1‬هذا الاختيار يعني الدخول مباطرة إلى سطر الأوامر دوي تحميل الواجاة‬
‫الرسومية (لاىظ اي هذا الخيار يجعل عملية الةتحميل ‪ boot‬سريعة)‬

‫‪ :Desktop log in as user "pi" .2‬من هنا سنأوم بتشغيل الواجاة الرسومية ‪LXDE‬مباطرة بعد‬
‫تحميل نظام التشغيل بنجاح (عادة هذا الاختيار يةخذ وات أطول في عملية التحميل ‪)booting‬‬
‫‪ :Scratch start .3‬هذا الخيار يأوم بتشغيل واجاه رسومية خاصة و هي بيئة التشغيل ‪Scratch‬‬
‫مباطرة دوي اي تشغل أي طيش أخر معاا‪ ،‬يعتبر هذا الخيار مريد جدا للمدارس و الأطرال ىيث‬

‫يتم تجايز لوىة الراسبيري لتكوي منصة لتشغيل برنامج ‪ Scratch‬و تعليم الأطرال البرمجة‪.‬‬
‫للمستخدم العادي سيكوي خيار ‪ Desktop log in‬هو الخيار الأمثل ىيث يمكنك أي ترعل ما تشاش بعدها‬

‫بلوىة الراسبيري و تشغيل جميع البرامج ذات الواجاة الرسومية‪.‬‬


Click to View FlipBook Version