Përmbajtje:

Modeli i Trenit WiFi Kontrolli duke përdorur MQTT: 9 hapa
Modeli i Trenit WiFi Kontrolli duke përdorur MQTT: 9 hapa

Video: Modeli i Trenit WiFi Kontrolli duke përdorur MQTT: 9 hapa

Video: Modeli i Trenit WiFi Kontrolli duke përdorur MQTT: 9 hapa
Video: Сравнение протоколов TCP и UDP 2024, Nëntor
Anonim
Modeli i Trenit Kontrolli WiFi duke përdorur MQTT
Modeli i Trenit Kontrolli WiFi duke përdorur MQTT

Duke pasur një sistem të vjetër të modelit të trenit në shkallë TT, kisha një ide se si të kontrolloja lokot individualisht.

Me këtë në mendje, unë shkova një hap më tej dhe kuptova se çfarë nevojitet jo vetëm për të kontrolluar trenat, por për të pasur disa informacione shtesë në lidhje me të gjithë paraqitjen dhe kontrolluar diçka tjetër (llambat, çelsat hekurudhor …)

Kështu lind sistemi i trenave të modelit të kontrolluar nga WiFi.

Hapi 1: Parashikimet e operacionit

Parashikimet e Operacionit
Parashikimet e Operacionit

Parimi kryesor është kontrollimi i secilit element individualisht, ose nga një kontrollues i vetëm, ose nga burime të shumta kontrolli. Kjo në thelb ka nevojë për një shtresë të përbashkët fizike - më qartë padyshim WiFi - dhe një protokoll të përbashkët komunikimi, MQTT.

Elementi qendror është ndërmjetësi MQTT. Çdo pajisje e lidhur (tren, sensor, dalje …) lejohet të komunikojë vetëm përmes ndërmjetësit dhe mund të marrë të dhëna vetëm nga ndërmjetësi.

Zemra e pajisjeve është një kontrollues WiFi i bazuar në ESP8266, ndërsa ndërmjetësi MQTT funksionon me një Raspberry pi.

Në fillim mbulimi Wifi sigurohet nga një ruter WiFi dhe gjithçka lidhet përmes wireless -it.

Ekzistojnë 4 lloje të pajisjeve:

- Kontrolluesi i trenit: ka 2 hyrje dixhitale, 1 dalje dixhitale, 2 dalje PWM (për kontrollin e 2 motorëve individualë DC), - Kontrolluesi i sensorit: ka 7 hyrje dixhitale (për çelsat e hyrjes, optosensorët …), - Kontrolluesi i daljes: ka 8 dalje dixhitale (për çelsat hekurudhor …), - Telekomandë WiFi: ka 1 hyrje koduese shtesë, 1 hyrje dixhitale (për të kontrolluar trenat nga distanca).

Sistemi është gjithashtu i aftë të funksionojë nga Node-Red (nga tableti, kompjuteri ose smartphone …).

Hapi 2: Shkëmbimi dhe konfigurimi i të dhënave MQTT

Shkëmbimi dhe konfigurimi i të dhënave MQTT
Shkëmbimi dhe konfigurimi i të dhënave MQTT

Bazuar në protokollin MQTT, në fillim çdo pajisje regjistrohet në një temë të caktuar dhe mund të publikojë në një temë tjetër. Kjo është baza e komunikimit të rrjetit të kontrollit të trenave.

Ky tregim komunikimi vendoset përmes mesazheve të formatuara JSON, të jenë të shkurtra dhe të lexueshme nga njerëzit.

Duke parë nga një perspektivë më e largët: Rrjeti ka një ruter WiFi me SSID -in e tij (emri i rrjetit) dhe një fjalëkalim. Çdo pajisje duhet t'i dijë këto 2 për të hyrë në rrjetin WiFi. Ndërmjetësi MQTT është gjithashtu pjesë e këtij rrjeti, kështu që për të përdorur protokollin MQTT çdo pajisje duhet të dijë adresën IP të ndërmjetësit. Dhe së fundi çdo pajisje ka temën e vet për pajtimin dhe publikimin e mesazheve.

Praktikisht, një telekomandë e dhënë përdor të njëjtën temë për të publikuar mesazhe për të cilat është regjistruar një tren i caktuar.

Hapi 3: Kontrolluesi i trenit

Kontrolluesi i trenit
Kontrolluesi i trenit

Për të kontrolluar një tren lodrash, në thelb na duhen 3 gjëra: një furnizim me energji elektrike, një kontrollues i aktivizuar WiFi dhe pajisje elektronike të drejtuesit të motorit.

Furnizimi me energji elektrike varet nga plani aktual i përdorimit: në rastin e LEGO, kjo është kutia e baterisë së Funksioneve të Fuqisë, në rast të një treni të shkallës "oldschool" TT ose H0, është furnizimi me energji i pistës 12V.

Kontrolluesi i aktivizuar me WiFi është një kontrollues Wemos D1 mini (bazuar në ESP8266).

Elektronika e drejtuesit të motorit është një modul i bazuar në TB6612.

Kontrolluesi i trenit ka 2 dalje PWM të kontrolluara individualisht. Njëra përdoret për kontrollin motorik dhe tjetra përdoret për sinjalizim të dritës. Ka 2 inpus për zbulimin e bazuar në kontaktin e kallamit dhe një dalje dixhitale.

Kontrolluesi pranon mesazhe JSON përmes WiFi dhe protokollit MQTT.

SPD1 kontrollon motorin, për shembull: {"SPD1": -204} mesazhi përdoret për të lëvizur motorin prapa me fuqi 80% (vlera maksimale e shpejtësisë është -255).

SPD2 kontrollon intensitetin e dritës LED "të ndjeshme ndaj drejtimit": {"SPD2": -255} mesazhi bën që LED (prapa) të shkëlqejë me fuqinë e tij të plotë.

OUT1 kontrollon gjendjen e daljes dixhitale: {"OUT1": 1} ndez daljen.

Nëse ndryshon gjendja e një hyrjeje, kontrolluesi dërgon një mesazh sipas tij: {"IN1": 1}

Nëse kontrolluesi merr një mesazh të vlefshëm, ai e ekzekuton atë dhe i jep një reagim ndërmjetësit. Reagimi është komanda e ekzekutuar në të vërtetë. Për shembull: nëse ndërmjetësi dërgon {"SPD1": 280} atëherë motori po punon me fuqi të plotë, por mesazhi i reagimit do të jetë: {"SPD1": 255}

Hapi 4: LEGO Train Control

LEGO Train Control
LEGO Train Control

Në rastin e trenit LEGO, skemat janë pak më ndryshe.

Fuqia vjen drejtpërdrejt nga kutia e baterisë.

Ekziston nevoja për një konvertues mini hap poshtë për të siguruar 3.5V për bordin Lolin të bazuar në ESP8266.

Lidhjet bëhen me një tel zgjatues LEGO 8886, të prerë në gjysmë.

Hapi 5: Telekomandë

Dirigjuesi
Dirigjuesi

Kontrolluesi publikon vetëm mesazhe për trenin (përcaktuar nga ndërprerësi BCD).

Duke e rrotulluar koduesin, telekomanda dërgon ose mesazhe {"SPD1": "+"} ose {"SPD1": "-"}.

Kur treni merr këtë mesazh "tip shtesë", ai ndryshon vlerën e tij dalëse PWM me 51 ose -51.

Në këtë mënyrë telekomanda mund të ndryshojë shpejtësinë e trenit në 5 hapa (secili drejtim).

Shtypja e kodifikuesit shtesë do të dërgojë {"SPD1": 0}.

Hapi 6: Kontrolluesi i sensorit

Kontrolluesi i sensorit
Kontrolluesi i sensorit

I ashtuquajturi kontrollues i sensorit mat gjendjet e hyrjeve të tij, dhe nëse ndonjëri prej tyre ndryshon, publikon atë vlerë.

Për shembull: {"IN1": 0, "IN6": 1} në këtë shembull 2 hyrje ndryshuan gjendje në të njëjtën kohë.

Hapi 7: Kontrolluesi i daljes

Kontrolluesi i daljes
Kontrolluesi i daljes

Kontrolluesi i daljes ka 8 dalje dixhitale, të cilat janë të lidhura me një modul të bazuar në ULN2803.

Ai merr mesazhe përmes temës së tij të regjistruar.

Për shembull mesazhi {"OUT4": 1, "OUT7": 1} aktivizoni daljen dixhitale 4. dhe 7..

Hapi 8: Raspberry Pi dhe WiFi Router

Unë kisha një router të përdorur TP-Link WiFI, kështu që e përdor këtë si një Access Point.

Ndërmjetësi MQTT është një Raspberry Pi me Mosquitto të instaluar.

Unë përdor sistemin standard Raspbian me MQTT të integruar me:

sudo apt-get install mushkonja mushkonja-klientë python-mushkonja

Routeri TP-Link duhet të jetë i konfiguruar që të ketë një rezervim adrese për Raspberry, kështu që pas çdo rinisjeje Pi ka të njëjtën adresë IP dhe çdo pajisje mund të lidhet me të.

Dhe kjo eshte!

Hapi 9: Kontrolluesit e përfunduar

Kontrolluesit e përfunduar
Kontrolluesit e përfunduar
Kontrolluesit e përfunduar
Kontrolluesit e përfunduar

Këtu janë kontrolluesit e përfunduar.

Loko e shkallës TT ka madhësi kaq të vogël saqë një dërrasë Lolin duhej të ngushtohej (pritej) që të ishte aq e vogël sa të futet në tren.

Binarët e përpiluar mund të shkarkohen. Për arsye sigurie, shtrirja e koshit u zëvendësua në txt.

Recommended: