Satura rādītājs:
- 1. darbība: darbības plāni
- 2. darbība: MQTT datu apmaiņa un konfigurēšana
- 3. solis: vilciena kontrolieris
- 4. solis: LEGO Train Control
- 5. darbība: tālvadības pults
- 6. darbība: sensora kontrolieris
- 7. darbība: izvades kontrolieris
- 8. darbība: Raspberry Pi un WiFi maršrutētājs
- 9. darbība. Pabeigtie kontrolieri
Video: Vilciena WiFi vadības modelis, izmantojot MQTT: 9 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Man bija veca TT mēroga vilcienu modeļu sistēma, un man bija ideja, kā individuāli kontrolēt lokomotīves.
Paturot to prātā, es devos soli tālāk un sapratu, kas nepieciešams, lai ne tikai kontrolētu vilcienus, bet lai iegūtu papildu informāciju par visu izkārtojumu un kontrolētu kaut ko citu (lampas, sliežu slēdži …)
Tā dzimst WiFi kontrolētā modeļa vilcienu sistēma.
1. darbība: darbības plāni
Galvenais princips ir kontrolēt katru elementu atsevišķi, vai nu no viena kontroliera, vai no vairākiem vadības avotiem. Tam pēc būtības ir nepieciešams kopīgs fiziskais slānis - acīmredzot WiFi - un kopīgs sakaru protokols MQTT.
Centrālais elements ir MQTT brokeris. Katrai pievienotajai ierīcei (vilciens, sensors, izeja …) ir atļauts sazināties tikai ar Brokeru, un tā var saņemt datus tikai no Brokera.
Ierīču sirds ir uz ESP8266 balstīts WiFi kontrolieris, savukārt MQTT brokeris darbojas ar Raspberry pi.
Sākumā Wifi pārklājumu nodrošina WiFi maršrutētājs, un viss ir savienots, izmantojot bezvadu savienojumu.
Ir 4 veidu ierīces:
- Vilciena kontrolieris: ir 2 digitālās ieejas, 1 digitālā izeja, 2 PWM izejas (2 atsevišķu līdzstrāvas motoru vadīšanai), - Sensora kontrollerim: ir 7 digitālās ieejas (ieejas slēdžiem, optosensoriem …), - Izejas kontrolieris: ir 8 digitālās izejas (sliežu slēdžiem …), - WiFi tālvadības pults: ir 1 papildu kodētāja ieeja, 1 digitālā ieeja (lai vilcienus vadītu attālināti).
Sistēma var darboties arī no sarkanā mezgla (no planšetdatora, datora vai viedtālruņa …).
2. darbība: MQTT datu apmaiņa un konfigurēšana
Pamatojoties uz MQTT protokolu, vispirms katra ierīce abonē noteiktu tēmu un var publicēt citā tēmā. Tas ir vilcienu vadības tīkla sakaru pamats.
Šie saziņas stāsti tiek veidoti, izmantojot JSON formatētus ziņojumus, lai tie būtu īsi un cilvēkiem lasāmi.
Skatoties no tālākas perspektīvas: tīklam ir WiFi maršrutētājs ar savu SSID (tīkla nosaukumu) un paroli. Katrai ierīcei ir jāzina šie 2, lai piekļūtu WiFi tīklam. Arī MQTT brokeris ir daļa no šī tīkla, tāpēc, lai izmantotu MQTT protokolu, katrai ierīcei ir jāzina brokera IP adrese. Visbeidzot, katrai ierīcei ir sava tēma abonēšanai un ziņojumu publicēšanai.
Praktiski konkrētā tālvadības pults izmanto vienu un to pašu tēmu, lai publicētu ziņas, par kurām konkrētais vilciens ir abonēts.
3. solis: vilciena kontrolieris
Lai kontrolētu rotaļlietu vilcienu, mums būtībā ir vajadzīgas 3 lietas: barošanas avots, WiFi iespējots kontrolieris un motora vadītāja elektronika.
Barošanas avots ir atkarīgs no faktiskā lietošanas plāna: LEGO gadījumā šī ir barošanas funkciju akumulatora kārba, "oldschool" TT vai H0 mēroga vilcienu komplekta gadījumā tas ir sliežu ceļa 12V barošanas avots.
Kontrolleris ar iespējotu WiFi ir Wemos D1 mini (uz ESP8266 balstīts) kontrolieris.
Motora vadītāja elektronika ir uz TB6612 balstīts modulis.
Vilciena kontrolierim ir 2 individuāli kontrolētas PWM izejas. Akūti viens tiek izmantots motora vadībai, bet otrs - gaismas signalizācijai. Ir 2 inpus uz niedru kontaktiem balstītai uztveršanai un viena digitālā izeja.
Kontrolieris pieņem JSON ziņojumus, izmantojot WiFi un MQTT protokolu.
SPD1 kontrolē motoru, piemēram: {"SPD1": -204} ziņojums tiek izmantots, lai pārvietotu motoru atpakaļ ar 80% jaudu (maksimālā ātruma vērtība ir -255).
SPD2 kontrolē "virzienjutīgo" LED gaismas intensitāti: ziņojums {"SPD2": -255} liek (atpakaļ) LED mirdzēt ar pilnu jaudu.
OUT1 kontrolē digitālās izejas stāvokli: {"OUT1": 1} ieslēdz izeju.
Ja ievades stāvoklis mainās, kontrolieris nosūta ziņojumu atbilstoši tam: {"IN1": 1}
Ja pārzinis saņem derīgu ziņojumu, tas to izpilda un sniedz atgriezenisko saiti brokerim. Atgriezeniskā saite ir faktiski izpildītā komanda. Piemēram: ja starpnieks sūta {"SPD1": 280}, motors darbojas ar pilnu jaudu, bet atgriezeniskās saites ziņojums būs šāds: {"SPD1": 255}
4. solis: LEGO Train Control
LEGO vilciena gadījumā shēmas ir nedaudz atšķirīgas.
Jauda tiek piegādāta tieši no akumulatora kastes.
Ir nepieciešams mini atkāpšanās pārveidotājs, lai nodrošinātu ESV8266 balstītas Lolin plates 3,5V spriegumu.
Savienojumi tiek veikti ar LEGO 8886 pagarinājuma vadu, pārgrieztu uz pusēm.
5. darbība: tālvadības pults
Kontrolieris vilcienam publicē tikai ziņojumus (to nosaka BCD slēdzis).
Pagriežot kodētāju, tālvadības pults nosūta ziņojumus {"SPD1": "+"} vai {"SPD1": "-"}.
Kad vilciens saņem šo "pieaugošā tipa" ziņojumu, tas maina PWM izejas vērtību par 51 vai -51.
Tādā veidā tālvadības pults var mainīt vilciena ātrumu 5 soļos (katrā virzienā).
Nospiežot inkrementālo kodētāju, tiks nosūtīts {"SPD1": 0}.
6. darbība: sensora kontrolieris
Tā sauktais sensora kontrolieris mēra ievades stāvokli un, ja kāds no tiem mainās, publicē šo vērtību.
Piemēram: {"IN1": 0, "IN6": 1} šajā piemērā 2 ieejas vienlaikus mainīja stāvokli.
7. darbība: izvades kontrolieris
Izejas kontrolierim ir 8 digitālās izejas, kas ir savienotas ar moduli, kura pamatā ir ULN2803.
Tā saņem ziņas, izmantojot savu abonēto tēmu.
Piemēram, ziņojums {"OUT4": 1, "OUT7": 1} ieslēdz 4. un 7. digitālo izeju.
8. darbība: Raspberry Pi un WiFi maršrutētājs
Man bija izmantots TP-Link WiFI maršrutētājs, tāpēc es to izmantoju kā piekļuves punktu.
MQTT brokeris ir Raspberry Pi ar instalētu Mosquitto.
Es izmantoju standarta Raspbian OS ar MQTT, kas iebūvēts ar:
sudo apt-get install mosquitto mosquitto-customers python-mosquitto
TP-Link maršrutētājam ir jākonfigurē aveņu adrešu rezervācija, tāpēc pēc katras restartēšanas Pi ir vienāda IP adrese un katra ierīce var tam izveidot savienojumu.
Un tas arī viss!
9. darbība. Pabeigtie kontrolieri
Šeit ir gatavie kontrolieri.
TT mēroga loko ir tik mazs izmērs, ka Lolin dēli vajadzēja sašaurināt (sagriezt), lai tas būtu pietiekami mazs, lai ietilptu vilcienā.
Apkopotos bināros failus var lejupielādēt. Drošības apsvērumu dēļ atkritumu tvertnes paplašinājums tika aizstāts ar txt.
Ieteicams:
UZZĪVOTS! Servomotors kā vilciena vadītāja modelis: 17 soļi
UZZĪVOTS! Servomotors kā vilciena paraugs!: Darba sākšana dzelzceļa modeļos? Vai jums nav pietiekami daudz budžeta, lai iegādātos visus šos dārgos vilcienu kontrolierus? Neuztraucieties! Šajā pamācībā es jums parādīšu, kā jūs varat izveidot savu mazbudžeta vilciena kontrolieri, uzlaužot servomotoru. Tātad, pieņemsim
Kontrolējiet sava modeļa vilciena izkārtojumu, izmantojot KEYBOARD !: 12 soļi
Kontrolējiet sava modeļa vilciena izkārtojumu, izmantojot savu KEYBOARD! Jūs varat arī apskatīt jaunināto versiju šeit. Šajā pamācībā es jums parādīšu, kā kontrolēt vilciena modeļa izkārtojumu, izmantojot tastatūru
Automatizēta vilciena atgriezeniskā cilpa, izmantojot Arduino: 10 soļi (ar attēliem)
Automatizēta vilcienu atgriezeniskā cilpa, izmantojot Arduino: Atgriezenisko cilpu izveide var palīdzēt vilcienu modeļu maiņās mainīt vilcienu virzienu, ko nevar izdarīt ar pagrieziena diskiem. Tādā veidā jūs varat izveidot viena sliežu izkārtojumus ar reversu cilpu katrā galā, lai vilcieni darbotos bez pārtraukuma vai pārtraukuma
Dzelzceļa modelis - DCC vadības stacija, izmantojot Arduino :: 3 soļi
Dzelzceļa modelis - DCC vadības stacija, izmantojot Arduino :: Atjaunināts 2018. gada augusts - skatiet jaunu pamācību: https: //www.instructables.com/id/Model-Railroad-DC … uz komandstaciju. Pagriezieni T1 - T8 ir pieejami, izmantojot taustiņu "B". T9 - T1 pagriezieni
Kontrolējiet modeļa vilciena izkārtojumu, izmantojot televizora tālvadības pulti!: 7 soļi (ar attēliem)
Kontrolējiet sava vilciena modeļa izkārtojumu, izmantojot televizora tālvadības pulti!: Šajā pamācībā es jums parādīšu, kā izveidot IR tālvadības sistēmu vilciena modelim. Pēc tam jūs varēsit kontrolēt savus vilcienus, atpūšoties uz dīvāna. Tātad, sāksim