كيفية إنشاء خادم تطوير Python الخاص بك باستخدام Raspberry Pi

بعبارات بسيطة ، يعد Raspberry Pi جهاز كمبيوتر رخيص للغاية (40 دولارًا) يعتمد على Linux. هذا هو. بجدية.

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

الخطوة 0: تحديد الهدف

قبل أن نبدأ ، من المهم أن نفهم ما الذي نحاول بنائه. بنهاية البرنامج التعليمي ، ستتمكن من تشغيل موقع ويب أساسي (باستخدام Flask) من Raspberry Pi على شبكتك المنزلية المحلية.

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

الخطوة 1. اذكر الافتراضات

فيما يلي بعض الافتراضات التي سيقدمها هذا البرنامج التعليمي:

  1. لديك بالفعل Raspberry Pi تم إعداده مع Raspbian OS. إليك دليل إعداد مفيد إذا كنت بحاجة إلى واحد.
  2. يتصل Pi بشبكة WiFi المنزلية (وأنك تعرف عنوان IP الخاص بـ Pi).
  3. لن تحتاج إلى شاشة من الآن فصاعدًا. بافتراض اكتمال النقطتين 1 و 2.

سنستخدم VS Code بامتداد Remote VSCode لإنشاء الملفات وتحريرها عن بُعد على Pi. أوصي بالتأكيد باستخدام هذين للمتابعة. أيضًا ، ستجعل هذه الملفات العمل مع الملفات البعيدة أسهل كثيرًا ، لذا فهذه ميزة إضافية.

الخطوة 2. ابحث عن عنوان IP الخاص بـ Pi

أولاً ، قم بتوصيل Pi بمصدر طاقة ، وتأكد من تشغيله بشكل صحيح وتوصيله بشبكة WiFi / Ethernet (بشكل أساسي ، يحتاج إلى اتصال بالإنترنت).

سنستخدم ssh للاتصال بـ Pi والتواصل معه. للقيام بذلك عن بعد باستخدام جهاز كمبيوتر محمول ، تحتاج إلى معرفة عنوان IP الخاص به. يمكن الحصول على هذا بسهولة باستخدام بوابة إدارة موفر خدمة الإنترنت (عادة ما تكون متاحة على //192.168.0.1. يرجى ملاحظة أن هذا قد يكون مختلفًا بالنسبة لمزودي خدمة الإنترنت المختلفين.)

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

الخطوة 3. الاتصال بـ Pi باستخدام ssh

افتح VS Code ونافذه الطرفية المضمنة على الكمبيوتر المحمول. اتصل بـ Pi بعنوان IP 192.188.0.12 باستخدام الأمر ssh التالي:

ssh -R 52698: المضيف المحلي: 52698 [email protected]

سيقوم الأمر أعلاه بإعداد قناة اتصال ثنائية الاتجاه بين الكمبيوتر المحمول و Pi. إذا كانت هذه هي المرة الأولى التي تتصل فيها بـ Pi ، فاستخدم raspberry ككلمة المرور. قد يُطلب منك تغيير كلمة المرور الافتراضية الخاصة بك. يوصى بشدة أن تفعل ذلك.

الخطوة 4. إنشاء دليل المشروع

يجب أن تكون الآن في الدليل الرئيسي لـ Pi. لنقم بإنشاء دليل للموقع الذي نرغب في بنائه. استخدم الأمر التالي لإنشاء الدليل:

موقع mkdir MyFlask

استخدم الأمر 'ls' للتحقق من أنه يمكنك بالفعل رؤية مجلد جديد باسم MyFlaskWebsite.

الخطوة 5. تثبيت القارورة

سوف نستخدم Flask لإنشاء موقع ويب بسيط. Flask هو إطار عمل ويب صغير يعتمد على Python. يستخدم Jinja (محرك القالب المستند إلى Python) كمحرك القالب الخاص به مما يجعله قابلاً للاستخدام وقويًا للغاية. استخدم الأمر التالي لتثبيت flask على Pi:

sudo apt-get install python3-flask

الخطوة 6. اكتب بعض التعليمات البرمجية الأساسية

الآن بعد أن تم تثبيت Flask ، يمكننا البدء في إنشاء الملفات وكتابة بعض التعليمات البرمجية. أولاً ، انتقل إلى دليل المشروع الذي تم إنشاؤه حديثًا (من الخطوة 4) باستخدام الأمر التالي:

cd MyFlaskWebsite

ستوجد جميع ملفات ومجلدات المشروع داخل دليل "MyFlaskWebsite" هذا. الآن ، قم بإنشاء ملف التعليمات البرمجية الأول (app.py) باستخدام الأمر التالي:

المس app.py

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

الآن ، اضغط F1 واختر "Remote Start Server". يجب أن يسمح لك ذلك بتحرير الملفات الموجودة على Pi عن بُعد باستخدام الكمبيوتر المحمول.

بعد ذلك ، استخدم الأمر التالي لبدء تحرير ملف app.py الذي تم إنشاؤه حديثًا. قد يستغرق الأمر بضع ثوانٍ ولكن يجب أن يكون الملف الفارغ مرئيًا في النافذة أعلاه مباشرة.

rmate app.py

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

احفظ الملف واستخدم الأمر التالي لتشغيل موقع الويب على خادم Pi:

python3 app.py

عند تلقي رسالة النجاح أعلاه ، افتح نافذة متصفح جديدة على أي جهاز داخل شبكتك واكتب عنوان IP الخاص بـ Pi (في هذه الحالة ، يكون 192.168.0.12) متبوعًا بالمنفذ الذي يعمل عليه خادم dev (5000. ) لذلك سيكون العنوان الكامل //192.168.0.12:5000/

يجب أن ترى النص "هذا موقع الويب الخاص بي القارورة وهو رائع جدًا." على صفحة الويب.

هذا يؤكد أن خادم dev الخاص بك نشط ويقوم بتشغيل موقع الويب الذي أنشأته للتو.

الخطوة 7. أضف المزيد من المسارات

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

للتحقق مما إذا كان المسار الجديد يعمل كما هو متوقع أم لا ، انتقل إلى //192.168.0.12:5000/meow وستجد صفحة الويب "مواءمة" عليك.

الخطوة 8. أضف بنية إلى الكود الخاص بك

الآن ، تعد إضافة المزيد من المسارات أمرًا رائعًا ، لكن وجود كل الشفرة في ملف app.py واحد فقط ليس هو الطريقة التي ينبغي بها تنظيم موقع الويب. عادة ، سيكون لدينا مجلد به قوالب HTML ، ومجلد به ملفات CSS ثابتة ومجلد آخر لملفات JS. دعنا نضيف هذه المجلدات وننقل الكود في مجلدات مناسبة لتنظيم الكود بشكل أفضل. استخدم الأوامر التالية لإنشاء هذه الأدلة:

قوالب مكدير مكدير ثابت

استخدم الأمر "ls" للتحقق من إنشاء هذه المجلدات.

الآن ، لنقم بإنشاء ملف HTML للصفحة الرئيسية. استخدم الأوامر التالية للانتقال إلى دليل القوالب. بعد ذلك ، أنشئ ملفًا جديدًا باسم index.html واستخدم rmate لتحريره:

تلمس قوالب الأقراص المضغوطة index.html rmate index.html

اكتب بعض كود HTML الأساسي للصفحة الرئيسية داخل index.html.

قم بإجراء التغييرات التالية في app.py لاستخدام ملف index.html. سيبحث الكود أدناه عن ملف يسمى index.html في دليل القوالب افتراضيًا.

انتقل مرة أخرى إلى دليل المشروع وقم بتشغيل موقع الويب مرة أخرى.

ارجع إلى الصفحة الرئيسية وسترى المحتوى الذي وضعته داخل index.html.

أضف الآن بعض الأنماط عن طريق إنشاء "main.css" داخل الدليل الثابت. كما هو الحال دائمًا ، استخدم الأمر "cd" لتغيير الدليل ، وأمر "touch" لإنشاء ملف جديد ، والأمر "rmate" لتحرير نفس الملف.

أضف بعض التصميم إلى علامة h4. لاحظ أن لدينا حاليًا علامة h4 واحدة في index.html والتي من المفترض أن يقوم css بتعديلها.

كالمعتاد ، اختبر تغييراتك باستخدام الأمر التالي:

python3 app.py

لاحظ كيف يتم تلوين النص داخل علامة h4 وفقًا لـ CSS.

الخطوة 9. استفد من Jinja

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

لنقم فقط بإنشاء قائمة بالفواكه في app.py ونمررها كمعامل إلى index.html. سيكون لدينا بعد ذلك index.html لعرض تلك القائمة على صفحة الويب. قم بإجراء التغييرات التالية في app.py و index.html.

قم بتحديث صفحة الويب الخاصة بك وسترى قائمة الفواكه على الشاشة.

هذا يتحدث عن كيف يمكن أن تكون Jinja قوية ومفيدة. لمزيد من المعلومات حول Jinja ، يرجى الرجوع إلى هذا.

الخطوة 10. الخطوات التالية

الآن بعد أن أصبح لديك خادم مطور Python يعمل بكامل طاقته ، فإن احتمالات المضي قدمًا لا حصر لها عمليًا. إليك بعض الخطوات التالية المفيدة التي قد تفكر فيها في مشروعك:

  1. حاليًا ، لا يمكن الوصول إلى Pi إلا من خلال الأجهزة الموجودة في شبكتك الشخصية. لفضح Pi للعالم الخارجي (الوصول إليه من خلال أي جهاز خارج شبكتك الشخصية) ، تحتاج إلى شيء يعرف باسم إعادة توجيه المنفذ. بشكل أساسي ، أنت بحاجة إلى اسم مجال وعنوان IP ثابت يتم تعيينه بشكل دائم إلى Pi. مزيد من المعلومات هنا وهنا.
  2. ستتطلب معظم التطبيقات قاعدة بيانات لعمليات CRUD الأساسية. تدعم Python SQlite فور إخراجها من الصندوق. تعرف على كيفية استخدام SQlite مع Flask هنا وهنا.
  3. إليك مجموعة بداية Raspberry Pi الرائعة على Amazon. الشيء الرائع في هذا هو أنه يحتوي على كل ما تحتاجه للبدء ويوفر عليك جهد البحث عن العناصر الفردية بنفسك.
  4. نظرًا لأنك لا تستخدم شاشة ، فمن المهم أن تستخدم أمر إيقاف التشغيل لـ Pi باستخدام الجهاز. هذا يضمن عدم تلف Pi وبطاقة SD:
sudo الاغلاق - ح الآن

#UntilNextTime.