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

شريط ليد 12 فولت يتم التحكم فيه عن طريق الواي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration: 15 خطوة (بالصور)
شريط ليد 12 فولت يتم التحكم فيه عن طريق الواي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration: 15 خطوة (بالصور)

فيديو: شريط ليد 12 فولت يتم التحكم فيه عن طريق الواي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration: 15 خطوة (بالصور)

فيديو: شريط ليد 12 فولت يتم التحكم فيه عن طريق الواي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration: 15 خطوة (بالصور)
فيديو: التحكم فى لون إضاءة شريط الليد led rgb strip عن طريق الواى فاى . 2024, شهر نوفمبر
Anonim
شريط LED 12 فولت يتم التحكم فيه عن طريق واي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration
شريط LED 12 فولت يتم التحكم فيه عن طريق واي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration
شريط LED 12 فولت يتم التحكم فيه عن طريق واي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration
شريط LED 12 فولت يتم التحكم فيه عن طريق واي فاي باستخدام Raspberry Pi مع Tasker و Ifttt Integration

في هذا المشروع ، سأوضح لك كيفية التحكم في شريط LED تناظري بسيط بجهد 12 فولت عبر شبكة wifi باستخدام raspberry pi.

لهذا المشروع سوف تحتاج:

  • 1x Raspberry Pi (أنا أستخدم Raspberry Pi 1 Model B +)
  • شريط Led 1x RGB 12 فولت [Ebay Australia]
  • 3x IRFZ44N N-Channel Mosfet [Ebay Australia]
  • محول مقبس طاقة تيار مستمر 1x أنثى [Ebay Australia]
  • بعض الأسلاك
  • الشاشة ، لوحة المفاتيح (للإعداد فقط)

الخطوة 1: قم بتثبيت نظام Raspbian OS باستخدام Windows

قم بتثبيت نظام Raspbian OS باستخدام Windows
قم بتثبيت نظام Raspbian OS باستخدام Windows
قم بتثبيت نظام Raspbian OS باستخدام Windows
قم بتثبيت نظام Raspbian OS باستخدام Windows
قم بتثبيت نظام Raspbian OS باستخدام Windows
قم بتثبيت نظام Raspbian OS باستخدام Windows

لتثبيت Raspbian مع Windows ، ستحتاج إلى:

  • Win32 Disk Imager: [تنزيل]
  • Raspbian OS Lite: [Zip] ، [Torrent]

** مهم إذا أخطأت فقد تفقد جميع بياناتك ، يرجى نسخ بياناتك احتياطيًا قبل المتابعة **

  1. قم بتوصيل بطاقة SD الخاصة بك بقارئ البطاقات وافتح جهاز الكمبيوتر
  2. ابحث عن حرف محرك الأقراص
  3. انقر بزر الماوس الأيمن فوق Win32DiskImager وانقر فوق "تشغيل كمسؤول"
  4. ثم انقر فوق المجلد الأزرق الصغير واستعرض وصولاً إلى صورتك الخاصة بنظام RaspbianOS
  5. انقر أيضًا على مربع القائمة المنسدلة أسفل الجهاز وقم بتغييره إلى حرف محرك بطاقة SD
  6. ثم انقر فوق "كتابة"
  7. سيتم فتح مربع حوار قبل الضغط على "نعم" للتحقق من صحة الجهاز الهدف
  8. ثم أخرج بطاقة SD وأدخلها في pi

الخطوة 2: قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X

قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X
قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X
قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X
قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X
قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X
قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X
قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X
قم بتثبيت نظام Raspbian OS باستخدام نظام التشغيل Mac OS X

لتثبيت Raspbian مع Mac ، ستحتاج إلى:

  • ApplePi-Baker [تنزيل]
  • Raspbian OS Lite: [Zip] ، [Torrent]

** مهم إذا أخطأت فقد تفقد جميع بياناتك ، يرجى نسخ بياناتك احتياطيًا قبل المتابعة **

  1. افتح Disk Utility وابحث عن بطاقة SD الخاصة بك على الجانب الأيسر ثم انقر عليها
  2. ابحث عن "الجهاز" في الجزء السفلي من النافذة ، سترى شيئًا مثل diskXsX حيث يمثل x رقمًا
  3. تذكر رقم "الجهاز" وافتح ApplePi-Baker
  4. سيطلب منك كلمة المرور نظرًا لاضطراره إلى تهيئة بطاقة SD الخاصة بك
  5. انقر فوق رقم "الجهاز" الذي هو بعد / dev / على الجانب الأيسر
  6. انقر فوق "استعادة النسخ الاحتياطي" واستعرض صورة RaspbianOS الخاصة بك.
  7. سيبدأ في مسح بطاقة SD وتثبيت Raspbian عليها
  8. عند الانتهاء ، سيظهر مربع تنبيه يخبرك أنه يمكنك إزالة بطاقة SD وإزالتها ووضعها في بي الخاص بك.

الخطوة 3: إعداد ملف Pi

قبل تشغيل pi ، ستحتاج إلى توصيل شاشة HDMI ولوحة مفاتيح وكابل إيثرنت أو USB wifi (سنقوم بإعداد هذا في الخطوة التالية).

قم بتشغيل pi ، سترى مجموعة من النصوص تملأ الشاشة ، وهذا أمر طبيعي وهو جزء من بدء تشغيل Linux kernel. فقط انتظر قليلا حتى ترى

تسجيل الدخول إلى التوت:

اسم المستخدم الخاص بك هو pi وكلمة المرور هي raspberry (لن ترى أي شيء يكتب على الشاشة ولكن لا يزال يتم إدخاله)

ثم عند تسجيل الدخول سترى:

pi @ raspberrypi: ~ $

ثم عليك أن تدخل:

sudo raspi-config

سيتم بعد ذلك ملء شاشتك بشاشة زرقاء مع خيارات في مربع رمادي في المنتصف ،

  1. باستخدام مفتاحي لأعلى ولأسفل ، قم بتمييز واضغط على خيار "توسيع نظام الملفات" بعد بضع ثوان ، سيتم نقلك إلى تنبيه يقول "تم تغيير حجم نظام ملفات الجذر" ، انقر فوق إدخال
  2. ثم اضغط على السهم لأسفل وانتقل إلى خيارات التمهيد وانقر فوق إدخال ، ثم انقر فوق إدخال عند تحديد "سطح المكتب / CLI" ، ثم حدد "تسجيل الدخول إلى وحدة التحكم" وانقر فوق إدخال
  3. ثم حدد خيارات متقدمة وانقر فوق إدخال
  4. ثم قم بالتمرير لأسفل إلى ssh وانقر فوق إدخال ثم حدد نعم
  5. ثم اضغط على السهم الأيمن حتى يتم تمييز الخلف واضغط على Enter
  6. ثم انتقل إلى الأسفل مرة أخرى وانقر فوق "إنهاء" ثم قل "نعم" لإعادة التشغيل

بعد إعادة التشغيل إذا كنت متصلاً عبر ethernet ، فأنت بحاجة إلى إدخال هذا الأمر للعثور على عنوان IP الخاص بك حتى نتمكن من إرساله إلى pi

البحث عن IP:

اسم المضيف -أنا

الخطوة 4: إعداد Wifi

لإعداد wifi على pi ، نحتاج إلى تحرير ملف

1. أدخل في سطر الأوامر

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. انتقل إلى نهاية الملف وأدخل

الشبكة = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. ثم أعد تشغيل جهاز pi مع

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

بعد إعادة تشغيل pi ، احصل على عنوان IP الخاص بك عن طريق الكتابة

اسم المضيف -أنا

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

الخطوة 5: الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows

الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows
الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows
الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows
الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows
الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows
الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows
الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows
الاتصال عن بعد بـ Pi الخاص بك باستخدام Windows

الآن بعد أن أصبح لدينا pi متصلاً بالإنترنت ، يمكننا إزالة لوحة المفاتيح والماوس والشاشة والاتصال بها عن بُعد باستخدام "ssh"

للدخول إلى pi مع windows ، تحتاج إلى تنزيل

المعجون: [تحميل]

  1. افتح المعجون ، في مربع عنوان IP ، أدخل raspberry pi ip ثم اضغط على فتح
  2. ستحصل على مربع حوار يشبه الصورة 2 اضغط نعم
  3. سترى بعد ذلك مربع حوار جديدًا يقول "تسجيل الدخول كـ" أدخل "pi"
  4. ثم سيطلب كلمة مرور أدخل "Raspberry"

أنت الآن متصل بـ pi over ssh

الخطوة 6: الاتصال عن بعد بـ Pi الخاص بك باستخدام Mac

قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac
قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac
قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac
قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac
قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac
قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac
قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac
قم بالاتصال عن بعد بـ Pi الخاص بك باستخدام Mac

الآن بعد أن أصبح لدينا pi متصل بالإنترنت ، يمكننا إزالة لوحة المفاتيح والماوس والاتصال به عن بُعد باستخدام "ssh"

1. افتح "Terminal"

2. اكتب

ssh pi @ IP_ADDRESS

3. ثم قد تتلقى رسالة تفيد بأن مفتاح المضيف لم يتم حفظه ، فقط اكتب "نعم"

4. ثم عند الترقية أدخل كلمة مرور Raspberry Pi وهي "Raspberry"

أنت الآن متصل بـ pi over ssh

الخطوة السابعة: تثبيت البرنامج

نظرًا لأن لدينا الآن إمكانية الوصول عن بُعد إلى pi ، نحتاج إلى تثبيت بعض البرامج للتحكم في شريط LED

سنحتاج للتثبيت

  • pigpio (هذا يحول جميع دبابيس GPIO من رقمي إلى PWM)
  • flask (نص برمجي من جانب الخادم يتحدث إلى Pigpio وخادم الويب)
  • اباتشي 2 (خادم الويب)

تثبيت Pigpio

1. نحتاج أولاً إلى تنزيل مجلد مضغوط يحتوي على برنامج pigpio غير المجمع باستخدام هذا الأمر

wget

2. نحتاج بعد ذلك إلى فك الضغط والذهاب إلى الدليل

قم بفك ضغط pigpio.zip && cd PIGPIO

3.علم أننا في الدليل نحتاج إلى تجميع البرنامج وتثبيته

جعل-j4 && sudo جعل التثبيت

4. الآن افتح rc.local حتى نتمكن من إخبار pi بتشغيل pigpiod عند بدء التشغيل

sudo nano /etc/rc.local

ثم قبل دخول خط الخروج مباشرة

sudo pigpiod

لقد قمت الآن بتثبيت برنامج Pigpio

تثبيت القارورة

نحتاج أولاً إلى تحديث قائمة البرامج لإجراء هذا الإدخال

تحديث sudo apt && sudo apt Upgrade -y

ثم قم بتثبيت النقطة

sudo apt-get install python-pip

الآن يمكننا تثبيت القارورة

قارورة تثبيت sudo pip

قم بتثبيت Apache2

سودو apt-get install apache2 -y

sudo apt-get install libapache2-mod-wsgi -y

قم بتثبيت git

sudo apt install git -y

بعد أن انتهى كل شيء من تثبيت إيقاف التشغيل مع pi

sudo الاغلاق الآن

الخطوة 8: توصيل الكهرباء

توصيل الكهرباء
توصيل الكهرباء
توصيل الكهرباء
توصيل الكهرباء
توصيل الكهرباء
توصيل الكهرباء

نحتاج أولاً إلى توصيل موصل الطاقة بلوحة الخبز

  1. قم بتوصيل السلك الأسود بالموصل السالب بمقبس الطاقة
  2. قم بتوصيل السلك الأحمر بالموصل الموجب في مقبس الطاقة
  3. قم بتوصيل الطرف الآخر من السلك الأحمر بالجانب الموجب من اللوح
  4. قم بتوصيل الطرف الآخر من السلك الأسود بالجانب الموجب من اللوح
  5. ثم قم بتوصيل الدبوس الأرضي من باي (كما هو موضح في الصورة) بالدبوس السالب على اللوح

الآن علينا الاتصال الأكثرأكثر.

الخطوة 9: توصيل أسلاك Mosfets وتوصيل Pi

توصيل أسلاك Mosfets وربط Pi
توصيل أسلاك Mosfets وربط Pi
توصيل أسلاك Mosfets وربط Pi
توصيل أسلاك Mosfets وربط Pi
توصيل أسلاك Mosfets وربط Pi
توصيل أسلاك Mosfets وربط Pi
توصيل أسلاك Mosfets وربط Pi
توصيل أسلاك Mosfets وربط Pi

يسمح لك Mosfet بالتحكم في مقدار الطاقة التي يمكن أن تنتقل إلى مصابيح LED ، سنحتاج إلى ثلاثة موزفيت لأننا نحتاج إلى التحكم في الأضواء الحمراء والخضراء والزرقاء بشكل منفصل.

يحتوي mosfet على ثلاثة دبابيس ، على اليسار يوجد دبوس "Gate" الذي سيتم توصيله بـ pi للتحكم في مقدار الطاقة التي يمكن أن تتدفق إلى مصباح LED

يُطلق على الدبوس المركزي اسم "Drain" والذي سينتقل إلى مصابيح LED ويزود الجهد الذي تسمح البوابة بتجاوزه

والدبوس على اليمين هو دبوس "المصدر". يذهب هذا الدبوس إلى الأرض على اللوح.

توصيل الصمام الأحمر

  1. ضع موسفت في اللوح
  2. قم بتوصيل سلك أسود من GND على اللوح بالمصدر (الدبوس الأيمن)
  3. ثم قم بتوصيل السلك الأحمر من الدبوس المركزي في mosfet بالدبوس الأحمر على شريط LED
  4. ثم قم بتوصيل السلك الأحمر من الدبوس الأيسر بـ GPIO 17 على باي

توصيل المصباح الأخضر

  1. ضع الموسفت الثاني في اللوح
  2. ثم تمامًا كما كان من قبل ، قم بتوصيل سلك أسود من GND على اللوح بالمصدر (الدبوس الأيمن)
  3. ثم قم بتوصيل سلك أخضر من الدبوس المركزي في mosfet بالدبوس الأخضر على شريط LED.
  4. ثم قم بتوصيل السلك الأخضر من الدبوس الأيسر بـ GPIO 22 على باي

توصيل الصمام الأزرق

  1. ضع آخر mosfet في اللوح
  2. قم بتوصيل سلك أسود آخر من GND على اللوح بالمصدر (الدبوس الأيمن)
  3. ثم قم بتوصيل سلك أزرق من الدبوس المركزي في mosfet بالدبوس الأزرق على شريط LED.
  4. ثم قم بتوصيل سلك أزرق من الدبوس الأيسر بـ GPIO 24 على باي

بعد ذلك سيكون لديك دبوس آخر على شريط LED والذي سيكون أبيض أو أسود ، فقط قم بتوصيل سلك من الدبوس الموجب على اللوح إلى هذا الدبوس الإضافي على شريط LED

الآن بعد أن انتهينا ، يمكننا البدء في اختباره.

الخطوة 10: تنزيل واختبار شريط LED

لتنزيل الكود المصدري للتحكم في شريط LED

git clone https://github.com/DavidMontesin/Raspberry-PI-Wifi-Led-Strip.git && cd Raspberry-PI-Wifi-Led-Strip /

لاختبار شريط الصمام ، قم بتشغيل ملف test.py.

بيثون Test.py

إذا لم تضيء بعض الألوان لسبب ما ، فيرجى التحقق من توصيل كل شيء بشكل صحيح.

كيف يعمل هذا البرنامج النصي؟

إذا فتحت نص python فقد تتساءل كيف يعمل ، في السطر الأول سترى:

وقت الاستيراد

تتيح لنا هذه المكتبة الصغيرة إيقاف البرنامج النصي مؤقتًا حتى نتمكن من إبقاء الأضواء مضاءة بشكل أسرع

استيراد Pigpio

تتيح لنا هذه المكتبة التواصل مع شريط LED

pi = pigpio.pi ()

قم بإعداد متغير حتى نتمكن من استخدام pi.set_pw … insted of pigpio.pi (). set_pw …

RedPin = 17

GreenPin = 22

BluePin = 24

هذه مجرد متغيرات تسمح لنا بإخبار البرنامج النصي بما تم توصيله

طباعة ("tesing for red")

سيؤدي هذا فقط إلى طباعة النص إلى سطر الأوامر

pi.set_PWM_dutycycle (RedPin ، 255)

هذا الأمر هو جزء من pigpio libary ويقول لتعيين "RedPin" الذي يبحث عن الرقم الذي حددناه من قبل ويضبط سطوعه على "255" وهو الحد الأقصى

time.sleep (2) الوقت

هذا جزء من مكتبة الوقت وسيوقف البرنامج النصي مؤقتًا لمدة ثانيتين

سيتكرر هذا الأمر المرن للمصابيح الأخرى حتى

pi.stop ()

والذي سيتوقف عن التحدث إلى شريط LED وضبط جميع الألوان.

الخطوة 11: برمجة البرنامج النصي من جانب الخادم

** قبل أن تبدأ ، أوصيك بالقراءة عن الثعبان والقارورة:

فيما يلي بعض الأدلة:

www.pythonforbeginners.com

docs.python-guide.org/en/latest/intro/learn…

flask.pocoo.org

نظرًا لأن Main.py موجود في git مباشرة ، فإن هذه الخطوة تشرح فقط الكود.

أولاً لدينا المكتبات

من flask import Flask ، render_template ، request

استيراد Pigpio من استيراد الخيط start_new_thread

ثم نحتاج إلى تعيين بعض المتغيرات

التطبيق = قارورة (_ name_)

CurrentColour = "White" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi ()

المتغير الأول هو flask وهو خادم الويب الخاص بنا وسوف نسميه التطبيق لذلك من السهل الاتصال والتشغيل. ثم هناك 6 متغيرات ستحتوي الثلاثة الأولى منها على اللون الذي تريد تغيير اثنين والثلاثة الأخرى ستحتوي على اللون السابق.

@ app.route ('/'، methods = ['GET'])

يقول هذا السطر أنه إذا قام شخص ما بكتابة عنوان IP الخاص بـ pi في متصفح الويب ، فسيتم تشغيل البرنامج النصي أدناه ، ولديه أيضًا طريقة GET عندما يعني ذلك ، أي نص بعد؟ Color = سيتم تمريره إلى خادم الويب وسيكون تستخدم لتغيير لون شريط الصمام.

def الرئيسي ():

العالمية CurrentColour

يعني النص def Main () أنه سينشئ وظيفة تسمى main والتي يمكن استدعاؤها من أي مكان في البرنامج النصي. ويعني السطر العام أنه سيتم تحديث المتغير في النص بأكمله.

if request.args.get ("اللون"):

CurrentColour = request.args.get ('Color') if CurrentColour == "White": FadeTORGB (255، 255، 255) elif CurrentColour == "Red": FadeTORGB (255، 0، 0) elif CurrentColour == "أخضر ": FadeTORGB (0، 255، 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0، 0، 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0، 255، 255) elif CurrentColour ==" Orange ": FadeTORGB (255، 15، 0) elif CurrentColour == "Pink": FadeTORGB (255، 0، 192) elif CurrentColour == "Yellow": FadeTORGB (255، 157، 0) elif CurrentColour == "Purple": FadeTORGB (123، 0، 255) elif CurrentColour == "Black": FadeTORGB (0، 0، 0) return render_template ('index.html')

سيحصل هذا البرنامج النصي على أي اسم بعد "لون" طريقة GET ويحفظه. سيتحقق بعد ذلك من هذا الاسم وسوف يستدعي وظيفة يمكنها ثلاث وظائف أخرى لتغيير الضوء الأحمر والأخضر والأزرق في وقت واحد

def FadeTORGB (RedNum ، BlueNum ، GreenNum):

start_new_thread (FadeUpRed، (RedNum،)) start_new_thread (FadeUpBlue، (BlueNum،)) start_new_thread (FadeUpGreen، (GreenNum،))

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

def FadeUpRed (REDUpNum):

Global RedColourCode إذا كان RedColourCode <REDUpNum: while RedColourCode REDUpNum: while RedColourCode> REDUpNum: RedColourCode - = 1 pi.set_PWM_dutycycle (RedPin ، RedColourCode)

def FadeUpBlue (BlueUpNum):

Global BlueColourCode إذا كان BlueColourCode <BlueUpNum: while BlueColourCode BlueUpNum: while BlueColourCode> BlueUpNum: BlueColourCode - = 1 pi.set_PWM_dutycycle (BluePin ، BlueColourCode)

def FadeUpGreen (GreenUpNum):

Global GreenColourCode إذا كان GreenColourCode <GreenUpNum: while GreenColourCode GreenUpNum: while GreenColourCode> GreenUpNum: GreenColourCode - = 1 pi.set_PWM_dutycycle (GreenPin ، GreenColourCode)

إذا _name_ == "_main_":

app.run (المضيف = "0.0.0.0")

الخطوة 12: برمجة خادم الويب

الآن بعد أن أصبح لدينا الخادم ، نحتاج إلى تصميم موقع ويب.

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

أوصي أيضًا بأن تقرأ عن html و css و javascript

لغة البرمجة

نحتاج أولاً إلى برمجة html ، هذا هو المكان الذي يذهب إليه كل المحتوى الذي يمكن تصميمه باستخدام css

1. إنشاء الرأس (العنوان ، ربط الملفات ،)

واي فاي بقيادة قطاع

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

جعل صفحة الويب في وضع ملء الشاشة على نظام iOS

لجعل الصفحة ملء الشاشة ، أدخل هذا الرمز تحت العلامة

بعد ذلك ، سنضيف مراجع إلى ملف css ، وسنقوم بعمل هذا الأخير بطريقة مختلفة عن المعتاد نظرًا لأن القارورة هي طريقة لإدارة الملفات

ثم بعد ذلك يجب عليك إغلاق العلامة وإنشاء علامة نصية

تعني علامة النص الأساسي أن أي علامات بداخلها ستظهر على صفحة الويب

الآن سنقوم بعمل أزرار الألوان التي يمكنها تغيير شريط LED.

سنقوم بإنشاء واحد لكل لون ووضعه في جدول

هذا هو الإطار الخارجي للجدول

سيؤدي هذا إلى إنشاء صف للجدول

لنقم الآن بإنشاء زر برتقالي

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

سيتعين علينا فقط تغيير نص sendColour ونمط كل زر آخر ولكن بعد كل زر ثانٍ سنغلق الصف وننشئ صفًا جديدًا

إلخ…

ثم بعد وضع كل الألوان ، تحتاج إلى إغلاق الطاولة

جافا سكريبت

نحتاج الآن إلى إضافة وظيفة "SendColour" التي أشرنا إليها من قبل للقيام بذلك ، نحتاج أولاً إلى إضافة علامة تخبر متصفح الويب أن هناك بعض جافا سكريبت

ثم قم بإنشاء وظيفة

وظيفة SendColour (ClickedColour) {

سترسل هذه الوظيفة طلب Ajax إلى raspberry Pi الذي سيخبرها بالتغيير إلى اللون الذي نقرت عليه

xhttp = جديد XMLHttpRequest () ،

xhttp.open ("GET"، "؟ Color =" + ClickedColour، false)؛ xhttp.send () ، }

الآن نحن بحاجة إلى إغلاق جافا سكريبت و html

CSS

الآن نحن بصدد تصميم الموقع

أول قرص مضغوط من مجلد القوالب وانتقل إلى المجلد الثابت

cd.. && cd static

الآن قم بإنشاء ملف Style.css

نانو Style.css

أولاً ، لنجعل الجدول يملأ الشاشة بأكملها.

. Colours {

العرض: 100٪؛ }

.زر {

الحشو: 25 بكسل 35 بكسل ؛ نصف قطر الحدود: 4 بكسل ؛ }

اختبار الخادم

لاختبار الخادم ، انتقل إلى مجلد خادم الويب

قرص مضغوط..

ثم أدخل

بيثون Main.py

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

YOUR_PI_PI: 5000the: 5000 في النهاية مهم في الوقت الحالي لأنه المنفذ الذي يعمل عليه خادم الويب.

إذا انتقلت إلى صفحة الويب وحصلت على "خطأ داخلي في الخادم" ، فانظر إلى وحدة التحكم (المعجون أو المحطة الطرفية) وسترى مجموعة من النصوص ، ما عليك سوى إلقاء نظرة على السطر الأخير ويجب أن يكون. أخبرك بما يحدث ، يمكنك البحث في google للعثور على الإجابة ،

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

الخطوة 13: جعلها تعمل مع Apache2

الآن بعد أن اختبرناها ، يجب أن نجعلها تتحدث إلى apache حتى يمكن تشغيلها عند بدء التشغيل وعلى المنفذ 80 (منفذ الويب القياسي)

1. داخل مجلد WebServer ، قم بإنشاء ملف wsgi

نانو wifiled.wsgi

ثم في الملف أدخل

استيراد النظم

sys.path.insert (0، '/ home / pi / Webserver /') من تطبيق الاستيراد الرئيسي كتطبيق

ثم أضف المستخدم pi إلى مجموعة تسمى www-data ، وهذا سيسمح لأباتشي بالبحث في مجلد خادم الويب

sudo usermod -a -G www-data pi

ثم قم بإزالة ملف التكوين الافتراضي

sudo a2dissite 000-default

ثم أنشئ ملفًا في مجلد تهيئة Apache

sudo nano /etc/apache2/sites-available/wifiled.conf

وادخل

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias / /home/pi/Webserver/wifiled.wsgi طلب السماح ، رفض السماح من الكل طلب الكل ممنوح ErrorLog $ {APACHE_LOG_DIR} /error.log مستوى السجل تحذير CustomLog $ {APACHE_LOG_DIR} /access.log مجموع

ثم أخبر أباتشي بقراءة ملف التكوين عن طريق إدخال

sudo a2ensite wifiled.conf

أعد تشغيل pi الآن ، عند إعادة التشغيل ، أدخل في متصفح الويب الخاص بك

YOUR_PI_IP

الخطوة 14: إعداد Tasker و Ifttt والخدمات الأخرى

قبل أن نقوم بإعداد هذه البرامج ، يجب عليك إعداد المنفذ على جهاز التوجيه الخاص بك لأن كل جهاز توجيه مختلف ، ويمكنك قراءة كيفية ذلك هنا

تاسكر

على جهاز Android الخاص بك ، افتح المتلقي

ثم إنشاء ملف تعريف جديد مدمج في حدث ، يمكنك اختيار أي مشغل. لقد اخترت "رنين الهاتف" وقمت بتعيين اللون لأي شخص "C: ANY" ، ثم سيطلب منك تحديد مهمة ، والنقر فوق "مهمة جديدة" وتسميتها مضافًا إلى الإجراء الخاص بك. سأطلق عليه اسم "مكالمة هاتفية" ثم اضغط على إضافة إجراء وابحث عن "رأس HTTP" وقم بتعيين الخادم: المنفذ إلى your_raspberry_pi_IP ثم أسفل المسار ، يمكنك إما تعيين لون خالص باستخدام "/؟ Color = Green" أو يمكنك إنشاء تأثير سنفعل ذلك في الخطوة التالية. ثم انقر للخلف والعودة مرة أخرى.

IFTTT

انتقل أولاً إلى ifttt وأنشئ تطبيقًا صغيرًا جديدًا ، اختر أي مشغل (اخترت Button) ، ثم اختر قناة الصانعة للإجراء ، وقلت لتقديم طلب ، ثم أدخل عنوان url YOUR_PUBLIC_PI /؟ Color = LightBlue إذا كنت لا تعرف جمهورك ip فقط أدخل "My Ip" على google. ثم بالنسبة للطريقة ، أدخل HEAD ، ثم انقر فوق "إنشاء إجراء" الآن عندما يحدث الإجراء الخاص بك إذا قمت بتقديم طلب إلى pi الخاص بك لتغيير اللون.

خدمات أخرى

يمكنك أيضًا توصيل الخدمات الأخرى التي تطلب HTTP HEAD أو GET.

الخطوة 15: إنشاء تأثيرات مخصصة

في Main.py أضف بيان استيراد ، ضمن استيراد نظام التشغيل

وقت الاستيراد

أيضًا قبل إنشاء تأثير ، نحتاج إلى إضافة متغير أسفل إضافة GreenBeforeEffect مباشرة

CanChangeColour = صحيح

ثم قم بالتغيير في حالة request.args.get ("اللون"):

إلى

if request.args.get ("Color") و CanChangeColour:

قسم فقط ضمن إرجاع render_template ('Main.html') ، أضف

@ app.route ('/ Effect'، methods = ['GET'])

تأثير def ():

ثم اضبط المتغيرات على global

س = 0

RedColourCode العالمية BlueColourCode العالمية GreenColourCode العالمية RedBeforeEffect BlueBeforeEffect العالمية GreenBeforeEffect

لنقم الآن بإنشاء تأثيرنا الأول

if request.args.get ("اتصال"):

RedBeforeEffect = RedColourCode BlueBeforeEffect = BlueColourCode GreenBeforeEffect = GreenColourCode FadeTORGB (0، 0، 0) time.sleep (2)

سيتم تشغيل هذا الإجراء عندما يتلقى pi طلبًا مثل "/؟ Effect = Call" وسيحفظ اللون الحالي حتى نتمكن من تسميته مرة أخرى ، ثم نجعل شريط LED أسودًا وننتظر حتى يحدث.

الآن سنقوم بجعل الصمام يتلاشى من الأسود إلى الأخضر ثم إلى الأسود مرة أخرى وأريد أن أفعل ذلك خمس مرات

بينما x <= 5: FadeTORGB (0، 255، 0) x + = 1 time.sleep (1) FadeTORGB (0، 0، 0) time.sleep (1) CanChangeColour = True time.sleep (2) FadeTORGB (RedBeforeEffect) ، BlueBeforeEffect ، GreenBeforeEffect)

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

الآن نحن فقط لإنشاء استجابة.

إرجاع ""

أيضا إعادة تشغيل لك التوت باي

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

موصى به: