فهرست مطالب:
- مرحله 1: پیش بینی های عملیات
- مرحله 2: تبادل داده و پیکربندی MQTT
- مرحله 3: آموزش کنترل کننده
- مرحله 4: LEGO Train Control
- مرحله 5: کنترل از راه دور
- مرحله 6: کنترل کننده سنسور
- مرحله 7: کنترل کننده خروجی
- مرحله 8: Raspberry Pi و WiFi Router
- مرحله 9: کنترلرهای تمام شده
تصویری: مدل کنترل قطار WiFi با استفاده از MQTT: 9 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
با داشتن یک سیستم مدل قطار مقیاس TT قدیمی ، من ایده ای داشتم که چگونه لوکوها را به صورت جداگانه کنترل کنم.
با این اوصاف ، من یک قدم جلوتر رفتم و فهمیدم که نه تنها برای کنترل قطارها بلکه برای داشتن اطلاعات اضافی در مورد کل طرح و کنترل چیزهای دیگر (لامپ ها ، کلیدهای راه آهن …) نیاز است.
به این ترتیب سیستم قطار مدل کنترل شده WiFi متولد می شود.
مرحله 1: پیش بینی های عملیات
اصل اصلی این است که هر عنصر را به صورت جداگانه کنترل کنید ، یا از یک کنترلر واحد ، یا از منابع کنترل متعدد. این به طور ذاتی به یک لایه فیزیکی مشترک - به وضوح WiFi - و یک پروتکل ارتباطی مشترک ، MQTT نیاز دارد.
عنصر اصلی کارگزار MQTT است. هر دستگاه متصل (قطار ، سنسور ، خروجی …) فقط مجاز است از طریق بروکر ارتباط برقرار کند و فقط می تواند داده ها را از بروکر دریافت کند.
قلب دستگاه ها یک کنترل کننده WiFi مبتنی بر ESP8266 است ، در حالی که کارگزار MQTT با Raspberry pi کار می کند.
در ابتدا پوشش Wifi توسط روتر WiFi ارائه می شود و همه چیز از طریق وایرلس متصل می شود.
4 نوع دستگاه وجود دارد:
- کنترل کننده قطار: دارای 2 ورودی دیجیتال ، 1 خروجی دیجیتال ، 2 خروجی PWM (برای کنترل 2 موتور DC جداگانه) ،
- کنترل سنسور: دارای 7 ورودی دیجیتال (برای کلیدهای ورودی ، حسگرهای نوری …) ،
- کنترل کننده خروجی: دارای 8 خروجی دیجیتال (برای سوئیچ های راه آهن …) ،
- ریموت WiFi: دارای 1 ورودی رمزگذار افزایشی ، 1 ورودی دیجیتال (برای کنترل قطارها از راه دور).
این سیستم همچنین می تواند از Node-Red (از رایانه لوحی ، رایانه یا تلفن هوشمند) کار کند.
مرحله 2: تبادل داده و پیکربندی MQTT
بر اساس پروتکل MQTT ، در ابتدا هر دستگاه در یک موضوع خاص مشترک می شود و می تواند در یک موضوع دیگر منتشر کند. این اساس ارتباطات شبکه کنترل قطار است.
این قصه های ارتباطی از طریق پیام های فرمت JSON قرار می گیرد ، کوتاه و قابل خواندن برای انسان است.
از منظر دورتر: شبکه دارای یک روتر WiFi با SSID (نام شبکه) و رمز عبور خود است. هر دستگاهی برای دسترسی به شبکه WiFi باید این 2 مورد را بشناسد. کارگزار MQTT نیز بخشی از این شبکه است ، بنابراین برای استفاده از پروتکل MQTT هر دستگاهی باید آدرس IP کارگزار را بداند. و در نهایت هر دستگاه موضوع مشترک خود را برای اشتراک و انتشار پیام ها دارد.
عملاً ، یک کنترل از راه دور از همان موضوع برای انتشار پیامهایی استفاده می کند که یک قطار مشخص در آن مشترک است.
مرحله 3: آموزش کنترل کننده
به منظور کنترل یک قطار اسباب بازی ، ما اساساً به 3 چیز نیاز داریم: منبع تغذیه ، کنترلر WiFi ، و وسایل الکترونیکی درایور موتور.
منبع تغذیه به برنامه مصرف واقعی بستگی دارد: در مورد LEGO ، این جعبه باتری Power Functions است ، در مورد مجموعه قطار مقیاس TT یا H0 "oldschool" ، منبع تغذیه پیست 12 ولت است.
کنترلر WiFi دارای کنترلر Wemos D1 mini (مبتنی بر ESP8266) است.
قطعات الکترونیکی درایور موتور یک ماژول مبتنی بر TB6612 است.
کنترلر قطار دارای 2 خروجی PWM به صورت جداگانه است. به طور همزمان یکی برای کنترل موتور و دیگری برای سیگنالینگ نور استفاده می شود. دارای 2 ورودی برای تشخیص مبتنی بر تماس نی و یک خروجی دیجیتال.
کنترل کننده پیام های 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 ، شماتیک کمی متفاوت است.
منبع تغذیه مستقیماً از جعبه باتری تامین می شود.
برای تهیه 3.5 ولت برای برد لولین مبتنی بر ESP8266 نیاز به یک مبدل کوچک به پایین است.
اتصالات با یک سیم گسترش LEGO 8886 ، به نصف انجام می شود.
مرحله 5: کنترل از راه دور
کنترل کننده فقط پیام هایی را برای قطار منتشر می کند (که توسط سوئیچ BCD تعریف شده است).
با چرخاندن رمزگذار ، کنترل از راه دور پیام های {"SPD1": "+"} یا {"SPD1": "-"} را ارسال می کند.
وقتی قطار این پیام "نوع افزایشی" را دریافت می کند ، مقدار خروجی PWM خود را 51 یا 51 تغییر می دهد.
به این ترتیب ریموت می تواند سرعت قطار را در 5 مرحله (هر جهت) تغییر دهد.
با فشار دادن رمزگذار افزایشی ، {"SPD1": 0} ارسال می شود.
مرحله 6: کنترل کننده سنسور
به اصطلاح کنترل کننده حسگر ، وضعیت ورودی های آن را اندازه گیری می کند و در صورت تغییر هر کدام ، این مقدار را منتشر می کند.
به عنوان مثال: {"IN1": 0 ، "IN6": 1} در این مثال 2 ورودی حالت را به طور همزمان تغییر دادند.
مرحله 7: کنترل کننده خروجی
کنترل کننده خروجی دارای 8 خروجی دیجیتال است که به یک ماژول مبتنی بر ULN2803 متصل هستند.
پیامها را از طریق موضوع مشترک خود دریافت می کند.
به عنوان مثال پیام {"OUT4": 1 ، "OUT7": 1} خروجی دیجیتال 4. و 7. را روشن کنید.
مرحله 8: Raspberry Pi و WiFi Router
من از روتر WiFI TP-Link استفاده می کردم ، بنابراین از آن به عنوان نقطه دسترسی استفاده کردم.
کارگزار MQTT رزبری پای است که Mosquitto روی آن نصب شده است.
من از سیستم عامل استاندارد Raspbian با MQTT استفاده می کنم که شامل موارد زیر است:
sudo apt-get نصب mosquitto mosquitto-client python-mosquitto
روتر TP-Link باید طوری تنظیم شده باشد که رزرو رزرو آدرس را داشته باشد ، بنابراین پس از هر بار راه اندازی مجدد Pi آدرس IP یکسانی دارد و هر دستگاهی می تواند به آن متصل شود.
و بس!
مرحله 9: کنترلرهای تمام شده
در اینجا کنترلرهای به پایان رسیده است.
لوکو مقیاس TT دارای اندازه کوچکی است به طوری که یک تخته لولین باید باریک (بریده) شود تا به اندازه کافی کوچک در قطار باشد.
فایلهای باینری کامپایل شده قابل بارگیری هستند. به دلایل امنیتی ، گسترش سطل زباله به txt جایگزین شد.
توصیه شده:
هک شد! سرو موتور به عنوان مدل راننده قطار!: 17 مرحله
هک شد! سرو موتور به عنوان راننده قطار نمونه!: شروع به کار در راه آهن های نمونه؟ آیا بودجه کافی برای خرید تمام این کنترلرهای گران قیمت قطار ندارید؟ نگران نباش! در این مقاله آموزشی ، من به شما نشان خواهم داد که چگونه می توانید با هک کردن سروو موتور ، کنترلر قطار کم هزینه خود را بسازید. بنابراین ، اجازه دهید
مدل خودکار طرح راه آهن در حال اجرا دو قطار (V2.0) - مبتنی بر آردوینو: 15 مرحله (همراه با تصاویر)
مدل خودکار طرح راه آهن در حال اجرا دو قطار (V2.0) | مبتنی بر آردوینو: خودکار طرح بندی راه آهن با استفاده از میکروکنترلرهای آردوینو راهی عالی برای ادغام میکروکنترلرها ، برنامه نویسی و مدل راه آهن در یک سرگرمی است. مجموعه ای از پروژه های موجود برای راه اندازی قطار به صورت خودکار در مدل راه آهن موجود است
طرح صفحه قطار مدل خود را با صفحه کلید خود کنترل کنید!: 12 مرحله
با صفحه کلید خود طرح مدل قطار خود را کنترل کنید! همچنین می توانید نسخه ارتقا یافته را در اینجا مشاهده کنید. در این دستورالعمل ، من به شما نشان می دهم که چگونه می توانید یک طرح قطار مدل را با استفاده از صفحه کلید کنترل کنید
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
کنترل کننده قطار مدل آردوینو 2 در 1: 4 مرحله
Arduino 2-in-1 Model Train Controller: چهل سال پیش ، من یک دریچه گاز مدل قطار بر اساس op-amp را برای چند دوست طراحی کردم ، و سپس حدود چهار سال پیش آن را با استفاده از میکروکنترلر PIC بازسازی کردم. این پروژه آردوینو نسخه PIC را بازسازی می کند اما قابلیت استفاده از