Sisukord:
- 1. samm: operatsiooni eeldused
- 2. samm: MQTT andmevahetus ja konfigureerimine
- 3. samm: rongikontroller
- 4. samm: LEGO Train Control
- Samm: kaugjuhtimispult
- 6. samm: andurikontroller
- Samm 7: väljundkontroller
- Samm: Raspberry Pi ja WiFi -ruuter
- 9. samm: valmis kontrollerid
Video: Mudeli rongi WiFi juhtimine MQTT abil: 9 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Omades vana TT -skaala rongimudelite süsteemi, oli mul idee, kuidas lokosid individuaalselt juhtida.
Seda silmas pidades läksin sammu kaugemale ja mõistsin, mida on vaja mitte ainult rongide juhtimiseks, vaid ka lisateabe saamiseks kogu paigutuse kohta ja millegi muu juhtimiseks (lambid, rööpmelülitid …)
Nii sünnib WiFi juhitav mudelrongisüsteem.
1. samm: operatsiooni eeldused
Peamine põhimõte on juhtida iga elementi eraldi, kas ühelt kontrollerilt või mitmest juhtimisallikast. See nõuab oma olemuselt ühist füüsilist kihti - ilmselgelt WiFi -ühendust - ja ühist suhtlusprotokolli MQTT.
Keskne element on MQTT maakler. Igal ühendatud seadmel (rong, andur, väljund …) on lubatud suhelda ainult maakleri kaudu ja see võib vastu võtta ainult vahendaja andmeid.
Seadmete süda on ESP8266 -põhine WiFi -kontroller, samas kui MQTT maakler töötab Raspberry pi -ga.
Esialgu pakub WiFi -leviala WiFi -ruuter ja kõik ühendatakse traadita ühenduse kaudu.
Seadmeid on 4 tüüpi:
- rongikontroller: sellel on 2 digitaalsisendit, 1 digitaalne väljund, 2 PWM -väljundit (kahe eraldi alalisvoolumootori juhtimiseks), - andurikontroller: sellel on 7 digitaalsisendit (sisendlülititele, optoanduritele jne), - väljundkontroller: sellel on 8 digitaalset väljundit (raudteelülitite jaoks), - WiFi -kaugjuhtimispult: sellel on 1 kodeerija sisend, 1 digitaalsisend (rongide kaugjuhtimiseks).
Süsteem on võimeline töötama ka sõlmpunast (tahvelarvutist, arvutist või nutitelefonist …).
2. samm: MQTT andmevahetus ja konfigureerimine
Tuginedes MQTT protokollile, tellib algul iga seade antud teema ja saab avaldada mõne muu teema. See on rongijuhtimisvõrgu side alus.
See suhtlusjutt paigutatakse JSON -vormingus sõnumite kaudu lühikeseks ja inimloetavaks.
Vaadates kaugemalt: võrgul on WiFi -ruuter, millel on oma SSID (võrgu nimi) ja parool. WiFi -võrku pääsemiseks peab iga seade neid 2 teadma. Ka MQTT maakler on osa sellest võrgustikust, nii et MQTT protokolli kasutamiseks peab iga seade teadma maakleri IP -aadressi. Ja lõpuks on igal seadmel oma teema tellimiseks ja sõnumite avaldamiseks.
Praktiliselt kasutab antud kaugjuhtimispult sama teemat, et avaldada teateid, mille jaoks antud rong on tellitud.
3. samm: rongikontroller
Mängurongi juhtimiseks vajame põhimõtteliselt kolme asja: toiteallikat, WiFi -toega kontrollerit ja mootorijuhi elektroonikat.
Toiteallikas sõltub tegelikust kasutusplaanist: LEGO puhul on see Power Functions akukarp, "oldschool" TT või H0 skaala rongikomplekti puhul on see raja 12V toide.
WiFi -toega kontroller on Wemos D1 mini (ESP8266 -põhine) kontroller.
Mootori juhi elektroonika on TB6612 põhinev moodul.
Rongikontrolleril on 2 individuaalselt juhitavat PWM -väljundit. Ühte kasutatakse akuutselt mootori juhtimiseks ja teist valgussignaaliks. Sellel on 2 sisendit pillirooga kokkupuute tuvastamiseks ja üks digitaalne väljund.
Kontroller aktsepteerib JSON -sõnumeid WiFi ja MQTT protokolli kaudu.
SPD1 juhib mootorit, näiteks: sõnumit {"SPD1": -204} kasutatakse mootori 80% võimsusel tagurpidi liigutamiseks (maksimaalne kiirus on -255).
SPD2 juhib suunatundliku LED -valgustugevuse intensiivsust: teade {"SPD2": -255} paneb (tagurpidi) LED -i täisvõimsusel särama.
OUT1 juhib digitaalse väljundi olekut: {"OUT1": 1} lülitab väljundi sisse.
Kui sisendi olek muutub, saadab kontroller selle järgi sõnumi: {"IN1": 1}
Kui vastutav töötleja saab kehtiva teate, täidab ta selle ja annab maaklerile tagasisidet. Tagasiside on tegelikult täidetud käsk. Näiteks: kui maakler saadab {"SPD1": 280}, töötab mootor täisvõimsusel, kuid tagasiside on järgmine: {"SPD1": 255}
4. samm: LEGO Train Control
LEGO rongi puhul on skeemid pisut erinevad.
Toide tuleb otse akukarbist.
ESP8266 -põhise Lolin -plaadi jaoks 3,5 V toiteks on vaja mini -astmelist muundurit.
Ühendused tehakse pooleks lõigatud LEGO 8886 pikendusjuhtmega.
Samm: kaugjuhtimispult
Kontroller avaldab teateid ainult rongile (määratletud BCD lülitiga).
Kodeerija pööramisel saadab kaugjuhtimispult kas {"SPD1": "+"} või {"SPD1": "-"} sõnumeid.
Kui rong saab selle "inkrementaalse tüübi" teate, muudab see oma PWM -väljundväärtust 51 või -51 võrra.
Nii saab kaugjuhtimispult muuta rongi kiirust 5 sammuga (igas suunas).
Inkrementaalse kodeerija vajutamisel saadetakse {"SPD1": 0}.
6. samm: andurikontroller
Niinimetatud andurikontroller mõõdab oma sisendite olekuid ja kui mõni neist muutub, avaldab selle väärtuse.
Näiteks: {"IN1": 0, "IN6": 1} selles näites muutis 2 sisendit korraga olekut.
Samm 7: väljundkontroller
Väljundkontrolleril on 8 digitaalset väljundit, mis on ühendatud ULN2803 -põhise mooduliga.
See võtab sõnumeid vastu tellitud teema kaudu.
Näiteks teade {"OUT4": 1, "OUT7": 1} lülitab sisse 4. ja 7. digitaalse väljundi.
Samm: Raspberry Pi ja WiFi -ruuter
Mul oli kasutatud TP-Link WiFI ruuter, seega kasutasin seda pääsupunktina.
MQTT maakler on Raspberry Pi, millele on installitud Mosquitto.
Ma kasutan standardset Raspbian OS -i, mille MQTT on installitud:
sudo apt-get install mosquitto mosquitto-customers python-mosquitto
TP-Linki ruuter peab olema konfigureeritud nii, et sellel oleks Raspberry aadressireservatsioon, nii et pärast iga taaskäivitamist on Pi-l sama IP-aadress ja iga seade saab sellega ühenduse luua.
Ja see ongi kõik!
9. samm: valmis kontrollerid
Siin on valmis kontrollerid.
TT skaala loko on nii väikese suurusega, et Lolini tahvlit tuli kitsendada (lõigata), et see oleks rongi mahutamiseks piisavalt väike.
Koondatud binaarfailid saab alla laadida. Turvakaalutlustel asendati prügikasti laiend txt -ks.
Soovitan:
Juhtige oma mudeli rongi paigutust oma mobiiltelefoniga!: 11 sammu (piltidega)
Juhtige oma rongi mudelipaigutust oma mobiiltelefoniga !: Mudeli rongi paigutuse juhtimine juhtmega gaasi- ja valimisaktiivsuse regulaatoritega võib olla algajatele hea algus, kuid need tekitavad teisaldamatuse probleemi. Samuti saavad turul olevad juhtmevabad kontrollerid juhtida ainult mõnda liikumisvõimalust
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: 6 sammu
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: nüüd teame, kuidas juhtida seadmeid esp8266 WiFi -mooduli abil ja Arduino teie seadet Androidi WiFi -juhtimise abil lisateabe saamiseks. klõpsake linki mohamed ashraf
ESP8266 RGB LED -riba WIFI juhtimine - NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu - RGB LED STRIP nutitelefoni juhtimine: 4 sammu
ESP8266 RGB LED -riba WIFI juhtimine | NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu | RGB LED STRIP nutitelefoni juhtimine: Tere poisid, selles õpetuses õpime, kuidas kasutada nodemcu või esp8266 IR -kaugjuhtimispuldina, et juhtida RGB LED -riba ja Nodemcu saab juhtida nutitelefoniga WiFi kaudu. Nii et põhimõtteliselt saate oma nutitelefoniga juhtida RGB LED -riba
Automaatne rongi tagasikäik Arduino abil: 10 sammu (piltidega)
Automaatne rongi tagasikäik Arduino abil: tagurpidi silmuste tegemine võib aidata rongide mudelite paigutamisel muuta rongide suunda, mida ei saa teha pöördlauaga. Sel moel saate luua rööbastee paigutusi, mille mõlemas otsas on tagasilöök, et ronge ilma pausi ja vaheseinteta sõita
Juhtige oma mudeli rongi paigutust teleri kaugjuhtimispuldiga!: 7 sammu (piltidega)
Juhtige oma rongi mudeli paigutust teleri kaugjuhtimispuldiga! Seejärel saate diivanil lõõgastudes oma ronge juhtida. Niisiis, alustame