Mundarija:

MQTT yordamida poezdda Wi -Fi nazorati modeli: 9 qadam
MQTT yordamida poezdda Wi -Fi nazorati modeli: 9 qadam

Video: MQTT yordamida poezdda Wi -Fi nazorati modeli: 9 qadam

Video: MQTT yordamida poezdda Wi -Fi nazorati modeli: 9 qadam
Video: ESP32 Tutorial 52 - WS2812 CheerLights MQTT Global Sync with LCD | SunFounder ESP32 IoT Learnig kit 2024, Noyabr
Anonim
MQTT yordamida poezd WiFi boshqaruvining modeli
MQTT yordamida poezd WiFi boshqaruvining modeli

Eski TT poezd model tizimiga ega bo'lgan holda, men lokomlarni individual boshqarish haqida tasavvurga ega bo'ldim.

Buni yodda tutib, men bir oz oldinga qadam tashladim va faqat poezdlarni boshqarish uchun emas, balki butun tartib haqida qo'shimcha ma'lumotga ega bo'lish va boshqa narsalarni (lampalar, temir yo'l kalitlari …) boshqarish uchun nima kerakligini aniqladim.

Shunday qilib, WiFi boshqariladigan poezd tizimi modeli tug'ildi.

1 -qadam: Operatsion prognozlari

Operatsion bashoratlari
Operatsion bashoratlari

Asosiy tamoyil - har bir elementni yakka boshqaruvchidan yoki bir nechta nazorat manbalaridan boshqarish. Bu tabiiy ravishda umumiy jismoniy qatlamga, aniqrog'i WiFi - va umumiy aloqa protokoli MQTTga muhtoj.

Markaziy element - MQTT Broker. Har bir ulangan qurilmaga (poezd, sensor, chiqish …) faqat Broker orqali muloqot qilish mumkin va faqat Brokerdan ma'lumot olish mumkin.

Qurilmalarning yuragi - ESP8266 asosidagi WiFi boshqaruvchisi, MQTT brokeri esa Raspberry pi bilan ishlaydi.

Avvaliga Wi -Fi tarmog'i Wi -Fi router tomonidan ta'minlanadi va hamma narsa simsiz ulanadi.

Qurilmalarning 4 turi mavjud:

- Poezd boshqaruvchisi: 2 ta raqamli kirish, 1 ta raqamli chiqish, 2 ta PWM chiqishi (2 ta alohida shahar motorini boshqarish uchun), Sensorni boshqaruvchi: 7 ta raqamli kirish (kirish kalitlari, optosensorlar uchun …), - Chiqish boshqaruvchisi: 8 ta raqamli chiqish (temir yo'l kalitlari uchun), - WiFi masofadan boshqarish pulti: 1 ta qo'shimcha kodlovchi, 1 ta raqamli kirish (poezdlarni masofadan boshqarish uchun).

Tizim, shuningdek, Node-Red-dan (planshet, kompyuter yoki smartfondan) ishlashga qodir.

2 -qadam: MQTT ma'lumotlar almashinuvi va konfiguratsiyasi

MQTT ma'lumotlar almashinuvi va konfiguratsiyasi
MQTT ma'lumotlar almashinuvi va konfiguratsiyasi

MQTT protokoliga ko'ra, dastlab har bir qurilma berilgan mavzuga obuna bo'ladi va boshqa mavzuga nashr qilishi mumkin. Bu poezdlarni boshqarish tarmog'ining aloqa asosidir.

Bu muloqot ertaklari JSON formatidagi xabarlar orqali joylashtiriladi, ular qisqa va odamlarga tushunarli bo'ladi.

Uzoqroq nuqtai nazardan qaraydigan bo'lsak: Tarmoqda o'z SSID (tarmoq nomi) va parolga ega WiFi router mavjud. WiFi tarmog'iga kirish uchun har bir qurilma bu 2 ni bilishi kerak. MQTT brokeri ham ushbu tarmoqning bir qismidir, shuning uchun MQTT protokolidan foydalanish uchun har bir qurilma brokerning IP -manzilini bilishi kerak. Va nihoyat, har bir qurilmada obuna bo'lish va xabarlarni nashr etish uchun o'z mavzusi bor.

Amalda, masofadan boshqarish pulti ushbu poezdga obuna bo'lgan xabarlarni nashr qilish uchun xuddi shu mavzudan foydalanadi.

3 -qadam: Poezd nazoratchisi

Poyezd boshqaruvchisi
Poyezd boshqaruvchisi

O'yinchoq poezdini boshqarish uchun bizga 3 ta narsa kerak bo'ladi: quvvat manbai, Wi -Fi bilan ishlaydigan boshqaruvchi va motorli haydovchi elektronikasi.

Quvvat manbai haqiqiy foydalanish rejasiga bog'liq: LEGO bo'lsa, bu Power Functions akkumulyator qutisi, agar "oldschool" TT yoki H0 poezdlari bo'lsa, bu yo'lning 12V quvvat manbai.

Wi -Fi yoqilgan boshqaruvchi - bu Wemos D1 mini (ESP8266 asosidagi) boshqaruvchisi.

Motor haydovchisi elektronikasi TB6612 asosidagi moduldir.

Poyezd boshqaruvchisi 2 ta yakka boshqariladigan PWM chiqishiga ega. O'tkir biri dvigatelni boshqarish uchun, ikkinchisi yorug'lik signalizatsiyasi uchun ishlatiladi. Tarmoqli kontaktga asoslangan sezish uchun 2 kirish va bitta raqamli chiqish mavjud.

Nazoratchi JSON xabarlarini WiFi va MQTT protokoli orqali qabul qiladi.

SPD1 dvigatelni boshqaradi, masalan: {"SPD1": -204} xabari dvigatelni 80% quvvat bilan orqaga siljitish uchun ishlatiladi (maksimal tezlik qiymati -255).

SPD2 "yo'nalishga sezgir" LED yorug'lik intensivligini boshqaradi: {"SPD2": -255} xabari (orqaga) LEDni to'liq quvvat bilan yoritadi.

OUT1 raqamli chiqish holatini boshqaradi: {"OUT1": 1} chiqishni yoqadi.

Agar kirish holati o'zgarsa, boshqaruvchi unga muvofiq xabar yuboradi: {"IN1": 1}

Agar nazoratchi to'g'ri xabar olsa, u uni bajaradi va brokerga fikr bildiradi. Qayta aloqa - bu aslida bajarilgan buyruq. Masalan: agar broker {"SPD1: 280}" ni yuborsa, u holda vosita to'liq quvvat bilan ishlaydi, lekin teskari aloqa xabari: "" SPD1 ": 255}

4 -qadam: LEGO poezd nazorati

LEGO poezd nazorati
LEGO poezd nazorati

LEGO poezdida sxemalar biroz boshqacha.

Quvvat to'g'ridan -to'g'ri batareya qutisidan keladi.

ESP8266 asosidagi Lolin kartasi uchun 3,5 V kuchlanishli mini -pastga konvertorga ehtiyoj bor.

Ulanishlar LEGO 8886 uzatuvchi sim bilan amalga oshiriladi, ikkiga bo'linadi.

5 -qadam: Masofadan boshqarish pulti

Masofadan boshqarish pulti
Masofadan boshqarish pulti

Tekshiruvchi faqat poezdga xabar yuboradi (BCD tugmasi bilan belgilanadi).

Enkoderni aylantirish orqali pult {"SPD1": "+"} yoki {"SPD1": "-"} xabarlarini yuboradi.

Poyezd bu "qo'shimcha turdagi" xabarni olganida, PWM chiqish qiymatini 51 yoki -51 ga o'zgartiradi.

Shunday qilib, masofadan boshqarish pulti tezligini 5 qadamda (har bir yo'nalishda) o'zgartirishi mumkin.

Kattalashtiruvchi kodlovchi bosilganda {"SPD1": 0} yuboriladi.

6 -qadam: Sensorni boshqaruvchi

Sensorni boshqaruvchi
Sensorni boshqaruvchi

Sensorni boshqarish moslamasi uning kirish holatini o'lchaydi va agar ulardan birortasi o'zgarsa, bu qiymatni e'lon qiladi.

Masalan: {"IN1": 0, "IN6": 1}, bu misolda 2 ta kirish bir vaqtning o'zida holatini o'zgartirdi.

7 -qadam: Chiqish boshqaruvchisi

Chiqish boshqaruvchisi
Chiqish boshqaruvchisi

Chiqish boshqaruvchisi ULN2803 asosidagi modulga ulangan 8 ta raqamli chiqishga ega.

U obuna bo'lgan mavzusi orqali xabar oladi.

Masalan, "OUT4": 1, "OUT7": 1} xabari 4. va 7. raqamli chiqishni yoqadi.

8 -qadam: Raspberry Pi va WiFi router

Menda ishlatilgan TP-Link WiFI router bor edi, shuning uchun men uni kirish nuqtasi sifatida ishlatardim.

MQTT brokeri - Mosquitto o'rnatilgan Raspberry Pi.

Men MQTT bilan standart Raspbian operatsion tizimidan foydalanaman:

sudo apt-get mosquitto mosquitto-clients python-mosquitto

TP-Link yo'riqnoma Raspberry uchun manzilni bron qilish uchun tuzilgan bo'lishi kerak, shuning uchun har bir qayta ishga tushirilgandan so'ng, Pi bir xil IP-manzilga ega va har bir qurilma unga ulanishi mumkin.

Va bu hammasi!

9 -qadam: tugagan nazoratchilar

Tayyor nazoratchilar
Tayyor nazoratchilar
Tayyor nazoratchilar
Tayyor nazoratchilar

Mana, tugagan nazoratchilar.

TT o'lchovli loko shunchalik kichik o'lchamga ega ediki, Lolin taxtasi poezdga sig'adigan darajada kichik bo'lishi uchun uni toraytirish (kesish) kerak edi.

Tuzilgan ikkilik fayllarni yuklab olish mumkin. Xavfsizlik nuqtai nazaridan, axlat qutisi txt ga o'zgartirildi.

Tavsiya: