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

نموذج تدريب WiFi Control باستخدام MQTT: 9 خطوات
نموذج تدريب WiFi Control باستخدام MQTT: 9 خطوات

فيديو: نموذج تدريب WiFi Control باستخدام MQTT: 9 خطوات

فيديو: نموذج تدريب WiFi Control باستخدام MQTT: 9 خطوات
فيديو: 1 6 Using AWS for Computer Vision with AWS DeepLens and AWS Lambda 2024, ديسمبر
Anonim
نموذج تدريب WiFi Control باستخدام MQTT
نموذج تدريب WiFi Control باستخدام MQTT

بوجود نظام نموذج قطار قديم على نطاق TT ، كانت لدي فكرة عن كيفية التحكم في المواقع بشكل فردي.

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

هذه هي الطريقة التي يولد بها نظام القطار النموذجي الذي يتم التحكم فيه بواسطة WiFi.

الخطوة 1: مبادئ التشغيل

توقعات العملية
توقعات العملية

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

العنصر المركزي هو وسيط MQTT. يُسمح لكل جهاز متصل (قطار ، جهاز استشعار ، مخرج …) بالاتصال فقط من خلال الوسيط ويمكنه فقط تلقي البيانات من الوسيط.

قلب الأجهزة عبارة عن وحدة تحكم WiFi قائمة على ESP8266 ، بينما يعمل وسيط MQTT على Raspberry pi.

في البداية ، يتم توفير تغطية Wifi بواسطة جهاز توجيه WiFi ، ويتم توصيل كل شيء عبر شبكة لاسلكية.

هناك 4 أنواع من الأجهزة:

- جهاز التحكم في القطار: يحتوي على مدخلين رقميين ، ومخرج رقمي واحد ، ومخرجات PWM (للتحكم في محركي DC فرديين) ،

- جهاز التحكم في المستشعر: يحتوي على 7 مداخل رقمية (لمفاتيح الإدخال ، وأجهزة الاستشعار الضوئية …) ،

- جهاز التحكم في الإخراج: يحتوي على 8 مخارج رقمية (لمفاتيح السكك الحديدية …) ،

- جهاز تحكم عن بعد لشبكة WiFi: يحتوي على إدخال تشفير إضافي واحد ، ومدخل رقمي واحد (للتحكم في القطارات عن بُعد).

النظام قادر أيضًا على العمل من Node-Red (من الكمبيوتر اللوحي أو الكمبيوتر الشخصي أو الهاتف الذكي …).

الخطوة 2: تبادل البيانات وتكوين MQTT

تبادل البيانات والتكوين MQTT
تبادل البيانات والتكوين MQTT

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

يتم وضع حكايات الاتصال هذه من خلال رسائل بتنسيق JSON ، لتكون قصيرة وقابلة للقراءة.

النظر من منظور أبعد: تحتوي الشبكة على موجه WiFi مع SSID (اسم الشبكة) وكلمة مرور. يجب أن يعرف كل جهاز هذين الجهازين للوصول إلى شبكة WiFi. يعتبر وسيط MQTT جزءًا من هذه الشبكة أيضًا ، لذلك من أجل استخدام بروتوكول MQTT ، يجب أن يعرف كل جهاز عنوان IP الخاص بالوسيط. وأخيرًا ، لكل جهاز موضوعه الخاص للاشتراك ونشر الرسائل.

عمليًا ، يستخدم جهاز التحكم عن بعد نفس الموضوع لنشر الرسائل التي تم الاشتراك في قطار معين.

الخطوة 3: جهاز التحكم في القطار

تحكم القطار
تحكم القطار

من أجل التحكم في قطار لعبة ، نحتاج أساسًا إلى 3 أشياء: مصدر طاقة ، ووحدة تحكم مزودة بتقنية WiFi ، وإلكترونيات لسائق المحرك.

يعتمد مصدر الطاقة على خطة الاستخدام الفعلية: في حالة LEGO ، هذا هو صندوق بطارية Power Functions ، في حالة مجموعة قطار مقياس TT أو H0 "oldschool" ، فهو مزود طاقة المسار 12 فولت.

وحدة التحكم التي تدعم WiFi هي وحدة تحكم Wemos D1 mini (ESP8266).

إلكترونيات محرك المحرك هي وحدة قائمة على TB6612.

جهاز التحكم في القطار لديه 2 مخرجات PWM يتم التحكم فيها بشكل فردي. يستخدم أحدهما بشكل حاد للتحكم في المحرك والآخر يستخدم للإشارات الضوئية. يحتوي على 2 inpus للاستشعار القائم على اتصال القصب ومخرج رقمي واحد.

تقبل وحدة التحكم رسائل JSON عبر بروتوكول WiFi و MQTT.

يتحكم SPD1 في المحرك ، على سبيل المثال: {"SPD1": -204} تُستخدم رسالة لتحريك المحرك للخلف بقوة 80٪ (قيمة السرعة القصوى هي -255).

يتحكم SPD2 في شدة ضوء LED "الحساسة للاتجاه": {"SPD2": -255} تجعل رسالة LED (الخلفية) تلمع بكامل طاقتها.

يتحكم OUT1 في حالة الإخراج الرقمي: {"OUT1": 1} يقوم بتشغيل الإخراج.

إذا تغيرت حالة الإدخال ، ترسل وحدة التحكم رسالة وفقًا لذلك: {"IN1": 1}

إذا تلقت وحدة التحكم رسالة صالحة ، فإنها تنفذها وتقدم ملاحظات إلى الوسيط. التغذية الراجعة هي الأمر الذي تم تنفيذه بالفعل. على سبيل المثال: إذا أرسل الوسيط {"SPD1": 280} فإن المحرك يعمل بكامل طاقته ولكن رسالة الملاحظات ستكون: {"SPD1": 255}

الخطوة 4: LEGO Train Control

التحكم في قطار LEGO
التحكم في قطار LEGO

في حالة قطار LEGO ، تختلف المخططات قليلاً.

تأتي الطاقة مباشرة من صندوق البطارية.

هناك حاجة لمحول تنحي صغير لتوفير 3.5 فولت للوحة Lolin القائمة على ESP8266.

يتم إجراء التوصيلات بسلك تمديد LEGO 8886 ، مقطوع إلى نصفين.

الخطوة 5: جهاز التحكم عن بعد

جهاز التحكم
جهاز التحكم

تنشر وحدة التحكم الرسائل فقط إلى القطار (المحدد بواسطة مفتاح BCD).

من خلال تدوير وحدة التشفير ، يرسل جهاز التحكم عن بُعد إما رسائل {"SPD1": "+"} أو {"SPD1": "-"}.

عندما يتلقى القطار رسالة "النوع التزايدي" ، فإنه يغير قيمة خرج PWM بمقدار 51 أو -51.

بهذه الطريقة يمكن لجهاز التحكم عن بعد تغيير سرعة القطار في 5 خطوات (كل اتجاه).

سيؤدي الضغط على وحدة التشفير التزايدية إلى إرسال {"SPD1": 0}.

الخطوة 6: وحدة التحكم في المستشعر

جهاز التحكم في المستشعر
جهاز التحكم في المستشعر

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

على سبيل المثال: {"IN1": 0 ، "IN6": 1} في هذا المثال تم تغيير حالة إدخالين في نفس الوقت.

الخطوة 7: وحدة تحكم الإخراج

تحكم الإخراج
تحكم الإخراج

يحتوي جهاز التحكم في الإخراج على 8 مخرجات رقمية ، متصلة بوحدة نمطية قائمة على ULN2803.

يتلقى الرسائل من خلال موضوعه المشترك.

على سبيل المثال ، رسالة {"OUT4": 1 ، "OUT7": 1} تقوم بتشغيل 4. و 7. الإخراج الرقمي.

الخطوة 8: Raspberry Pi و WiFi Router

كان لدي جهاز توجيه TP-Link WiFI مستخدم ، لذلك استخدمت هذا كنقطة وصول.

وسيط MQTT هو Raspberry Pi مثبت عليه Mosquitto.

أستخدم نظام التشغيل Raspbian القياسي مع MQTT مع:

sudo apt-get install mosquitto mosquitto-clients-python-mosquitto تثبيت

يجب تكوين جهاز التوجيه TP-Link ليحصل على حجز عنوان لـ Raspberry ، لذلك بعد كل إعادة تشغيل ، يكون لـ Pi نفس عنوان IP ويمكن لكل جهاز الاتصال به.

وهذا كل شيء!

الخطوة 9: وحدات التحكم النهائية

وحدات تحكم منتهية
وحدات تحكم منتهية
وحدات تحكم منتهية
وحدات تحكم منتهية

ها هي وحدات التحكم النهائية.

مقياس TT loko له حجم صغير لدرجة أنه كان لابد من تضييق (قطع) لوحة Lolin لتكون صغيرة بما يكفي لتناسب القطار.

يمكن تنزيل الثنائيات المترجمة. لأسباب أمنية ، تم استبدال ملحق bin إلى txt.

موصى به: