Sadržaj:
- Korak 1: Operativni principi
- Korak 2: MQTT razmjena podataka i konfiguracija
- Korak 3: Kontrolor vlaka
- Korak 4: LEGO kontrola vlaka
- Korak 5: Daljinski upravljač
- Korak 6: Kontroler senzora
- Korak 7: Izlazni kontroler
- Korak 8: Raspberry Pi i WiFi usmjerivač
- Korak 9: Gotovi kontroleri
Video: Model vlaka WiFi kontrola korištenjem MQTT: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Imajući stari sistem modela vlakova na TT skali, imao sam ideju kako pojedinačno kontrolirati lokote.
Imajući ovo na umu, otišao sam korak dalje i shvatio što je potrebno ne samo za kontrolu vlakova, već i za dodatne informacije o cijelom rasporedu i kontroli nečega drugog (svjetiljke, željeznički prekidači …)
Tako se rađa modelni sistem vlakova koji kontrolira WiFi.
Korak 1: Operativni principi
Glavni princip je kontrola svakog elementa pojedinačno, bilo iz jednog kontrolera, bilo iz više izvora upravljanja. Ovo inherentno zahtijeva zajednički fizički sloj - najočiglednije WiFi - i zajednički komunikacijski protokol, MQTT.
Centralni element je MQTT posrednik. Svaki povezani uređaj (vlak, senzor, izlaz …) smije komunicirati samo putem posrednika i može primati podatke samo od posrednika.
Srce uređaja je WiFi kontroler zasnovan na ESP8266, dok posrednik MQTT radi na Raspberry pi.
U početku Wi -Fi pokrivenost osigurava WiFi usmjerivač, a sve se povezuje putem bežične veze.
Postoje 4 vrste uređaja:
- Kontroler vlaka: ima 2 digitalna ulaza, 1 digitalni izlaz, 2 PWM izlaza (za upravljanje 2 pojedinačna istosmjerna motora), - Senzorski kontroler: ima 7 digitalnih ulaza (za ulazne prekidače, optosenzore …), - Izlazni kontroler: ima 8 digitalnih izlaza (za šinske sklopke …), - WiFi daljinski: ima 1 inkrementalni ulaz kodera, 1 digitalni ulaz (za daljinsko upravljanje vozovima).
Sistem takođe može raditi sa Node-Red-a (sa tableta, računara ili pametnog telefona …).
Korak 2: MQTT razmjena podataka i konfiguracija
Na temelju MQTT protokola, isprva se svaki uređaj pretplati na određenu temu i može objaviti na drugoj temi. Ovo je osnova komunikacije mreže za upravljanje vozovima.
Ove priče o komunikaciji postavljaju se putem poruka u JSON formatu, kako bi bile kratke i čitljive ljudima.
Gledajući iz dalje perspektive: Mreža ima WiFi usmjerivač sa vlastitim SSID -om (naziv mreže) i lozinkom. Svaki uređaj mora znati ovo 2 za pristup WiFi mreži. MQTT posrednik je također dio ove mreže, pa da bi mogao koristiti MQTT protokol, svaki uređaj mora znati IP adresu brokera. I na kraju, svaki uređaj ima svoju temu za pretplatu i objavljivanje poruka.
Praktično, dati daljinski upravljač koristi istu temu za objavljivanje poruka za koje je određeni vlak pretplaćen.
Korak 3: Kontrolor vlaka
Da bismo upravljali vozom s igračkama, u osnovi su nam potrebne 3 stvari: napajanje, WiFi kontroler i elektronika vozača motora.
Napajanje električnom energijom ovisi o stvarnom planu korištenja: u slučaju LEGO -a, ovo je kutija za baterije Power Functions, u slučaju "oldschool" kompleta vlakova TT ili H0, to je napajanje 12V na pruzi.
Wi -Fi kontroler je kontroler Wemos D1 mini (baziran na ESP8266).
Elektronika upravljačkog programa motora je modul zasnovan na TB6612.
Kontroler vlaka ima 2 individualno kontrolirana PWM izlaza. Jedan se akutno koristi za upravljanje motorom, a drugi za svjetlosnu signalizaciju. Ima 2 ulaza za senzor zasnovano na trskama i jedan digitalni izlaz.
Kontroler prihvaća JSON poruke putem WiFi i MQTT protokola.
SPD1 kontrolira motor, na primjer: {"SPD1": -204} poruka se koristi za pomicanje motora unatrag pri 80% snage (maksimalna vrijednost brzine je -255).
SPD2 kontroliše intenzitet LED svjetla osjetljivog na smjer: {"SPD2": -255} poruka čini (unatrag) LED da svijetli svom punom snagom.
OUT1 kontrolira stanje digitalnog izlaza: {"OUT1": 1} uključuje izlaz.
Ako se stanje ulaza promijeni, kontroler šalje poruku prema njemu: {"IN1": 1}
Ako kontrolor primi valjanu poruku, izvršava je i daje povratnu informaciju posredniku. Povratna informacija je zapravo izvršena naredba. Na primjer: ako posrednik pošalje {"SPD1": 280} tada motor radi punom snagom, ali će povratna poruka biti: {"SPD1": 255}
Korak 4: LEGO kontrola vlaka
U slučaju LEGO voza, sheme su malo drugačije.
Napajanje dolazi direktno iz kutije za baterije.
Postoji potreba za mini stepenim pretvaračem za napajanje 3,5 V za Lolin ploču zasnovanu na ESP8266.
Priključci su izvedeni pomoću LEGO 8886 produžne žice, prepolovljene.
Korak 5: Daljinski upravljač
Kontroler objavljuje samo poruke u vlaku (definirano BCD prekidačem).
Okretanjem kodera, daljinski upravljač šalje poruke {"SPD1": "+"} ili {"SPD1": "-"}.
Kada voz primi ovu poruku "inkrementalnog tipa", mijenja svoju izlaznu vrijednost PWM -a za 51 ili -51.
Na ovaj način daljinski upravljač može promijeniti brzinu voza u 5 koraka (svaki smjer).
Pritiskom na inkrementalni koder šalje se {"SPD1": 0}.
Korak 6: Kontroler senzora
Takozvani senzorski kontroler mjeri stanja svojih ulaza i, ako se bilo koji od njih promijeni, objavljuje tu vrijednost.
Na primjer: {"IN1": 0, "IN6": 1} u ovom primjeru 2 ulaza su promijenila stanje istovremeno.
Korak 7: Izlazni kontroler
Izlazni kontroler ima 8 digitalnih izlaza koji su spojeni na modul temeljen na ULN2803.
Prima poruke putem pretplaćene teme.
Na primjer, poruka "OUT4": 1, "OUT7": 1} uključuje 4. i 7. digitalni izlaz.
Korak 8: Raspberry Pi i WiFi usmjerivač
Imao sam korišćeni TP-Link WiFI ruter, pa sam ga koristio kao pristupnu tačku.
MQTT posrednik je Raspberry Pi sa instaliranim Mosquitto -om.
Koristim standardni Raspbian OS sa MQTT -om koji sadrži:
sudo apt-get install mosquitto mosquitto-klijenti python-mosquitto
TP-Link usmjerivač mora biti konfiguriran tako da ima rezervaciju adrese za Raspberry, tako da nakon svakog ponovnog pokretanja Pi ima istu IP adresu i svaki uređaj se može povezati s njim.
I to je to!
Korak 9: Gotovi kontroleri
Evo gotovih kontrolera.
TT ljestvica loko ima tako male veličine da je Lolin ploča morala biti sužena (izrezana) da bi bila dovoljno mala da stane u vlak.
Prevedene binarne datoteke mogu se preuzeti. Iz sigurnosnih razloga, produžetak kante je zamijenjen txt.
Preporučuje se:
Automatski model željezničkog rasporeda koji vozi s dva vlaka (V2.0) - Arduino zasnovano: 15 koraka (sa slikama)
Automatski model željezničkog rasporeda koji vozi s dva vlaka (V2.0) | Arduino zasnovano: Automatizacija rasporeda željezničkih modela pomoću Arduino mikrokontrolera odličan je način za spajanje mikrokontrolera, programiranje i pružanje modela u jedan hobi. Dostupno je nekoliko projekata o autonomnom voženju vlaka na modelu railroa
SERVO MOTORNO UPRAVLJANJE KORIŠTENJEM WIFI -ja I BLYNK -a: 5 koraka
UPRAVLJANJE SERVO MOTOROM KORIŠTENJEM WIFI -ja I BLYNK -a: Zdravo momci, U ovom uputstvu naučimo kako kontrolirati kretanje servo motora putem WiFi -a pomoću Node MCU -a i Blynk aplikacije
Kontrola svjetline PWM LED kontrola zasnovana na tipkama, Raspberry Pi i grebanju: 8 koraka (sa slikama)
Kontrola svjetline Kontrola LED -a zasnovana na PWM -u pomoću tipki, Raspberry Pi i grebanja: Pokušavao sam pronaći način da svojim učenicima objasnim kako PWM radi, pa sam sebi postavio zadatak da pokušam kontrolirati svjetlinu LED -a pomoću 2 tipke - jedno dugme povećava svjetlinu LED -a, a drugo ga prigušuje. Za program
Jednostavni automatizirani model željeznice od tačke do tačke koja vozi dva vlaka: 13 koraka (sa slikama)
Jednostavna automatizirana željeznička linija od tačke do točke koja vozi s dva vlaka: Arduino mikrokontroleri odličan su način za automatiziranje izgleda željezničkih modela zbog njihove jeftine dostupnosti, hardvera i softvera otvorenog koda te velike zajednice koja vam može pomoći. Za modele željeznica, Arduino mikrokontroleri mogu se pokazati kao gr
Automatski model željezničkog rasporeda koji vozi s dva vlaka: 9 koraka
Automatski model željezničkog rasporeda koji vozi s dva vlaka: Napravio sam automatizirani raspored vlakova sa prolaznim sporednim kolosijekom. Na zahtjev kolege člana, napravio sam ovaj Instructable. Ovo je donekle slično ranije spomenutom projektu. Raspored sadrži dva voza i vozi ih naizmjenično