Mündəricat:

MQTT istifadə edərək Model Train WiFi İdarəetmə: 9 Addım
MQTT istifadə edərək Model Train WiFi İdarəetmə: 9 Addım

Video: MQTT istifadə edərək Model Train WiFi İdarəetmə: 9 Addım

Video: MQTT istifadə edərək Model Train WiFi İdarəetmə: 9 Addım
Video: Ethernet və wi-fi ilə Dingtian DT-R008 çoxkanallı ağıllı rele - ümumi baxış və Home Assistant 2024, Noyabr
Anonim
MQTT -dən istifadə edərək Qatar WiFi İdarəetmə Modeli
MQTT -dən istifadə edərək Qatar WiFi İdarəetmə Modeli

Köhnə TT miqyaslı qatar model sisteminə malik olduğum üçün lokosları fərdi olaraq necə idarə edəcəyimi bilirdim.

Bunu nəzərə alaraq bir az irəli getdim və yalnız qatarları idarə etmək üçün deyil, bütün plan haqqında əlavə məlumatlara sahib olmaq və başqa bir şeyi (lampalar, dəmir yolu açarları …) idarə etmək üçün nəyin lazım olduğunu anladım.

WiFi idarə olunan model qatar sistemi belə yaranır.

Addım 1: Əməliyyat Proqnozları

Əməliyyat Proqnozları
Əməliyyat Proqnozları

Əsas prinsip, hər bir elementi tək bir nəzarətçidən və ya birdən çox nəzarət mənbəyindən idarə etməkdir. Bunun mahiyyətcə ümumi bir fiziki təbəqəyə - ən açıq şəkildə WiFi - və ortaq bir ünsiyyət protokoluna, MQTT ehtiyacı var.

Mərkəzi element MQTT Brokeridir. Hər bir bağlı qurğunun (qatar, sensor, çıxış …) yalnız Broker vasitəsilə ünsiyyət qurmasına icazə verilir və yalnız Brokerdən məlumat ala bilər.

Cihazların ürəyi ESP8266 əsaslı WiFi nəzarətçisidir, MQTT broker isə Raspberry pi üzərində işləyir.

Əvvəlcə Wifi əhatə dairəsi WiFi yönləndiricisi tərəfindən təmin edilir və hər şey simsiz şəbəkəyə qoşulur.

4 növ cihaz var:

- Qatar nəzarətçisi: 2 rəqəmsal giriş, 1 rəqəmsal çıxış, 2 PWM çıxışı (2 fərdi DC motorunu idarə etmək üçün), - Sensor nəzarətçi: 7 rəqəmsal girişə malikdir (giriş açarları, optosensorlar üçün …), - Çıxış nəzarətçisi: 8 rəqəmsal çıxışa malikdir (dəmir yolu açarları üçün …), - WiFi uzaqdan: 1 artımlı kodlayıcı girişi, 1 rəqəmsal giriş (qatarları uzaqdan idarə etmək üçün) var.

Sistem həmçinin Node-Red-dən (planşetdən, kompüterdən və ya ağıllı telefondan …) işləməyə qadirdir.

Addım 2: MQTT Məlumat Mübadiləsi və Konfiqurasiya

MQTT Məlumat Mübadiləsi və Konfiqurasiya
MQTT Məlumat Mübadiləsi və Konfiqurasiya

MQTT protokoluna əsasən, əvvəlcə hər bir cihaz müəyyən bir mövzuya abunə olur və başqa bir mövzuda yayımlaya bilər. Bu, qatar idarəetmə şəbəkəsinin ünsiyyətinin əsasını təşkil edir.

Bu ünsiyyət nağılları qısa və insan tərəfindən oxunaqlı olması üçün JSON formatlı mesajlar vasitəsilə yerləşdirilir.

Daha uzaqdan baxanda: Şəbəkənin öz SSID (şəbəkə adı) və şifrəsi olan WiFi yönləndiricisi var. WiFi şəbəkəsinə daxil olmaq üçün hər bir cihaz bu 2 -ni bilməlidir. MQTT brokeri də bu şəbəkənin bir hissəsidir, buna görə MQTT protokolundan istifadə etmək üçün hər bir cihaz brokerin IP ünvanını bilməlidir. Və nəhayət, hər cihazın abunə olmaq və mesajları dərc etmək üçün öz mövzusu var.

Praktiki olaraq, müəyyən bir uzaqdan idarəetmə, müəyyən bir qatarın abunə olduğu mesajları dərc etmək üçün eyni mövzudan istifadə edir.

Addım 3: Qatar Nəzarətçisi

Qatar Nəzarətçisi
Qatar Nəzarətçisi

Oyuncaq qatarını idarə etmək üçün əsasən 3 şeyə ehtiyacımız var: enerji təchizatı, WiFi ilə işləyən nəzarətçi və motor sürücüsü elektronikası.

Enerji təchizatı faktiki istifadə planından asılıdır: LEGO vəziyyətində bu, Power Functions batareya qutusudur, "oldschool" TT və ya H0 miqyaslı qatar dəsti halında, trasın 12V enerji təchizatıdır.

WiFi effektiv nəzarətçi Wemos D1 mini (ESP8266 əsaslı) nəzarətçisidir.

Motor sürücüsü elektronikası, TB6612 əsaslı bir moduldur.

Qatar nəzarətçisinin 2 fərdi idarə olunan PWM çıxışı var. Kəskin olaraq biri motor nəzarətində, digəri isə işıq siqnalında istifadə olunur. Reed təmas əsaslı algılama və bir rəqəmsal çıxış üçün 2 girişə malikdir.

Nəzarətçi JSON mesajlarını WiFi və MQTT protokolu ilə qəbul edir.

SPD1 mühərriki idarə edir, məsələn: {"SPD1": -204} mesajı mühərriki 80% gücündə geri çəkmək üçün istifadə olunur (maksimum sürət dəyəri -255).

SPD2 "istiqamətə həssas" LED işığının intensivliyinə nəzarət edir: {"SPD2": -255} mesajı (geriyə) LED -in tam gücündə parlamasını təmin edir.

OUT1 rəqəmsal çıxış vəziyyətini idarə edir: {"OUT1": 1} çıxışı açır.

Girişin vəziyyəti dəyişərsə, nəzarətçi ona uyğun olaraq bir mesaj göndərir: {"IN1": 1}

Nəzarətçi etibarlı bir mesaj alırsa, onu icra edir və brokerə rəy verir. Geribildirim əslində icra olunan bir əmrdir. Məsələn: broker {"SPD1": 280} göndərirsə, o zaman motor tam gücü ilə işləyir, lakin geribildirim mesajı belə olacaq: {"SPD1": 255}

Addım 4: LEGO Train Control

LEGO Train Control
LEGO Train Control

LEGO qatarına gəldikdə, sxemlər bir az fərqlidir.

Güc birbaşa batareya qutusundan gəlir.

ESP8266 əsaslı Lolin lövhəsi üçün 3.5V təmin etmək üçün aşağıya doğru çeviriciyə ehtiyac var.

Bağlantılar yarıya bölünmüş LEGO 8886 uzatma teli ilə aparılır.

Addım 5: Uzaqdan Nəzarətçi

Uzaqdan Nəzarətçi
Uzaqdan Nəzarətçi

Nəzarətçi yalnız qatara mesaj göndərir (BCD açarı ilə təyin olunur).

Enkoderi döndərərək pult ya "{" SPD1 ":"+"} ya da {" SPD1 ":"-"} mesajları göndərir.

Qatar bu "artımlı tip" mesajını aldıqda, PWM çıxış dəyərini 51 və ya -51 dəyişir.

Bu yolla pult 5 addımda (hər istiqamətdə) qatarın sürətini dəyişə bilər.

Artımlı kodlayıcıya basaraq {"SPD1": 0} göndəriləcək.

Addım 6: Sensor Nəzarətçisi

Sensor nəzarətçisi
Sensor nəzarətçisi

Sözdə olan sensor nəzarətçi girişlərinin vəziyyətini ölçür və onlardan hər hansı biri dəyişərsə, bu dəyəri dərc edir.

Məsələn: {"IN1": 0, "IN6": 1} bu nümunədə 2 giriş eyni anda vəziyyəti dəyişdi.

Addım 7: Çıxış Nəzarətçisi

Çıxış Nəzarətçisi
Çıxış Nəzarətçisi

Çıxış nəzarətçisinin ULN2803 əsaslı bir modula qoşulmuş 8 rəqəmsal çıxışı var.

Abunə olduğu mövzu vasitəsilə mesajlar alır.

Məsələn, {"OUT4": 1, "OUT7": 1} mesajı 4. və 7. rəqəmsal çıxışı yandırır.

Addım 8: Raspberry Pi və WiFi Router

İstifadə edilmiş TP-Link WiFI yönləndiricim var idi, buna görə də onu giriş nöqtəsi kimi istifadə etdim.

MQTT broker, Mosquitto quraşdırılmış bir Raspberry Pi -dir.

MQTT ilə birlikdə standart Raspbian OS istifadə edirəm:

sudo apt-get mosquitto mosquitto-client python-mosquitto qurun

TP-Link marşrutlaşdırıcısı Raspberry üçün bir ünvan rezervinə sahib olmaq üçün konfiqurasiya edilməlidir, buna görə də hər yenidən başladıqdan sonra Pi eyni IP ünvanına malikdir və hər bir cihaz ona qoşula bilər.

Və bu qədər!

Addım 9: Bitmiş nəzarətçilər

Bitmiş nəzarətçilər
Bitmiş nəzarətçilər
Bitmiş nəzarətçilər
Bitmiş nəzarətçilər

İşdə bitmiş nəzarətçilər.

TT miqyaslı loko, o qədər kiçik ölçüyə malikdir ki, bir Lolin taxtası qatara sığacaq qədər kiçik olması üçün daralmalı (kəsilməlidir).

Tərtib edilmiş ikili faylları yükləyə bilərsiniz. Təhlükəsizlik səbəbiylə zibil qutusu txt olaraq dəyişdirildi.

Tövsiyə: