جدول المحتويات:

روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +: 6 خطوات (بالصور)
روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +: 6 خطوات (بالصور)

فيديو: روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +: 6 خطوات (بالصور)

فيديو: روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +: 6 خطوات (بالصور)
فيديو: Робот с искусственным интеллектом: отслеживание объектов | Следование объекту | TensorFlow Lite на Raspberry Pi 2024, شهر نوفمبر
Anonim
روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +
روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +
روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +
روبوت رومبا يتحكم فيه المتصفح مع Raspberry Pi Model 3 A +

ملخص

سيركز هذا Instructable على كيفية إعطاء Roomba الميت دماغًا جديدًا (Raspberry Pi) وعينين (كاميرا ويب) وطريقة للتحكم في كل شيء من متصفح الويب.

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

بالنسبة لهذا التصميم ، استخدمت Raspberry Pi Model 3 A + ووحدة تحكم محرك Riorand. أنا أستخدم رمزًا من الروبوت المتحكم في متصفح Dexter Industries الذي قمت بتعديله. يقوم إصدار Dexter Industries بإعداد Pi كخادم websocket الذي يسمح لك بالتحكم في الروبوت الخاص بهم (منصة brick pi) من ملف html للعميل يقوم بتشغيل كمبيوتر آخر.

لقد قمت بتغيير الرمز باستخدام دبابيس GPIO وأضفت طريقة لإغلاق Pi عند النقر فوق زر / عند الضغط على مفتاح الهروب في المتصفح. لقد أجريت أيضًا بعض التغييرات على صفحة الويب الخاصة بالتحكم للسماح بعرض تدفق الحركة من خلال iframe ، مع التحكم في الروبوت كل ذلك داخل صفحة واحدة. لقد قمت بإعداد Pi باستخدام IP ثابت لاستضافة ملف العميل حتى أتمكن من الاتصال باستخدام أي كمبيوتر أو جهاز على شبكتي.

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

الأجزاء المستعملة

Raspberry Pi 3 A + (Adafruit Link) 30 دولارًا

Riorand Dual Motor Driver Controller H-Bridge (أمازون لينك) 22 دولارًا

بطارية 12 فولت للمحركات (أمازون لينك) 19 دولارًا

بطارية 5V لـ Raspberry Pi (Amazon Link) 10 دولارات

بطاقة Micro SD سعة 8 جيجا بايت (Amazon Link) 5 دولارات

Jumper Wires (أمازون لينك) 7 دولارات

سلسلة رومبا 500

كلهم أقل بقليل من 100 دولار.

الخطوة 1: قم بتثبيت Raspbian وإعداد عنوان IP ثابت

قم بتثبيت Raspbian وإعداد عنوان IP ثابت
قم بتثبيت Raspbian وإعداد عنوان IP ثابت

لقد استخدمت Raspbian Stretch Lite. لا أرى حاجة إلى سطح المكتب ، ولكن يمكنك تثبيت إصدار سطح المكتب إذا كنت تفضل ذلك.

سأفترض أنك تعرف بالفعل كيفية تثبيت Raspbian. إذا كنت بحاجة إلى مساعدة ، يمكنك العثور على دليل مؤسسة Raspberry Pi Foundation هنا.

بمجرد تشغيل Raspbian وتشغيله ، قم بتسجيل الدخول وتشغيل برنامج raspi-config.

pi @ raspberrypi: ~ $ sudo raspi-config

قم بإعداد اتصال WiFi الخاص بك في raspi-config

يختار

2 خيارات الشبكة

يختار

N2 واي فاي

حدد دولة ، وأدخل SSID الخاص بك ، وأدخل عبارة المرور الخاصة بك

قم بإعداد SSH في raspi-config

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

العودة إلى القائمة الرئيسية raspi-config

يختار

5 خيارات التواصل

يختار

P2 SSH

يختار

نعم

مرة أخرى في القائمة الرئيسية raspi-config حدد

تحقق من أنك متصل بشبكتك

pi @ raspberrypi: ~ $ ifconfig

يجب أن تتلقى مخرجات مماثلة لهذا. (لاحظ عنوان IP ؛ قد تحتاج إليه لاحقًا ، على سبيل المثال 192.168.1.18)

شبكة wlan0: أعلام = 4163 مليون طن 1500

inet 192.168.1.18 قناع الشبكة 255.255.255.0 بث 192.168.1.255 inet6 fe80:: c74f: 42ec: 8cd3: 2fda prefixlen 64 نطاق النطاق 0x20 إيثر b8: 27: eb: 6a: a4: 95 txqueuelen 1000 (إيثرنت) حزم RX 44396 بايت 5847726 (5.5 MiB) أخطاء RX 0 مسقطة 0 تجاوزات 0 إطار 0 حزم TX 30530 بايت 39740576 (37.8 MiB) أخطاء TX 0 إسقاط 0 تجاوزات 0 تصادم ناقل 0

تحقق من أنه يمكنك الوصول إلى الإنترنت.

pi @ raspberrypi: ~ $ ping google.com

يجب أن تتلقى مخرجات مماثلة لهذا.

PING google.com (216.58.194.110) 56 (84) بايت من البيانات.

64 بايت من dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 1 ttl = 54 الوقت = 18.2 مللي ثانية 64 بايت من dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 2 ttl = 54 الوقت = 19.4 مللي ثانية 64 بايت من dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 3 ttl = 54 الوقت = 23.6 مللي ثانية 64 بايت من dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 4 ttl = 54 الوقت = 30.2 مللي ثانية ^ C --- google.com إحصائيات ping --- 4 حزم تم إرسالها ، 4 مستلمة ، 0٪ خسارة حزمة ، الوقت 3004 مللي ثانية rtt min / avg / max / mdev = 18.209 / 22.901 / 30.267 / 4.715 مللي ثانية

قم بإعداد عنوان IP ثابت

لتتمكن من الاتصال بالروبوت الخاص بك باستمرار باستخدام نفس العنوان على شبكتك ، ستحتاج إلى إعداد عنوان IP ثابت.

احصل على عنوان الشبكة الحالي الخاص بك ، على سبيل المثال 192.168.1.18

أنا أستخدم العنوان الذي تم تعيينه تلقائيًا بواسطة DHCP عندما يتصل Pi بشبكتي. يمكنك تغيير هذا إلى ما تريد طالما أنه يتطابق مع شبكتك ولا يتعارض مع أي عناوين مخصصة أخرى.

افتح dhcp.conf في محرر نصوص. (أنا أستخدم نانو)

pi @ raspberrypi: ~ $ sudo nano /etc/dhcpcd.conf

قم بالتمرير لأسفل إلى # مثال على تكوين IP الثابت وقم بتغيير الأسطر التالية.

# واجهة eth0

#static ip_address = 192.168.11.13 # أجهزة التوجيه الثابتة = 192.168.11.1 # خادم_اسم_المجال الثابت = 192.168.11.1 8.8.8.8

قم بالتغيير لمطابقة شبكتك وإزالة # في بداية كل سطر.

مثال:

واجهة wlan0

ip_address ثابت = 192.168.1.18 الموجهات الثابتة = 192.168.1.1 domain_name_servers = 192.168.1.1 8.8.8.8

حفظ وخروج.

أعد التشغيل واتصل بـ Pi عبر SSH

pi @ raspberrypi: ~ sudo reboot

الاتصال من كمبيوتر آخر باستخدام SSH. يمكن لمستخدمي Windows استخدام PuTTY أو نظام Windows الفرعي لنظام Linux (Windows10).

ian @ computer: ~ $ ssh [email protected]

أدخل كلمة المرور الخاصة بك (الافتراضي هو التوت).

كلمة مرور [email protected]:

يجب أن تكون الآن في موجه أوامر باي الخاص بك.

pi @ raspberrypi: ~ $

الخطوة 2: تثبيت وتكوين الحركة

تثبيت وتكوين الحركة
تثبيت وتكوين الحركة

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

اختبر كاميرا الويب الخاصة بك

قم بتوصيل كاميرا الويب الخاصة بك وقم بإدراج أجهزة USB المتصلة (قد تحتاج إلى إعادة التشغيل بعد الاتصال).

pi @ raspberrypi: ~ $ lsusb

يجب أن تحصل على إخراج مشابه لهذا. لاحظ Logitech C210.

Bus 001 Device 002: ID 046d: 0819 Logitech، Inc. Webcam C210

Bus 001 Device 001: ID 1d6b: 0002 Linux Foundation 2.0 root hub

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

قم بتثبيت Motion

حزم التحديث.

pi @ raspberrypi: ~ $ sudo apt-get update

قم بتثبيت Motion.

pi @ raspberrypi: ~ $ sudo apt-get install motion -y

بمجرد تثبيت Motion ، قم بتحرير ملف التكوين.

pi @ raspberrypi: ~ $ sudo nano /etc/motion/motion.conf

قم بتغيير الأسطر التالية لتتطابق أدناه.

تم تشغيل البرنامج الخفي

العرض 640 ارتفاع 480 معدل الإطارات 100 إخراج_صور خارج ffmpeg_output_movies off text_right stream_port 8081 stream_quality 100 stream_localhost off webcontrol_localhost off

ابدأ برنامج Motion Daemon من Boot

افتح الملف / etc / default / motion.

pi @ raspberrypi: ~ $ sudo nano / etc / default / motion

التغيير إلى

start_motion_daemon = نعم

احفظ الملف واخرج

اعادة التشغيل

pi @ raspberrypi: ~ sudo reboot

بعد إعادة تشغيل Pi ، افتح المتصفح وتحقق من أن لديك فيديو يتدفق إلى المتصفح على المنفذ 8081

مثال:

192.168.1.18:8081

استكشاف أخطاء Motion Daemon

واجهت مشاكل في بدء تشغيل البرنامج الخفي للحركة عند الإقلاع بينما كنت أحاول تجربة خيارات مختلفة في ملف motion.conf.

إذا بدأت الحركة قبل البرنامج الخفي للحركة في Raspian Stretch ، فمن المحتمل أن تواجه مشكلات في بدء تشغيلها في وقت لاحق. يؤدي تشغيل "sudo motion" دون تكوين البرنامج الخفي للقيام بذلك أولاً إلى إنشاء الدليل / var / log / motion دون منح إذن الكتابة للمستخدم.

الخطوة 3: قم بتثبيت Apache و Setup Web Control Page

قم بتثبيت Apache و Setup Web Control Page
قم بتثبيت Apache و Setup Web Control Page

Apache هو خادم الويب لصفحة الويب الخاصة بالتحكم في الروبوت. سنقوم باستبدال ملف Apache index.html الافتراضي بملف تم تنزيله من github. ستقوم أيضًا بتغيير سطرين من التعليمات البرمجية لعرض دفق الفيديو المتحرك وتعيين مكان إرسال الأوامر للتحكم في الروبوت.

قم بتثبيت Apache و Git

pi @ raspberrypi: ~ $ sudo apt-get install apache2 git -y

بمجرد تثبيت apache و git ، قم بتنزيل الملفات.

pi @ raspberrypi: ~ استنساخ git $

افتح دليل roombarobot.

pi @ raspberrypi: ~ $ cd roombarobot

استبدل ملف index.html في المجلد / var / www / html بالملف index.html في / home / pi / roombarobot

pi @ raspberrypi: ~ / roombarobot $ sudo cp index.html / var / www / html

قم بتحرير ملف index.html

افتح ملف index.html باستخدام محرر نصوص.

pi @ raspberrypi: ~ / roombarobot $ sudo nano /var/www/html/index.html

حدد موقع هذين السطرين

var host = "ws: // YOURIPADDRESS: 9093 / ws" ؛

غيّر "YOURIPADDRESS" إلى عنوان IP الثابت الذي أعددته في الخطوة 1 واحفظ الملف.

مثال:

var host = "ws: //192.168.1.18: 9093 / ws" ؛

على جهاز كمبيوتر آخر ، افتح متصفحًا وأدخل عنوان IP الخاص بـ Pi. يجب أن تشاهد صفحة ويب التحكم مع مربع على اليسار ، دفق الفيديو من كاميرا الويب الخاصة بك ، وأزرار التحكم في الويب على اليمين.

الخطوة 4: إعداد واختبار الكود

إعداد واختبار الرمز
إعداد واختبار الرمز

هذا الرمز مكتوب بلغة بيثون ويتطلب مكتبة تورنادو. يستخدم الكود المكتبة لإعداد خادم للاستماع إلى الأوامر من صفحة التحكم على الويب عبر مآخذ الويب على المنفذ 9093.

قم بتثبيت PIP ومكتبة Tornado

تثبيت النقطة

pi @ raspberrypi: ~ $ sudo apt-get install python-pip

تثبيت مكتبة تورنادو

pi @ raspberrypi: ~ $ sudo pip install tornado

ابدأ برنامج Roombabot واختبر الاتصال

ابدأ برنامج roombabot.py

pi @ raspberrypi: ~ $ sudo python /home/pi/roombarobot/roombabot.py

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

يجب أن ترى إخراجًا في الجهاز مشابهًا لهذا.

مستعد

تم فتح الاتصال … تم فتح الاتصال … تم استلامه: u 8 تم فتح الاتصال للأمام … تم الاستلام: l 6 فتح الاتصال الأيسر … تم الاستلام: d 2 فتح الاتصال العكسي قيد التشغيل … تم الاستلام: r 4 الانعطاف لليمين

اضغط على ctrl + c لإيقاف البرنامج.

بمجرد الانتهاء من اختبار الطاقة خارج Pi.

pi @ raspberrypi: ~ sudo poweroff

البق

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

الخطوة 5: التجميع

المجسم
المجسم
المجسم
المجسم
المجسم
المجسم
المجسم
المجسم

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

وحدات العجلات

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

واجهة المجلس

تحتوي كل لوحة واجهة على ستة أسلاك متصلة بها. يوجد سلكان (أحمر [+] ، أسود [-]) يقومان بتدوير المحرك ، وسلك بيانات واحد لمستشعر تأثير القاعة ، وسلك واحد لمفتاح إسقاط العجلة ، وسلك 5 فولت ، وسلك GND لتشغيل المستشعر. سيكون عليك فصل الوحدة عن بعضها للوصول إلى لوحة الواجهة. أزلت كل شيء مرة أخرى إلى المحرك ولحمت أسلاكًا جديدة [+] و [-] للمحرك (انظر الصور). الأمر متروك لك فيما إذا كنت تريد الحفاظ على المستشعرات أم لا.

الينابيع المعلقة

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

توصيل المحركات بوحدة التحكم في المحرك

تواجه المحركات بعيدًا عن بعضها البعض. هذا يعني أنه من أجل دفع Roomba في الاتجاه الأمامي ، يجب أن يدور أحد المحركات للأمام بينما يدور الآخر للخلف. لم أفكر كثيرًا في هذا الأمر إلا بعد أن قمت بتوصيل كل شيء بالأسلاك. انتهى بي الأمر للتو إلى كتابة الكود حول كيفية توصيل الأسلاك في البداية بالمحركات. كان هذا حادثًا سعيدًا لأنه كلما تم تشغيل / إيقاف تشغيل Raspberry Pi ، يوجد خرج جهد في دبابيس GPIO. بالطريقة التي يتم توصيل الأشياء بها ، يدور جهاز Roomba حتى يتم تشغيل Raspberry Pi (حوالي ثلاثين ثانية) ويدور عند إيقاف التشغيل حتى يتم فصل الطاقة. إذا تم توصيله بطريقة مختلفة ، فمن المحتمل أن يتدحرج للأمام / للخلف مما قد يكون مزعجًا. أخطط لإصلاح هذا في النهاية بمفتاح بسيط لوحدة التحكم في المحرك.

توصيل المحركات والبطارية بوحدة التحكم في المحرك

الطاقة- - - - - - - - - - - - - - - 12V [+] - - - - - - - - - - - - - بطارية رومبا [+]

المحرك 2- - - - - - - - - - - - - - أسود - - - - - - - - - - - - - - - - المحرك الأيسر [-] المحرك 2- - - - - - - - - - - - - - أحمر - - - - - - - - - - - - - - - محرك يسار [+] محرك 1- - - - - - - - - - - - - - أسود - - - - - - - - - - - - - - المحرك الأيمن [-] المحرك 1- - - - - - - - - - - - - - أحمر - - - - - - - - - - - - - - المحرك الأيمن [+] GND- - - - - - - - - - - - - - - - 12V [-] - - - - - - - - - - - - بطارية رومبا [-]

توصيل وحدة تحكم المحرك بـ Raspberry Pi

دبابيس تحكم المحرك لون الأسلاك (انظر الصور) دبابيس Raspberry Pi

GND- - - - - - - - - - - - - - - - - أسود - - - - - - - - - - - - GND PWM 2- - - - - - - - - - - - - - أزرق - - - - - - - - - - - - - GPIO 18 DIR 2- - - - - - - - - - - - - - - - أخضر - - - - - - - - - - - - -GPIO 23 PWM 1- - - - - - - - - - - - - - - - أصفر - - - - - - - - - - - GPIO 24 DIR 1- - - - - - - - - - - - - - - - برتقالي - - - - - - - - - - - - - GPIO 25 5V - - - - - - - - - - - - - - - - أحمر - - - - - - - - - - - - - -5 فولت

تركيب الإلكترونيات

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

بطاريات

لقد استخدمت بطاريات منفصلة لـ Raspberry Pi ووحدة التحكم في المحرك. بطارية Pi عبارة عن حزمة بطارية بقوة 5 فولت تستخدم لتعزيز الهواتف المحمولة. بالنسبة لوحدة التحكم في المحرك ، استخدمت بطارية Roomba الأصلية المرفقة معها. لم يتم وضع علامات على أطراف البطارية ، لذلك من الأفضل فحص الجهد باستخدام مقياس الفولتميتر قبل توصيله بوحدة التحكم في المحرك. لتوصيل الأسلاك ببطارية Roomba ، استخدمت أربعة مغناطيس نيوديميوم (انظر الصور). لقد قمت بلحام اثنين من المغناطيس بالأسلاك والآخران تمسكت بأطراف البطارية. لحام يزيل المغناطيس. ومع ذلك ، لا يزال من الممكن أن يعلق الغلاف الخارجي بالمغناطيسات الموجودة على المحطات وتوصيل الكهرباء. هذا يجعل توصيل البطارية وفصلها أمرًا رائعًا.

اختبارات

بمجرد أن يكون لديك كل شيء معًا ، تحقق من أن لديك كل شيء موصولًا بشكل صحيح ، وادعم الروبوت الخاص بك على شيء ما (حتى لا يتدحرج بعيدًا) ، وقم بتشغيله.

قم بتسجيل الدخول وابدأ برنامج roombabot.py

pi @ raspberrypi: ~ $ sudo python /home/pi/roombarobot/roombabot.py

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

الخطوة 6: بدء تشغيل كود Python عند التمهيد / الانتهاء

بدء تشغيل كود Python عند التمهيد / الانتهاء
بدء تشغيل كود Python عند التمهيد / الانتهاء
بدء تشغيل كود Python عند التمهيد / الانتهاء
بدء تشغيل كود Python عند التمهيد / الانتهاء

آخر شيء يتعين علينا القيام به هو إخبار Raspbian ببدء برنامج python عند الإقلاع. للقيام بذلك ، سنقوم بعمل برنامج نصي وجدولته ليتم تشغيله عند إعادة التشغيل باستخدام crontab.

قم بإنشاء البرنامج النصي

قم بإنشاء ملف نصي جديد يسمى startrobot.sh في دليل مستخدم pi

pi @ raspberrypi: ~ $ sudo nano startrobot.sh

انسخ الأسطر التالية في الملف

#! / بن / ش

# startrobot.sh cd / cd / home / pi / roombarobot sudo python roombabot.py cd /

احفظ الملف واخرج

اجعل ملف startrobot.sh قابلاً للتنفيذ

pi @ raspberrypi: ~ sudo chmod 755 startrobot.sh

اختبرها (اضغط ctrl + c للإيقاف)

بي @ raspberrypi: ~ $ sh startrobot.sh

قم بتحرير ملف crontab

pi @ raspberrypi: ~ $ sudo crontab -e

أضف السطر التالي إلى أسفل الملف

# m h dom mon dow command

@ reboot sh /home/pi/startrobot.sh

حفظ وخروج

يجب أن يبدأ برنامج roombabot.py الآن عند إعادة تشغيل Pi أو تدوير الطاقة.

الانتهاء

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

موصى به: