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

ونش تحكم Art-Net: 6 خطوات
ونش تحكم Art-Net: 6 خطوات

فيديو: ونش تحكم Art-Net: 6 خطوات

فيديو: ونش تحكم Art-Net: 6 خطوات
فيديو: الدبلومة الاحترافية في برمجة المواقع باستخدام asp.net 6 2024, يونيو
Anonim
ونش تحكم Art-Net
ونش تحكم Art-Net

مرحبًا بالجميع ، في هذه التعليمات ، سأشرح كيف أنشأت مرفاعًا متحكمًا بشبكة فنية. "ما بك؟" أسمعك تسأل ، حسناً دعني أشرح بسرعة كبيرة. قبل بضع سنوات ، أقمنا حفلة مع بيت الشباب المحلي ، وكتصميم مسرح ، كانت لدينا فكرة صنع سقف متحرك.

باستخدام 9 أونصات (takels) ، قمنا برفع قطعة قماش بيضاء عملاقة ومن خلال بروتوكول dmx قمنا بالتحكم فيها. ولكن في ذلك الوقت ، استخدمنا الرافعات حيث يتم التحكم في 3 مراحل. لذلك لجعلها ترتفع وتنخفض ، كان علينا إنشاء نظام ريلايس يتم التحكم فيه بواسطة Arduino mega المركزي الذي تم التحكم فيه باستخدام dmx. ريلايس حيث تبديل الفولتية 230 فولت و 12 أمبير.

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

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

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

أفترض أن لديك معرفة أساسية بـ python و arduino و raspberry pi aswel كفهم شيء عن بروتوكول art-net ووحدات التحكم.

اللوازم

ماذا ستحتاج:

  • فطيرة التوت
  • اردوينو
  • درع اردوينو إيثرنت
  • درع محرك اردوينو
  • أي شاشة OLED
  • كابل إيثرنت
  • تبديل اثرنت
  • محرك DC مع جهاز تشفير مبني عليه

الخطوة 1: إعداد Raspberry Pi

حسنًا ، الطريقة التي سيعمل بها هذا هو أن raspberry pi سيشغل Apache وخادم MariaDB. خادم اباتشي هو استضافة الموقع ، MariaDB هو الاحتفاظ بقاعدة بيانات حيث سنخزن بيانات الرافعات.

لن أطلعك على العمليات الكاملة لإعداد pi مع ssh ، إذا لم تكن مألوفًا إليك ، فإليك برنامجًا تعليميًا جيدًا.

لذلك سنتأكد أولاً من أن raspberry pi قد تم إعداده بالكامل ، في تشغيل المحطة:

لتثبيت اباتشي

sudo apt تثبيت apache2 -y

لتثبيت mariaDB

sudo apt-get install mariadb-server

هذه هي جميع امتدادات Python التي سنحتاجها

pip3 تثبيت mysql- موصل- بيثون

pip3 تثبيت flask-socketio pip3 تثبيت flask-cors pip3 تثبيت gevent pip3 تثبيت gevent-websocket pip3 تثبيت netifaces

بالنسبة لشاشة oled ، نحتاج إلى عملية إعداد أكثر صعوبة يمكن العثور عليها هنا.

حسنًا ، هذا هو كل شيء تم القيام به!

الخطوة 2: فهم كيفية عمل الإعداد

إذن ، كيف تريد إعداد الرافعة عن طريق إعطائها موضع بداية وموضع نهاية. سيتم تعيين قناة معينة لها وبهذه القناة ستتمكن فقط من التنقل بين الحالة المختارة والموضع النهائي.

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

يتم حساب الموضع من خلال المشفر الموجود على محرك التيار المستمر.

الخطوة 3: Backend of the Pi

الواجهة الخلفية لـ Pi
الواجهة الخلفية لـ Pi

يمكن العثور على الواجهة الخلفية للنظام على جيثب الخاص بي. لقد كتبت مكتبتي الخاصة لبروتوكول art-net لذا لا تتردد في استخدامها. لن أطلعك على كل شيء سطراً بسطر ، لكنني سأقدم لك الصورة الكبيرة لكل شيء.

يقوم الكود بتشغيل خادم قارورة يتصل بخادم اباتشي الذي يعمل على باي. يستخدم وحدة flask-socketio لإرسال واستقبال البيانات إلى الواجهة الأمامية. يستخدم art-net lib وحدة المقبس من python لإرسال حزم UDP من وإلى arduino.

كل طريقة تبدأ بـ @ socketio.on ('F2B _ ***') تنتظر مكالمة F2B من الواجهة الأمامية. بمجرد استلامه ، سيتم تنفيذ الإجراء وفقًا لذلك. سواء كان ذلك إرسال كوماندوز artnet أو الحصول على بيانات من قاعدة البيانات وإرسالها مرة أخرى إلى المقدمة.

تُستخدم طريقة oled_show_info () لعرض عنوان IP الخاص بـ IP (كلاهما على واجهات wlan و ethernet).

لذا فقط قم بتشغيل الكود باستخدام

python3 app.py

الخطوة 4: الواجهة الأمامية لـ Pi

الواجهة الأمامية لـ Pi
الواجهة الأمامية لـ Pi

لتتمكن من تحرير الواجهة الأمامية لـ pi ، ستحتاج أولاً إلى منح نفسك إمكانية الوصول إلى الدليل / var / www / html /. هذا هو المكان الذي تحصل فيه apache على ملفاتها لعرضها على موقعها على الويب. للحصول على إمكانية الوصول ، قم بتنفيذ ما يلي:

sudo chmod 777 / var / www / html /

الآن كل هذا ، احصل على الكود الخاص بالواجهة الأمامية لـ github الخاص بي وضعه في الدليل / var / www / html /.

تستخدم الواجهة الأمامية نفس مبدأ الواجهة الخلفية ولكنها الآن ترسل أوامر F2B _ *** عند الضغط على زر أو تحريك شريط التمرير.

وهذا هو الواجهة الأمامية!

الخطوة 5: الأردوينو

اردوينو
اردوينو
اردوينو
اردوينو
اردوينو
اردوينو

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

يمكن أيضًا العثور على رمز اردوينو على جيثب الخاص بي. قم بتحميل ملف artnet_winch.ino ويجب أن يكون كل شيء جيدًا.

تأكد من تحديد المسامير الصحيحة للمسامير الصحيحة لمحركك. يتم اختيار دبابيس درع المحرك مع دبابيس الرأس الموجودة أعلى الدرع. يتم اختيار هذه المسامير تحت // --- تكوين المحرك. Aswel مثل دبابيس التشفير التي يجب توصيلها بالمسامير اليمنى لاردوينو.

تأكد أيضًا من صحة عنوان MAC الخاص بالدرع. يمكن العثور على هذا على ملصق أسفل الدرع وتحريره في متغير MAC. يجب أن يكون عنوان IP الذي تستخدمه لـ pi في نفس النطاق مثل PI ، ويمكن العثور عليه عادةً على شاشة oled.

يبدو الرمز كثيرًا ولكن ليس من الصعب فهمه. بشكل أساسي ، يقرأ درع Ethernet باستمرار حزم udp الواردة. إذا كانت هذه الحزمة عبارة عن حزمة Artnet ، فإنها تقوم بفك تشفيرها والحصول على المعلومات التي تحتاجها منها. يتم وصف حزم artnet المختلفة بشكل جيد على موقع Art-Net على الويب ، لذلك إذا كنت مهتمًا يمكنك قراءة ما يفعلونه جميعًا.

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

إذا استقبلت حزمة ArtDMX ، فسوف تقوم بفك تشفير الحزمة واستخدام البيانات المعطاة لتنفيذ أوامر إعداد معينة أو تحريك الرافعة في الموضع.

تقوم وظيفة move_takel بتحويل قيمة DMX المحددة (بين 0-255) إلى موضع بين موضع البداية والنهاية (يمثل 0 نقطة النهاية و 255 نقطة البداية). إذا كان موضع المشفر لا يساوي القيمة المحولة ، فسوف تتحرك الرافعة لأعلى / لأسفل حسب مكان وجودك.

كنت أعمل على حلقة تغذية مرتدة بين PI و arduino حتى يتمكن من مواكبة موقعه ولكن نفاد ذاكرة اردوينو لدي لتخزين البرنامج:).

تصاعد كل شيء

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

الخطوة 6: توصيل كل شيء

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

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

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

تأكد من توصيل وحدة التحكم الخاصة بك أيضًا بالدرع وأن عنوان IP الخاص به يقع في نطاق PI و arduino.

هذا كل شيء!

موصى به: