Svenskt MJ-forum

Digitalt & elektronik => Digitalt och elektronik => Ämnet startat av: Mekanoid skrivet sön 10 mar 2019, 11:00:57

Titel: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 10 mar 2019, 11:00:57
Nu har jag äntligen kommit en bit på väg med min trådlösa styrning av moduler/modelljärnväg! Jag kan nu styra två växlar oberoende av varandra, antingen via en knapp vid modulen eller trådlöst från en app.

När växeln läggs om, blinkar lysdioden för det läge växeln är på väg till och när växeln är omlagd lyser dioden konstant för att visa aktuellt växelläge. När man just slagit på strömmen till modulen, kommer bägge lysdioderna blinka i takt för att visa att växelläget är okänt.

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc04b.png)

Styrkortet jag använder är ett Wemos D1 mini som har inbyggt wifi och kan programmeras som en vanlig Arduino. Kan köpas för 49 kr/st hos Lawicel. Till detta behövs förstås ett par lysdioder, en tryckknapp, servo och strömförsörjning med USB micro-kontakt. (I schemat har jag ritat separat strömförsörjning, men det är valfritt.)

Programvaran
Programvaran har ännu så länge hårt kodade inställningar, men om kortet inte hittar nätverket kan man konfigurera om inställningarna utan att ändra i programvaran. Med tiden tänkte jag låta fler inställningar bli lättare åtkomliga, men det är lite jobb kvar innan det är möjligt.

Vill man använda trådlösa kommunikationen, som sker med hjälp av MQTT, behöver du köra en MQTT-programvara (broker)på en dator eller NAS.

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc05.png)

Pågående arbete
Som ni kanske anar är detta ett pågående arbete som just nu kräver lite programmeringskunskaper för att vara mer användbart. Men jag vill ändå visa hur långt jag kommit om nån vill hänga på eller veta mer?

All mjukvara och dokumentation ligger på Github som öppen källkod (GPL) och "copyleft" dokumentation. För den som vill och kan finns det stora möjligheter... :)
Github: https://mekanoid.github.io/MMRC-documentation/
Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet sön 10 mar 2019, 13:28:26
Riktigt bra jobbat. Det gläder mig att du redovisar med allt tillgänglit i GitHub. :clap: :clap: :hug:
Tänk när detta blir förståeligt och allmängods, när folk vet att man kan söka och kolla MIT APP och se vad som kan göras.
Titel: SV: Trådlös MJ-styrning
Skrivet av: LLJ skrivet sön 10 mar 2019, 13:34:48
Går det inte att ha en mikrodator som "central", så att man slipper att ha en PC?

/Lars
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 10 mar 2019, 15:34:00
Tack lasp!
Då och då försöker jag uppmuntra mj-utövarna att dela med sig genom att själv dela med mig. Hoppas fler med tiden förstår vad som händer om alla delar med sig bara lite...

Går det inte att ha en mikrodator som "central", så att man slipper att ha en PC?

Har just konfigurerat en Raspberry Pi som accesspunkt (AP) och fått igång en MQTT broker på den. Jag uppgraderade mjukvaran i min Wemos-klient så den istället använde RPi som accesspunkt och allting fungerade lika bra då!

Kanske kan man rent av få in AP och MQTT i en Wemos, men jag siktar nog på en RPi Zero W istället...?

Annars är det väl bara att du programmerar lite... ;)
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet sön 10 mar 2019, 21:15:13
Trevligt  :)
Har själv planer på att försöka få ihop en egen variant av IOT (Internet Of Trains  :D ) där det enda kablaget som finns är strömförsörjning.
En bunt med Wemos D1 mini är redan på väg från Kina tillsammans med en del annat. Får kolla på din lösning.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 10 mar 2019, 21:44:19
Trevligt  :)
Har själv planer på att försöka få ihop en egen variant av IOT (Internet Of Trains  :D ) där det enda kablaget som finns är strömförsörjning.
En bunt med Wemos D1 mini är redan på väg från Kina tillsammans med en del annat. Får kolla på din lösning.

Låter trevligt!
Steg ett vore att anpassa din mottagardel för DCC++ till MMRC och släppa som öppen källkod...  ;)
Då skulle trådlös lokstyrning ha en spännande framtid.

- - -
Det jobbiga med min lösning är nog att anpassa sig till topic-strukturen. Den känns omständlig och kanske onödigt krånglig i början, men den verkar kunna fungera i alla lägen.
Jag har nu börjat skapa en fastclock för MMRC, mest för att det verkar så jobbigt att få multicast att fungera i Python. Men att få igång MQTT var busenkelt bara jag hade lyckat installera paho-mqtt-biblioteket. Så MQTT tror jag på!
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet sön 10 mar 2019, 22:41:38
Meningen är att byta ut innanmätet på min fjärrkontroll till Wemos D1 Mini, får se hur den funkar med Nextion displayen.
Mottagaren är "dum", finns där bara för att jag inte ville pilla på DCC++ Master - koden.

Jag har mycket att läsa på  :(

PS
Hur är det med räckvidden på dom här wifi-grejorna? Jag använder nFR24L01 till fjärrkontrollen och har satt på extern antenn
för att få tillräcklig räckvidd.
DS
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet mån 11 mar 2019, 18:33:50
Räckvidden har jag inte testat ordentligt. :(

När det gäller MQTT-struktur för en MQTT-till-DCC-översättare skulle jag vilja föreslå följande. Den är snabbt påkommen och ser krånglig ut, men det mesta är overhead som bara behöver publiceras en gång (med RETAIN-flagga). Är du "lat" kan du börja med att bara använda ".../set" -topics.

Ett bekymmer är att DCC förutom datat även behöver en (lok)adress dit datat ska skickas. Detta är inte MQTT gjort för, men du kan lösa det genom att alltid ha med lokadressen i alla dina publiceringar, typ:

 mmrc/deviceID/engine/speed/set = "3|37"
 mmrc/deviceID/engine/direction/set = "56|forward"

Device ID = SIGN-mqtt-dccpp
 mmrc/deviceID/$name = "MQTT -> DCC++"
 mmrc/deviceID/$state = "lost"  [last will]
 mmrc/deviceID/$nodes = "engine,function,turnout"

NodeId = "engine"
 mmrc/deviceID/engine/$name = "Loco engine"
 mmrc/deviceID/engine/$properties = "speed,direction"

 mmrc/deviceID/engine/speed/$name = "Loco speed"
 mmrc/deviceID/engine/speed/$datatype = "string"
 mmrc/deviceID/engine/speed/        // Aktuell hastighet
 mmrc/deviceID/engine/speed/set     // Sätt ny hastighet
(0-100)

 mmrc/deviceID/engine/direction/$name = "Loco direction"
 mmrc/deviceID/engine/direction/$datatype = "string"
 mmrc/deviceID/engine/direction/        // Aktuell riktning
 mmrc/deviceID/engine/direction/set     // Sätt ny riktning
(forward,backward,stop)

NodeId = "function"
 mmrc/deviceID/function/$name = "Loco functions"
 mmrc/deviceID/function/$properties = "f1,f2,f3,f4"

 mmrc/deviceID/function/f1/$name = "F1"
 mmrc/deviceID/function/f1/$datatype = "string"
 mmrc/deviceID/function/f1/
 mmrc/deviceID/function/f1/set

 mmrc/deviceID/function/f2/$name = "F2"
 mmrc/deviceID/function/f2/$datatype = "string"
 mmrc/deviceID/function/f2/
 mmrc/deviceID/function/f3/set

 mmrc/deviceID/function/f3/$name = "F3"
 mmrc/deviceID/function/f3/$datatype = "string"
 mmrc/deviceID/function/f3/
 mmrc/deviceID/function/f3/set

 mmrc/deviceID/function/f4/$name = "F4"
 mmrc/deviceID/function/f4/$datatype = "string"
 mmrc/deviceID/function/f4/
 mmrc/deviceID/function/f4/set
 ...

NodeId = "turnout"
 mmrc/deviceID/turnout/$name = "Turnout control"
 mmrc/deviceID/turnout/$properties = "t1,t2,t3,t4"

 mmrc/deviceID/turnout/t1/$name = "Turnout 1"
 mmrc/deviceID/turnout/t1/$datatype = "string"
 mmrc/deviceID/turnout/t1/
 mmrc/deviceID/turnout/t1/set
 ...

----
SIGN bör vara en unik signatur för att skilja denna från andra MQTT-DCC-konverterare i samma nät. Kursiva siffror inom parentes är värde lämpliga att skicka (0-100% hastighet). Hur växlar hanteras via DCC har jag ingen koll på.
Titel: SV: Trådlös MJ-styrning
Skrivet av: nohab skrivet mån 11 mar 2019, 19:22:44
MJ-Sverige är inte så stort så, och MQTT i MJ än mindre, så jag tycker vi borde statsa på att få ihop en standard.

I MJ-magasinet skrev jag lite om IoT och tanken var att en uppföljare om MQTT skulle komma i nr36, men det blev fullt av massa annat bra material :)
Jag tycker MQTT är kanon till fasta prylar, alltså växlar, signaler etc, kanske funkar det för rullande också.
Två viktiga fördelar:
Lättvikitigt protokoll,passar bra för mikrodatorer. HTTP-requests är ganska klumpiga i jämförelse.
Brokern gör att man får mjuka kopplingar mellan enheter, t.ex. en enhet som skickar info om ett spår är upptaget eller ledigt behöver inte veta vilka andra enheter som är intresserade av informationen.
 

Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet mån 11 mar 2019, 20:26:15
MJ-Sverige är inte så stort så, och MQTT i MJ än mindre, så jag tycker vi borde statsa på att få ihop en standard.
Jo, vi borde få till en standard.
Men en standard behöver vara väl genomtänkt för att kunna fungera nu och framöver. Dessutom blir den en kompromiss - alla kan inte få precis som de vill. Och det är där det oftast stupar, det är jättesvårt att vara både objektiv, logiskt och generell. :(

Jag har kollat på det som finns för MJ, försökte få det att fungera i olika sammanhang, men tyckte inte det var generellt & logiskt nog. Så jag sökte på nätet och hittade en Homie Convention (https://github.com/homieiot/convention/blob/develop/convention.md) som efter noggrannt läsande verkade mycket väl genomtänkt, logisk och generell. Jag hittade en äldre version, men den känns mer lagom för MJ än den mest aktuella.

Nu har jag provat att använda denna Convention både för växelstyrning, fastclock och ovanstående lokstyrning och i alla tre fallen går det att få de funktioner man vill med samma Convention i botten. Hittills ett bra betyg, tycker jag. Jag tror den passar bra just till MMRC-konceptet med många små, enkla klienter.

Så mitt förslag är följande
Jag läser f.ö. inte MJ-magasinet så jag vet inte vad du skrivit.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet mån 11 mar 2019, 20:34:32
Förresten.
Nu har jag skrivit ner (=kopierat en engelsk instruktion) hur jag "förvandlat" en Raspberry Pi till kombinerad trådlös accesspunkt och MQTT -broker.

Det var många steg men inte så svårt... förutom att man alltid gör lite fel som behöver hittas och åtgärdas. :(

Kan vara användbart i speciellt modulsammanhang om man vill ha sitt eget MQTT-nät p.g.a t.ex. säkerhet eller brist på standard. ;)

Allting kring MMRC finns nu på: https://mekanoid.github.io/MMRC-documentation/
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet mån 11 mar 2019, 21:28:45
Räckvidden har jag inte testat ordentligt. :(

SIGN bör vara en unik signatur för att skilja denna från andra MQTT-DCC-konverterare i samma nät. Kursiva siffror inom parentes är värde lämpliga att skicka (0-100% hastighet). Hur växlar hanteras via DCC har jag ingen koll på.

MQTT har jag inte kollat på alls ännu, så det begriper jag ingenting av. Ligger på ToDo-listan.
Antar att räckvidden är lika usel som för nRF24L01 utan extern antenn, ligger ett par Wemos D1 mini med extern antenn i kundkorgen till nästa beställning.
Jag använder den här sidan för att tillverka rätt kommandon till DCC++-Master:
https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation (https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation)

Låg en tjock påse från Kina i brevlådan idag med en massa roliga Wemos-grejor  :)
Ska se om jag kan få det att funka med Nextion-displayen.

Sedan ska jag också fundera på hur jag skulle vilja att ett vettigt och flexibelt system borde utformas  :|
Titel: SV: Trådlös MJ-styrning
Skrivet av: BenWah46 skrivet mån 11 mar 2019, 23:37:23
Med en bra Wi-fi router är inte räckvidden så dålig. Bytte här hemmatill Ubitiqui xxx och hastigheten steg från 15-15 Mbps/s till 280-300.   

Tycker denna utveckling ser mycket spännande ut. Väntar på ett språk för att beskriva spårplaner så de kan fogas ihop för större bruk eller trunkeras när man går hem.
Titel: SV: Trådlös MJ-styrning
Skrivet av: nohab skrivet tis 12 mar 2019, 12:04:05

Jag läser f.ö. inte MJ-magasinet så jag vet inte vad du skrivit.

Min artikel finns att läsa i smakprovet för nummer 35, fritt och gratis :)
http://www.mj-magasinet.se/3518/mjm35smakprov.pdf
Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet ons 13 mar 2019, 09:44:18
Så bra inlägg. Standards är bra, har du flera frågade en gång en programmerare från Volvo.
Bjarne Stoustrop lärde mig en gång. Man håller sig till standarden och reviderar den en gång om året.
Så gör den elfte mars till en slik dag inom denna sfär.
Detta är en sorts frigörelse. Jag håller alla tummar  :hug: :handshake: :up:
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet fre 15 mar 2019, 09:42:53
Nu har jag läst MMRC Convention, och läst den igen, och ytterligare 72 gånger.
Det här är en helt ny värld för mig.
Jag tror jag fattar principen och den är nog inte så dum (till skillnad från mig).

Så jag följde instruktionerna och kom en bra bit innan det tog stopp.
Jag installerade Mosquitto MQTT på min PC efter dom här instruktionerna:
http://www.abrandao.com/2018/03/running-mosquitto-mqtt-on-windows-10-super-easy/ (http://www.abrandao.com/2018/03/running-mosquitto-mqtt-on-windows-10-super-easy/)
Det verkar funka, jag startar den manuellt och det räcker så för test.

Laddade in testprogrammet mmrc-client på en Wemos D1 mini (gud, vad söta dom är  :) )
och startade seriella monitorn.
Den kopplar upp sig mot nätverket men inte mot MQTT-servern, så där är nåt vajsing,
någon inställning eller nåt jag missat.

Något tips på vanligt fel man gör?  :(

Edit:
Kan svara mig själv.
Ett vanligt fel man gör är att skriva in fel IP-adress, tydligen  :D

Hur gör man då om man har två Wemos D1 mini, där den ena skall tala om
för den andra vad den skall göra, via servern?

Har även laddat ner Linear MQTT Dashboard till mobilen men fattar väl inte riktigt inställningarna där.
Fortsättning följer......
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet fre 15 mar 2019, 17:40:19
Kul att nån är intresserad av att försöka använda det jag gör! Jag ber om ursäkt att dokumentationen (ännu?) inte är så bra, jag har hittills mest koncentrerat mig på kommentarer i koden. :(

Jättebra om du talar om vilka problem du stöter på (eller "fel" du gör :) ), för då ser jag vad som behöver skrivas i den kommande dokumentationen. Nu har jag skapat följande avsnitt (men inte lagt upp på Github än):


Principen för MMRC-kommunikation
När man ska programmera sina klienters kommunikation, behöver man förstå principerna för hur MQTT och MMRC Convention är tänkt att fungera:

Bestäm vem som bestämmer
Först måste man bestämma sig för vilken väg kommunikationen ska gå, t.ex. om en växel ska lyssna (subscribe) på knappens ämne (topic) eller om knappen ska publicera (publish) till växelns ämne (topic)?
Det spelar ingen roll, men måste bestämmas så du vet hur du ska programmera de olika klienterna. I exemplet med knapp och växel finns det alltså följande två ämnen att välja mellan:

`/mmrc/device01/node01/turnout/set`
om knappen ska styra växeln

`/mmrc/device04/node2/button/`
om växeln ska lyssna på knappens läge

MMRC (och Homie) Convention säger också att man anger status för en pryl direkt i ämnet (t.ex. `/mmrc/device01/node01/turnout`) men skickar kommandon till samma pryls "/set"-attribut (t.ex. `/mmrc/device01/node01/turnout/set`). Därav lite olika utseende på ämnen i exemplet ovan.

Skicka kommando & status
Om vi nu väljer att kommunikationen ska ske via växelns ämne, så kommer följande att behöva hända, se punkterna i bilden.

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc06.png)

 1. Knappen skickar data (payload) till växelns `.../set`-ämne på MQTT-brokern.
 2. Växeln, som sen tidigare prenumererar på sitt eget `...turnout/set`-ämne får nu meddelande tillsänt.
 3. Växeln utför kommandot (lägga om växeln och kanske styra en signal).
 4. När växeln lagts om, skickar den samma data (payload) tillbaka via MQTT-brokern till sitt `...turnout`-ämne som en status på att allting gått bra.
 5. Om knappen lyssnar på växelns status (...turnout`) kan den nu se att växeln blivit omlagd.

Punkt 4 ska man alltid göra. Det finns däremot inget krav på att göra punkt 5, men det är lämpligt så man kan se att kommandot har tagits emot och utförts.


Svårt men bra
Detta är inte helt lätt att sätta sig in i och förstå hur man ska skapa klienternas ämnen, men har man väl börja förstå kan man sen se att detta fungerar i nästan alla tillämpningar. Det är för- och nackdelen med många standards: den kan vara/verka komplicerad för enkla saker, men fungerar å andra sidan alltid(?) för både enkla och mer komplicerade tillämpningar.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet fre 15 mar 2019, 17:51:39
 :lamp: En sak till: Se till att ha Wemos inkopplat till datorn och starta Serial monitor i Arduino IDE så ser du vad växelklienten gör och vilka ämnen du ska prenumerera på/publicera till i Linear MQTT Dashboard. Där kan du troligen även se om den inte hittar MQTT-brokern... ;)

Så här kan det se ut:
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc03.png)


PS. I helgen ska jag försöka få till en signalklient. DS.
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet fre 15 mar 2019, 21:00:36
Be inte om ursäkt, du delar ju med dig av ditt arbete  :up:
Rom byggdes inte på en dag.

När jag väl hade knappat in rätt IP-adress så hittades ju givetvis MQTT-brokern,
hade serial monitorn igång så jag såg vad som hände eller inte hände.

Vi har långväga gäster på besök i helgen så jag är beordrad att umgås och vara social  :ouch:
men jag ska försöka smita ifrån lite grand, och grotta vidare med detta.
Ska koppla upp en Wemos till och se om jag får igång någon kommunikation.

Får jag bara in principen i skallen så ska det nog funka,
men jag lär nog ha fler frågor  :emm:

Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet fre 15 mar 2019, 22:43:37
Riktigt bra synpunkter . Artikel av Nohab i MJ Magazin är väl läsvärd som grund. Alla borde läsa IoT –Internet of Trains som början på vad som kommer att hända.
Där finns namnförklaring och exempel på prylar!
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 17 mar 2019, 12:53:37
Nu har jag också läst artikeln och den kan vara bra för att se vilka möjligheter som börjar dyka upp. Men det jag tror är viktigast, är kommunikationen mellan alla enheter. Om man bara kan enas där, kan man sen använda vilken som helst av alla de hårdvaror som finns.

Så nu ser jag fram emot Nohabs respons på MMRC convention... ;)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 17 mar 2019, 19:45:27
Nu har jag fått ihop en MMRC-klient som kan styra en 5-ljussignal.

Tanken är att klienten ska kunna styra två signaler, men det saknas både hantering av signal 2 och konfigurering av de bägge signalerna. Dessutom måste jag nog tänka om när det gäller hanteringen av försignalering - den ska ju styras från en annan signal.

Här är en videosnutt som visar funktionerna hittills:
https://cloud.disroot.org/s/cEtbjjnZofLyEcH (länken fungerar till 30/4 2019)

Jag har inte lagt upp programmet på Github än och om ingen behöver det så tänkte jag vänta tills det är mer färdigt.
Titel: SV: Trådlös MJ-styrning
Skrivet av: nohab skrivet mån 18 mar 2019, 20:32:14
Så nu ser jag fram emot Nohabs respons på MMRC convention... ;)

Yes, nu har jag fått tid att läsa MMRC convention, både en och två gånger (enligt uppmaning :) )
och dessutom Homie convention (de är väldigt lika...).
Mycket intressant !

Jag är väl inte helt objektiv då jag är med i CLEES-projektet, men ska ändå försöka sammanfatta mina synpunkter på ett nyanserat sätt:

Jag tycker Homie/MMRC har en poäng med att vara väldigt generella.
Enheter beskriver sig själva och sina properties och det finns en stor möjlighet för "auto-discovery".
Nackdelen är väl att det blir ganska "pratigt" och väldigt många topics.
En av fördelarna med MQTT annars är ju at det ska vara lightweight och kunna hanteras av små devices med begränsade resurser, speciellt minne.

CLEES är mindre generellt, antagligen för att vi inte utgår från en standard för hemautomation utan fokuserar på MJ, men det kommer ändå vara möjligt att styra även ljus i hus, snabbklocka mm mm. Det enda vi avsiktligt väntar med är styrning av lok och annan rullande materiel. Fördelen med fokuseringen är att vi har färre topics och, i mitt tycke, väldigt lätt att implementera i såväl små som stora enheter.

Toligen är likheterna ändå fler än olikheterna, åtminstone på konceptuell nivå, så jag ser ingen anledning att inte fortsätta diskussionerna.

För den som vill läsa mer om CLEES och dess implementering finns det också på github:
https://github.com/TomasLan/CLEES/blob/master/CLEES%20System%20manual.pdf




 


 
Titel: SV: Trådlös MJ-styrning
Skrivet av: LLJ skrivet mån 18 mar 2019, 20:50:24
Fråga från en som inte läst all dokumentation:
Kan en eller flera enheter reagera (prenumerera) på samma meddelande  från en annan sändande enhet?

/Lars
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet mån 18 mar 2019, 21:33:42
@Lars: Ja.
Det finns nog i princip ingen begränsning hur många som kan prenumerera på ett ämne.

Så man kan absolut låta t.ex både en huvudsignal, försignal och en styrpanel "lyssna" på en växels läge. Eller låta flera växlar "lyssna" på en och samma knapp för att t.ex. sätta en tågväg.
Titel: SV: Trådlös MJ-styrning
Skrivet av: nohab skrivet tis 19 mar 2019, 07:28:31
Ja, och jag skulle vilja tilägga att det är en av styrkorna med MQTT, sändande (publicerande) enhet behöver inte veta om 0 eller hundratals enheter lyssnar (prenumererar).
Brokern sköter den biten.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 23 mar 2019, 10:19:36
Tack för feedback! Naturligvis får man kommentera utifrån sitt eget perspektiv, det ger ändå en bra indikation om vad som kan bli bättre!

MMRC = Homie
Först: MMRC convention är nästan exakt detsamma som Homie convention (i en tidig version). Jag ser ingen anledning att uppfinna hjulet igen, när Homie convention är fri att återanvända. Jag är väldigt tacksam för att Homie convention finns!

Om "pratigheten"
Jag ser en stor fördel att enheter beskriver sig själva, för jag tänker mig en framtid där kanske hundratals små MMRC-klienter finns i ett nätverk på t.ex en modulträff. Då börjar nya behov dyka upp, som t.ex. att kunna varna när en klient inte längre är tillgänglig (mmrc/ClientID/$state) och att då dessutom kunna tala om vilken klient det gäller (mmrc/ClientID/$name). Kan nog vara väldigt användbart på en hemmabana också?

"Pratigheten" är ju heller inte betungande: Vi pratar om kanske 20-30 rader extra kod och 5 parametrar per nod - om man följer min idé med många klienter som har få uppgifter vardera. Dessutom kan programkoden återanvändas till stor del, då strukturen alltid är densamma.

Generellt = framtidsäkert
Jag tror dessutom mer på en generellt struktur för alla typer av enheter. Det ger en enkelhet när det gäller programkod och förståelse. I princip kan alla klienter utgå från samma programkod, vilken inte heller blir särskild svårt att förstå. Detta tror jag är viktigt för att sprida MMRC - man ska inte behöva kunna så mycket programmering för att kunna bidra med nya klienter!

- - -

CLEES vs MMRC
Jag försökte med CLEES till en början, men jag fick inte riktigt till strukturen för alla mina idéer. Hur ska den se ut för en TAMs-funktion (tåganmälan) eller snabbklocka? Eller för att styra belysningen eller ett ställverk. I CLEES måste väl detta beslutas central av någon, men i MMRC kan man i princip göra sin egen lösning - även om det bör/kommer att finnas centrala riktlinjer.

Förslag till samsyn
Mitt förslag är att CLEES funderar på att justera strukturen, men tills vidare skippar "pratigheten". Den är inte viktig just nu, utan behövs längre fram om detta växer. Ni behöver väl skriva om er "topic parser" men å andra sidan kan den göra så generell att det blir ett engångsjobb?!?

Sen tänker jag nog också öppna upp möjligheten att ersätta den inledande "mmrc/" med valfri text, såsom Homie convention gör. Då kan man välja "mmrc/" om man följer MMRC convention strikt och vill att alla ska kunna komminicera med sina klineter. Och så kan man ha sitt eget (t.ex "clees/") om man har avvikelser eller bara vill hålla sina klienter separerade.
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet lör 23 mar 2019, 11:19:25
Har tyvärr haft lite annat att göra senaste veckan så det har inte blivit någon mer test av MMRC, men det skall det bli.
Håller just nu på med version 2 av den trådlösa fjärrkontrollen, måste ha mer minne för fler funktioner  :)

Kastade ett snabbt öga på CLEES men det är nog inget för mig. MMRC känns som det är mer flexibelt, men det är
bara en okunnigs åsikt. Oavsett så är det ett måste att kunna styra lok och växlar via DCC annars kan det kvitta för min del.
Och där kunde det ju finnas en lösning med MMRC.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 23 mar 2019, 19:53:37
Det går inte så fort om man ska programmera... i alla fall inte för mig.  :)

Men, nu har jag även lagt upp en klient för att hantera signaler. Ännu så länge ett pågående jobb, för den kan bara hantera en signal just nu.

Med tiden ska den kunna hantera två signaler - en 2-5-ljus och en 2-4-ljus. Begräsningen beror på att jag vill ha ljus som "fade:ar" in och ut, men Wemos har bara 9 sådana pinnar (PWM).

Vad nästa steg blir, vet jag inte. Kanske gör jag något helt annat, som att göra klart lite landskap eller så fortsätter jag experimentera med en snabbklocka. Jag har nämligen lyckats modifiera ett billigt Clas Ohlson-urverk så det kan styras från en Arduino. Vi får se.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet lör 23 mar 2019, 22:49:46
Kämpa på! Och kom ihåg att Rom byggdes inte på en dag! Måste ha varit nattarbete.
Det finns inga skäl att att man skall klara allt på en gång. Bättre köra fram något och några funktioner för att sedan göra om. Det är ju hela grjen med att allt är mjukvarustyrt.
Kan man sedan peta in flera funktioner och bara kalla på det som behövs för stunden. Då blir det både mångsidigt och ekonomiskt!
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 24 mar 2019, 18:30:55
Tack Lasp för de glada tillropen. Känns både uppmuntrande och inspirerande!  :handshake:

Jag har för övrigt precis testat räckvidden lite. Jag har en Raspberry Pi som trådlös router i ena änden av huset och placerade min signalstyr-klient i den andra änden. Det är kanske 10 meter mellan dem och två väggar/stängda dörrar i trä däremellan. Och med dessa förutsättningar hade jag inga problem.

Jag som mest ska använda detta till moduler, borde inte få några täckningsproblem i alla fall.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 24 mar 2019, 19:30:31
Ännu så länge har jag fått ihop klienter som i alla fall teoretiskt skulle kunna styra denna bana:
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc07.png)

Det saknas nog en central klient som både kan styra växlarna och indikera hur de är lagda:
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc08.png)

Med en sån här lösning kan växlarna styras både lokalt (då varje MMRC twoturnout har två ingångar för knapp) och centralt via "knapp-klienten".
Ska inte vara så svårt att få till en "knapp-klinet", men det får bli ett framtida projekt... :)
Titel: SV: Trådlös MJ-styrning
Skrivet av: BenWah46 skrivet mån 25 mar 2019, 00:22:37
Ett mycket spännande projekt, ser  med spänning och intresse fram mot vad ni har att berätta,
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tis 26 mar 2019, 21:02:06
Ikväll har jag gjort en beskrivning av vilka inställningar man kan behöva göra i en MMRDC-klient. Den är en generellt beskrivning och med tiden behöver varje klient få sina specifika inställningar beskrivna också. Men det får bli senare.

Här finns beskrivningen: https://mekanoid.github.io/MMRC-documentation/MMRC%20Settings.html

Mest intressant är på slutet där man kan se möjligheten att klienterna i framtiden helt och hållet skulle kunna ställas in via ett webbgränssnitt...
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tis 26 mar 2019, 21:23:27
Återigen tack för alla glada tillrop och beröm. Det inspirerar och motiverar grymt bra!  :handshake:

Jag svarar här i "min egen" tråd, så inte CLEES-tråden blir alltför översvämmad av mina inlägg. ;)

Styrklient
Jo, man kan behöva någon form av styrklient till sin bana/modul. Men det är inte alltid.

Jag har ju en modul där klienten både hanterar en växel, en knapp och två lysdioder (för att indikera växelläget). Där har man ju redan en styrmöjlighet. Man kan ju sen låta en signal styras automatiskt av växeln. I en sån liten tillämpning behövs inte fler klineter/styrmöjligheter.

Men på en station eller större industri vill man säkert ha en central plats där man kan styra allt. Och där behövs då någon form av styrklient som lämpligen kan hantera några knappar och lysdioder. Till en Wemos, som jag använder, skulle tre knappar med två lysdioder var passa som en klient. Att göra en sån utifrån min MMRC start-klient borde inte vara svårt.
På bild nummer två i föregående inlägg har jag lagt in en ikon som symboliserar en central styrklient. Ikonen bredvid svarta routern/brokern.

Tågväg
Men att sen lägga tågvägar ger ett nytt, intressant problem. Jag har inte haft behovet, men jag tror att lösningen kan vara att varje växelklient ska kunna hantera två olika typer av kommandon: ett direktkommando som styr en enskild växel och ett tågvägskommande som när det används även blockerar möjligheten till direktkommandon.

Skulle kunna vara följande två ämnen/topics man använder:
  mmrc/deviceID/nodeID/direct/
  mmrc/deviceID/nodeID/route/

Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet ons 27 mar 2019, 19:32:03
Det blev ju en del snack om inställningar, så jag var bara tvungen att testa hur det skulle kunna fungera i MMRC. Så här ser en början ut (skärmbild från min mobil):

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc10b.png)

Tanken är att denna webbsida ska man komma till antingen första gången man startar en ny klient, när en klient inte hittar nätverket eller manuellt genom att "kortsluta" två pinnar på Arduinon.
Förutom första gången med en ny klient, så ska aktuella inställningar redan vara ifyllda, så man bara behöver ändra det nödvändiga.

Just nu visas bara bilden och ingenting "bakom" fungerar. Men det här vore kanske en bra väg att gå?
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 30 mar 2019, 15:55:22
Så, nu har jag fått igång 3D-skrivaren efter värmeelementbytet. Tyvärr håller jag på att få slut på filament (=plast) istället. :-)

All elektronik behöver fästas under modulen på något sätt. Förutom kortet behövs ju motstånd, lysdioder och en tryckknapp. Dessutom behöver servot ha någon form av hållare också. Jag har därför skapat tre olika hållare för mina moduler:

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc11.jpg)

1. Till vänster är en platta som ska hålla Wemos och ett specialkretskort jag designat. Det saknas en bygel som ska hålla korten på plats och samtidigt göra att de lätt kan bytas. Plattan är tänkt att skruvas fast med distanser under modulen. Kretskortet har plats för 5V-matning, motstånd till lysdioder och en spänningsdelare så att knappen bara matar 3V till Wemos ingång. Kortet är ännu inne testat...

2. I mitten finns den den hållare jag tidigare skapat för tryckknapp och lysdisoder. Hållaren passar i ett hål med 33 mm diameter (en hålsåg jag hade sen tidigare) och tryckknappen är infälld för att inte ta plats vid modultransport. Bakom de vita "fönstren" gjorda av vitlim, kan man sätta två gröna lysdioder.

3. Längst till höger ligger den servohållare jag skapat. Den är bara en anpassad kopia av en design jag hittat på Thingiverse. Den har plats för en microswitch, som används till att växla pol till spårkorset.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tor 04 apr 2019, 18:47:58
Idag fick jag inte igång min PC - slut på hårddiskutrymme och det tycker inte Linux om. :(
Det gick att komma in via Terminalen och rensa så jag kom igång, men det blev en anledning att åka och köpa en ny hårddisk.

RPi Zero
Dessutom råkade det komma med en sån här hem:
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc12.jpg)

En Raspberry Pi Zero W plus en låda. Tanken är alltså att jag ska ha min trådlösa router och MQTT-broker i denna RPi. Det blir otroligt smidigt, men det är nästa spå jag undrar om den inte blir för lätt att tappa bort? Och jag vet ingen om räckvidden ännu...
(Jag köpte "Raspberry Pi Zero W Essential kit" plus en originallåda på Webbhallen för totalt 268 kr.)

Fler Wemos-kloner
På hemväg hämatde jag dessutom ett paket från Lawicel;
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc13.jpg)

Där fanns fler Wemos-kloner så jag kan testa med fler klienter. Dessutom beställde jag en batterihållare och en spänningsanpassare. Jag är alltså på väg att testa hur länge jag kan driva en MQTT-klient (växelstyrning) på tre AA-batterier. Spännande. Enda smolket i bägaren är att jag nu saknar ett 4.7 kOhms-motstånd som ska vara till växelstyrningen?

Men det finns så mycket mer att prova, så det är nästan bra att det begränsningar ibland! Tiden är det största... :)
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet tor 04 apr 2019, 19:45:43
Nu har jag fått ett par Wemos D1 mini att prata med varandra.
Visserligen bara med en enkel variant av mqtt, men ändå.
Till och med kört tre st samtidigt.
Tur jag köpte ett 10-pack plus några olika shields, riktigt kul det här.
Sedan är det dags att kolla lite mer på mmrc, om det kan vara något för mig  :???:
Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet tor 04 apr 2019, 20:19:15
Mycket spännande projekt Jag hoppas att detta tar sig fram till helt självständiga moduler, inget kablage bara en strömförsörjning till modulen!
Slika små WiFi enheter drivs med 18650 batteri. Som sagt en eller flera Accespunkter AP. ordnar resten.
Jag tycker att det växer fram idéer väldigt fort och välplanerat!
(http://www.svensktmjforum.se/forum/uploads/3132/IMG_20190404_201217.jpg)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tor 04 apr 2019, 20:48:34
Ja, rcmodeler, det är riktigt roligt! Finns så mycket man kan och vill göra att man inte hinner genomföra alla idéer. :(

Tyvärr ser nog MMRC-strukturen krånglig ut, innan man förstår den. Och för en enskild person i ett enskild projekt känns det troligen "overkill". Men jag vill påstå att MMRC vinner i långsiktighet. Orkar man sitta sig in i det EN gång, har man troligen igen det när man vill bygga fler typer av klienter och större nät. I princip är det så att om man bara följer konventionen att använda "mmrc/deviceID/" först i alla dina ämnen, så kan du i alla fall aldrig förstöra för någon annan om ämnena därefter är helt dina egna. "deviceID" ska alltså vara en unik textsträng för varje klient, som lämpligen börjar med din signatur och följs av några valfria tecken för att skilja på dina egna olika klienter. T.ex: "mmrc/pkin-sj06/..." eller "mmrc/lasp-vx08/..."

Men hör av dig när du känner dig mogen och vill ha hjälp! Det finns en del i MMRC som man kan strunta i till en början, för det går att lägga till när man får behov (större nät, fler funktioner eller samspel med andra).

@Lasp
Jag vet inte om detta alltid är så välplanerat... ;)
Å andra sidan tror jag inte det behövs mer planering än att följa MMRC Convention. Då vet man att klienterna även i framtiden kommer fungera tillsammans i hur stora och "okända" nätverk som helst (nåja).

Men jag tycker dina moduler är lite väl stora. :) :)

RPi Zero räckvidd
Jag får återkomma om batteridriften, men har nu kolla att även RPi Zero W borde kunna gå att köra på batteri under en modulhelg. Och dess räckvidd på wifi verkar vara i stil med den större RPi 3+. På mobilen i en ände av huset till RPi i den andra (c:a 10m), genom två träväggar/-dörrar av modern typ, har jag 3 av 4 pinnar täckning.
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet tor 04 apr 2019, 21:22:18
Ang räckvidden, det intressanta är väl hur långt en Wemos D1 mini når när den sänder.
Det borde vara den svagaste länken.

Edit:
Gjorde en högst ovetenskaplig test. Knatade runt i huset med en batteridriven Wemos, så kunde jag kolla
på Arduinos serial monitor när den tappade kontakten.
Det blev väldigt bra, täcker nästan hela huset som är runt 120 m2 per våning.
Wifi-sändaren är i ena hörnet på huset.
Dock blev två betongväggar för mycket för den lille rackaren.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 06 apr 2019, 20:16:56
Jag testade ju räckvidden tidigare, med en "vanlig" Rapberry Pi. Då var det inga problem med c:a 10 m genom två moderna väggar/dörrar av trä. Och med din test gjord skulle jag vilja säga att räckvidden är nog för modelljärnväg. Om man nu inte ska sitta på övervåningen och styra tågen i källaren. :)

Idag har för övrigt MMRC blivit mer användarvänligt. Jag har fixat så att inställningarna av en enhet görs via en webbsida och exempelvis en smartphone/surfplatta.
Det är ännu så länge bara MMRC start (https://github.com/mekanoid/MMRC-start) som fått finessen och det saknas dokumentation (förutom i koden). Men det går sakta framåt!

Ett litet smakprov från testerna (det var lite felaktigheter kvar...):
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc14.png)
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet tis 09 apr 2019, 08:11:25
Tyvärr ser nog MMRC-strukturen krånglig ut, innan man förstår den. Och för en enskild person i ett enskild projekt känns det troligen "overkill". Men jag vill påstå att MMRC vinner i långsiktighet. Orkar man sitta sig in i det EN gång, har man troligen igen det när man vill bygga fler typer av klienter och större nät. I princip är det så att om man bara följer konventionen att använda "mmrc/deviceID/" först i alla dina ämnen, så kan du i alla fall aldrig förstöra för någon annan om ämnena därefter är helt dina egna. "deviceID" ska alltså vara en unik textsträng för varje klient, som lämpligen börjar med din signatur och följs av några valfria tecken för att skilja på dina egna olika klienter. T.ex: "mmrc/pkin-sj06/..." eller "mmrc/lasp-vx08/..."

Men hör av dig när du känner dig mogen och vill ha hjälp! Det finns en del i MMRC som man kan strunta i till en början, för det går att lägga till när man får behov (större nät, fler funktioner eller samspel med andra).

Jag ska försöka med det där, "mmrc/deviceID/", får se om jag lyckas. Vi har lite olika utgångspunkter, mmrc (och clees med, antar jag) är väl mest till för att styra växlar och signaler.
Men för att köra lok via dcc eller wifi kanske det inte är helt rätt, men jag börjar med "mmrc/dcc/" så får vi se om jag får ihop det.

Gjorde en liten snabbtest med en Wemos ("mmrc/dcc/" alltså) kopplad till DCC++master och kunde slå till/från strömmen till rälsen och dessutom lägga om en växelmotor ansluten till rälsen.
Så principen med mqtt verkar fungera som jag vill ha det, gäller bara att lägga upp det på ett smart sätt.

Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tis 09 apr 2019, 09:19:27
Hej!
Nja, jag tycker nog att du krånglar till det lite... :)
Du tänker CLEES, som delar in klienterna i olika områden, men MMRC ser ingen vits med det? Det finns inga områden (som DCC, layout, etc) i MMRC - alla klienter samsas rakt upp och ner i samma nätverk/struktur.

I ditt fall bör åtminstone "mmrc/dcc" ändras till något mer unikt, exempelvis "mmrc/rcmodeler-dcc". Tänk att någon annan kanske skulle vilja ha en likadan enhet till sina lok i samma nätverk... ;)

Observera dock att MMRC är tänkt för direkt kommunikation mellan enheter. Om du gör en "konverterare" från MQTT till DCC++ blir det krångligare. Då måste nog din konverterare veta vilka lok DCC++ hanterar och skapa ett ämne per lok i MQTT/MMRC.


Nivå 1
Så i lokstyrningsfallet blir det så att varje lok har sin egen devicdeID (eller MQTT-adress om man så vill):

 mmrc/pkin-lok002
 mmrc/pkin-ma802
 mmrc/pkin-x2-5230

Det är väl egentligen ganska enkelt? (pkin, är min signatur och används för att lättare få unika adresser i större nätverk).

Nivå 2
Sen på nästa nivå har man lokets olika funktioner, exempelvis:

 mmrc/pkin-ma802/motor
 mmrc/pkin-ma802/light
 mmrc/pkin-ma802/sound


Nivå3
Därefter har varje funktion olika egenskaper, exempelvis

 mmrc/pkin-ma802/motor/direction
 mmrc/pkin-ma802/motor/speed
 mmrc/pkin-ma802/light/front
 mmrc/pkin-ma802/light/rear
 mmrc/pkin-ma802/light/top


Utökning
Har man många saker att styra, kan det behövas många funktioner och då kan man utöka exempelvis på detta sätt:

 mmrc/pkin-ma802/light-front/dim
 mmrc/pkin-ma802/light-front/blink
 mmrc/pkin-ma802/light-rear/dim
 mmrc/pkin-ma802/light-rear/blink
 mmrc/pkin-ma802/light-top/dim


Exempel
Att ställa in lokets hastighet gör man då lämpligen genom att skicka en siffra till:
  mmrc/pkin-ma802/motor/speed/set -> 120

Alla loket ska alltså prenumerera på ämnet "mmrc/[deviceId]/motor/speed/set" och när de får en siffra skickad dit  "svarar" de lämpligen med att skriva samma värde i ämnet utan "/set", exempelvis

Handkontroll skickar (utan Retain *)):
  mmrc/pkin-ma802/motor/speed/set -> 120
och loket svarar (med Retain)
  mmrc/pkin-ma802/motor/speed -> 120

*) Retain är en "flagga" man sätter på meddelanden och bestämmer om de ska ligga kvar i ämnet tills vidare eller om de ska "försvinna" så fort de skickats vidare till alla prenumeranter.

Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet tis 09 apr 2019, 10:10:48
I ditt fall bör åtminstone "mmrc/dcc" ändras till något mer unikt, exempelvis "mmrc/rcmodeler-dcc". Tänk att någon annan kanske skulle vilja ha en likadan enhet till sina lok i samma nätverk... ;)

Det går inte att ha mer än en dcc++-master per anläggning. Eller, går och går, då får man sektionera anläggningen och får problem i skarvarna.
Och att ha flera klienter som kopplas till samma dcc++-master lär ju aldrig fungera.


Handkontroll skickar (utan Retain *)):
  mmrc/pkin-ma802/motor/speed/set -> 120
och loket svarar (med Retain)
  mmrc/pkin-ma802/motor/speed -> 120


Det där fungerar ju alldeles utmärkt om man kör loket direkt med wifi, vilket jag också kommer att prova under året (jag anser att DCC har nått sin "bäst före-datum").
Men dcc-klienten (den som översätter till dcc++-master) skall då alltså prenumerera (subscribe) på alla växlar, lok och vagnar som ha en funktionsdecoder?
Det blir ju lätt över 100 st. Och köper man en ny vagn med decoder så får man lägga till. Eller fattar jag helt fel?
Det dcc-klienten skickar till dcc++-master för att ställa in hastigheten på ett lok ser exempelvis ut så här: <t 1 802 120 1> .
Det går inte att bara skicka hastighet, utan allt ska med varje gång.
t är throttle
1 är registernr
802 är lokets decodernr
120 är hastighet (0-126)
1 är färdriktning (1=framåt, 0=bakåt)

Det finns många sätt att flå en katt  :)

Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tis 09 apr 2019, 10:38:58
Aha, jag hade nog inte riktigt koll på DCC++, utan skrev mer generellt.

Men jag tycker nog fortfarande att "mmrc/dcc" är lite för generellt, jag tror det är bra att för säkerhets skull vara lite mer specifik så man inte råkar på problem med adresseringen i framtiden...
Det kan ju finnas fler enheter som i framtiden på något sätt hanterar DCC och identiteten "dcc" uppfyller inte riktigt kraven på att vara ett unikt id, tycker jag. ;)

Citera
Det dcc-klienten skickar till dcc++-master för att ställa in hastigheten på ett lok ser exempelvis ut så här: <t 1 802 120 1> .
Då har du ju mycket bättre förutsättningar och behöver inte göra som jag skrev!
Jag trodde att du hade ett eget protokoll mellan handkontroll och DCC++-omvandlaren, men nu ska du väl i princip bara vidarebefordra meddelanden till DCC++.

Och då är du nog på helt rätt spår!
Det ska bli intressant att se vad du får fram, jag kör ju själv DCC++.

Men du har väl inte svarat på frågan om du tänkte släppa detta som öppen källkod?
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet tis 09 apr 2019, 11:25:50
Dcc-klienten kan ju heta vad som helst, spelar ingen roll. Den kan ha ett personligt id eller ett generellt, ifall andra vill ansluta till den.
Bara man håller ordning på registren, annars kan det hända saker  :D

Jag har ett väldigt simpelt protokoll mellan handkontroll och dcc-klient, men det är det jag skall ersätta med ett generellt som kan styra hela anläggningen.
Min plan är det skall vara "bakåtkompatibelt" med DCC (därav behovet av en dcc-klient).
Jag vill med trådlösa fjärrkontroller (eller mobiler/paddor) kunna styra lok, vagnar och växlar med dcc-dekoder
samtidigt som man kan styra andra lok och vagnar med wifi på samma anläggning.
Kommer också att ha ett fysiskt spårplansställverk (troligtvis vid varje station) där status på växlar och signaler syns,
och där man givetvis också kan styra växlar och signaler. Och belysning och annat smått och gott. Allt med wifi.

Kommer det att funka? Ingen aning, vi får se  :emm:
Men RC-fjärrkontrollen jag har nu fungerar ju faktiskt väldigt bra så det bör väl gå att migrera.....

Blir det nåt bra av det här så kommer jag självklart att publicera det på något sätt.
Finns ingen anledning att ta med sig sitt arbete i graven.
Titel: SV: Trådlös MJ-styrning
Skrivet av: nohab skrivet tis 09 apr 2019, 16:02:18
Men dcc-klienten (den som översätter till dcc++-master) skall då alltså prenumerera (subscribe) på alla växlar, lok och vagnar som ha en funktionsdecoder?
Det blir ju lätt över 100 st. Och köper man en ny vagn med decoder så får man lägga till. Eller fattar jag helt fel?

Tänk på att subscribes kan innhålla wildcards, både single level (+) och multi level (#).
Med en vettig topic-struktur behöver du bara en, eller några få, subscribes.


Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet tis 09 apr 2019, 19:58:33
Tänk på att subscribes kan innhålla wildcards, både single level (+) och multi level (#).
Det har jag redan med, även om det inte framgick av inläggen.

Med en vettig topic-struktur behöver du bara en, eller några få, subscribes.
Det är ju det jag inte får till, därför gör jag på ett annat sätt.
Men om någon har något förslag, så......
Titel: SV: Trådlös MJ-styrning
Skrivet av: nohab skrivet ons 10 apr 2019, 09:23:39
Ok, när du skrev "lätt över 100" så antog jag att det var utan wildcards :)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet ons 10 apr 2019, 17:05:35
Citera
Med en vettig topic-struktur behöver du bara en, eller några få, subscribes.
Det är ju det jag inte får till, därför gör jag på ett annat sätt.
Men om någon har något förslag, så......

Vore kul att försöka... men då måste du berätta mer om behov och utgångspunkt. Är det bara översättning från din fjärrkontroll till DCC++ vi talar om? Vill du i så fall kunna hantera allt den kan? Och vad kan den i så fall styra?
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet ons 10 apr 2019, 22:13:30
I princip så vill jag kunna styra allt med samma system, eller protokoll eller vad man vill kalla det.
Lok, vagnar, växlar, signaler, belysning, whatever…, med olika typer av fjärrkontroller, egenbyggda, mobiler, paddor, whatever…
och dessutom från, t.ex. fysiska spårplansställverk med indikering på växelläge (finns ingen återkoppling från växlarna utan man
får lösa indikeringen från när dom läggs om).
Lok och vagnar kan ha DCC-dekoder eller kontrolleras direkt med wifi.

Eftersom befintliga lok (10 st), vagnar med decoder (ett 20-tal) och växlar (ca 75 st) styrs från DCC++ master, och den koden tänker jag inte gå in och joxa med,
så har jag en mqtt-klient kopplad till den som skickar in kommandon via Tx-Rx enligt nedanstående protokoll:
https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation (https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation)

Det funkar med det enkla bas-mqtt som jag håller på och labbar med, jag kan köra ett lok fram och tillbaka, och lägga om en växel.
Jag är övertygad att jag kan lösa det här så det fungerar som jag vill ha det.
Problemet är om det fungerar med mmrc/clees.

Har ni tänkt att kunna köra lok överhuvudtaget, och i så fall hur?
Hur ska man lägga upp publish/subscribe på Dcc++ - klienten enligt era system, och vad skall den ha för deviceID?

Jag är väl medveten om att mina kunskaper i programmering i allmänhet och mqtt i synnerhet är på väldigt låg nivå
så det kan mycket väl vara förklaringen till att jag inte förstår.

Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet ons 10 apr 2019, 22:54:14
Det är klart att allt, och jag menar verkligen allt skall kunna hanteras denna väg.
Det innebär att man så småningom skapar lite AI och kan lägga upp scenarion som kan länkas även med val i framtiden.
Det ni håller på med nu är grunden för en helt ny generations modellhobby. Enkelt Överkomligt och Flexibelt!
Kan nog spåna fram en bra akronym.  ;-)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tor 11 apr 2019, 19:36:59
@rcmodeler: Jag tror MQTT är fullt möjlig att använda till detta - det är ju precis det jag presenterar i den andra bilden i trådens allra första inlägg. Men låt mig återkomma till detta i helgen.

Jag har nu äntligen fått fatt i motståndet jag saknade och lött ihop mitt lilla "anpassningskort" mellan Wemos-klonen, servo och knapp/lysdiod-hållaren:

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc15.jpg)

Än så länge strömförsörjer jag via USB, men jag misstänker att Wemos-klonens 5V-matning kanske inte orkar driva servot fullt ut. Så nästa steg blir att mata 5V direkt till mitt anpassningskort och därifrån till övriga förbrukare. Kortet är förberett för just det.

Jag har också sett att lysdiodernas blinkning när man ändrar växelläge är "ful" och bör programmeras om lite. Men jag vill ju ändå uppdatera med bättre inställningsmöjligheter via webbsida, precis som jag gjort med MMRC start-programmet.

Så det finns lite att finslipa, men det känns kul att ha lyckats så här långt.

- - -
Jag har förresten räknat på kostnaden för detta och totalt (inkl USB-laddare för 100 kr) hamnar allting på cirka 300 kr för en växel. Styr man två växlar blir kostnaden cirka 400 kr. Då får man lägga lite hobbytid på det också, men det räknas ju bara som nöje. :)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet tor 11 apr 2019, 23:03:23
En viktig sak när man driver sådana här intermittenta saker (går på då och då) är att använda kondensator eller supercaps.
Då finns energin när man behöver den och kan ladda upp i mellantiderna. Testa detta.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 14 apr 2019, 09:33:36
Hur ska man lägga upp publish/subscribe på Dcc++ - klienten enligt era system, och vad skall den ha för deviceID?

Nu har jag funderat på MMRC-adresser för hantering av DCC++. Det borde behövas ungefär följande adresser:

Adresslista (topics)
mmrc/rcmodeler-dcc/commands
 /status
 /power
 /store
 /erase
 /diagnostic

mmrc/rcmodeler-dcc/cab
 /throttle
 /function

mmrc/rcmodeler-dcc/layout
 /accessory
 /turnout
 /output

mmrc/rcmodeler-dcc/setting
 /main
 /prog
 /read


Körhandtaget
Och så använder man dem så att körhandtaget skickar (publicerar) ett kommando till exempelvis
  mmrc/rcmodeler-dcc/cab/throttle/set

..och sedan lyssnar (subscribe) efter svaret från DCC++ på adress
  mmrc/rcmodeler-dcc/cab/throttle

Konverterare
På konverteraren blir det då "tvärtom", den lyssnar (subscribe) istället på
  mmrc/rcmodeler-dcc/cab/throttle/set

..och svarar (publicerar) på
  mmrc/rcmodeler-dcc/cab/throttle

- - -
Enligt MMRC Convention behövs det ju även en hel del extra information om de olika funktionerna och egenskaperna. Men de flesta kan man lägga till i ett senare skede, om man vill se att allting fungerar först. Dock vore det bra om följande information/adresser alltid finns med och hanteras:

 mmrc/rcmodeler-dcc/$name
 mmrc/rcmodeler-dcc/$status

Hanteringen av $status är lite speciell, för där måste man använda MQTTs funktion för "last will (https://www.hivemq.com/blog/mqtt-essentials-part-9-last-will-and-testament/)". Det är en finess som kan användas till att få reda på när en enhet tappar kontakten med MQTT.
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet mån 15 apr 2019, 11:15:35
Bra jobbat  :up:
Får dock kolla på det senare, är ju inte helt lättförståeligt.
Den mqtt-basvariant som jag håller på att labba med är lite enklare även om jag förstår att det kan behövas mer.
Håller på att bygga och programmera lite olika delsystem, det tar nog ett par månader innan det är klart.
Har just påbörjat spårplansställverk.
Återkommer när jag har mer att visa eller fråga  :)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 04 maj 2019, 12:19:53
Den mqtt-basvariant som jag håller på att labba med är lite enklare även om jag förstår att det kan behövas mer.
Om du inte tycker MMRC passar, så behöver du ju inte följa den. Det är bara att ändra "mmrc/" mot något eget namn, så kan du göra som du vill. ;)

(MMRC är tänkt att passa till många olika saker och för många olika personer. För att det ska fungera måste man kompromissa, som vanligt här i livet. Det kan förstås betyda att vissa saker ibland blir krångligare, men det får man se som en eftergift för att helheten ska bli bra! Alternativet är förstås att inte använda sig av just MMRC, men då vill jag be om att den som gör det respekterar övriga MMRC-användare och inte använder "mmrc/" som start på sina adresser.)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 04 maj 2019, 12:23:38
Det har faktiskt hänt en del på MMRC-fonten de senaste veckorna, trots finvädret...

Strömförsörjning
Jag har exempelvis funderat mer kring strömförsörjning av MMRC-klienter. Jag har länge funderat på att använda s.k. powerbanks för detta, men har tyckt att de är onödigt dyra i förhållande till hur mycket batterikapacitet man får. Men häromdagen hittade jag en billig powerbank på 2000 mAh som jag bara var tvungen att prova. :-)

Tyvärr visar det sig att nästan alla powerbanks stänger av sig när det inte förbrukas tillräckligt hög ström. Och Arduino-liknande kretskortsdatorer drar relativt lite ström. Så tyvärr stänger även denna powerbank av sig efter en minut, vilket ju inte är så användbart i detta sammanhang.

Powerbank för Raspberry Pi
Däremot råkade jag prova att driva min Raspberry Pi Zero med powerbanken och det verkar fungera. Den har just legat på långtidstest och har drivit Raspberryn i 10 timmar. Det kanske inte är tillräckligt för en modulträff, även om man kan ha flera powerbanks att växla mellan. Alternativt kan jag köpa en större, vi får se...
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc20.jpg)

Anpassningskort
Jag har även gjort fler anpassningskort mellan Wemos och växlar. Dels för ett eller två servon, dels med eller utan spänningsomvandlare. Jag har inte bestämt vad jag själv vill använda, men nu finns i all fall alternativen.
(http://www.svensktmjforum.se/forum/uploads/2927/Turnout_adapter_Vx1_PCB_pcb.png)

Wemos-klonen och anpassningskorten behöver ju även fästas på modulen, så nu har jag konstruerat en fästplatta för dessa. Ännu så länge finns den bara för mitt "gamla" anpassningskort, men konceptet bör fungera även för de nykonstruerade anpassningskorten.
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc22.png)
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc21-f.jpg)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Lasp skrivet lör 04 maj 2019, 15:46:02
Hej du.
Jag gillar alla dessa kopplingar för att ta bort det gamla , nästan otidsenliga, som finns inom MJ.
Nu vill jag ju inte skrifa här längre eftersom alla inte är lika välkomna ombord på detta forum.
Men jag använder en dröse 18650 som jag har plockat från gamla Laptop batterier, det är samma celler i cykelbatterier. Så lumpa ihop och ladda.
Bra hållare för 18650 har jag köpt direkt både för en, två och tre celler.
Sedan leker jag nu med en lite kul ESP sak med egen batterihållare och en liten skärm! Otroligt vad man kan knö in.
Kommer att läsa här lite i fortsättningen ändå.

Med många hälsningar om en bättre framtid.

Lennart

Säg till om du vill ha bilder. /DS
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 12 maj 2019, 09:01:03
Nu vill jag ju inte skrifa här längre eftersom alla inte är lika välkomna ombord på detta forum.
Precis som ute i verkliga livet kan alla ibland lyckas uttrycka sig fel, svara när man är upprörd eller kanske bara stå på sig i sin åsikt. Min erfarenhet hittills i livet är att det är väldigt sällan som folk "är dumma" utan orsak. Vanligast är nog att det som skrivs missuppfattas eller kan tolkas annorlunda/hårdare än skribenten menade. Det eskalerar sen för att motparten tar illa vid sig och kanske svarar med samma mynt, vilket då av den första skribenten tolkas som ett påhopp (för att denne inte förstod att hens inlägg var orsaken). Sen är "cirkusen" igång, utan att någon förstod egentliga orsaken.

Men jag använder en dröse 18650 som jag har plockat från gamla Laptop batterier, det är samma celler i cykelbatterier. Så lumpa ihop och ladda.
Bra hållare för 18650 har jag köpt direkt både för en, två och tre celler.
Jag har sneglat på 18650-batterier men känner att just nu att jag inte vågar använda begagnade om jag inte vet att de har "säkerhetskretsar" inbyggt. Och nya 18650-batterier känns lite för dyra i förhållande till sitt energiinnehåll just nu.

Fyra laddbara AA-batterier, laddare och en hållare kan jag hitta för ungefär samma pris som ett nytt 18650 i Sverige - och då får jag 4 ggr så lång batteritid. Så jag börjar där, så får vi se var det slutar. :)  (Laddare & batterier hittar jag på IKEA.)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 12 maj 2019, 09:29:03
Just nu går det lite på sparlåga med MMRC. Sommaren är på väg och det finns annat som både är roligare(?) och mer prioriterat. Men lite händer det ändå.

Prototypkoppling
Jag har satt upp en liten prototyp för växelstyrning på en träbit. Tanken är dels att kunna visa upp MMRC och dels att ha en enhet färdig för att testa nya programversioner och kopplingar till andra enheter.

Första installationen
Jag håller även på att göra klart en modul där MMRC ska styra två växlar samtidigt. Jag har kommit så långt att servon är installerade, men nu väntar jag på de nya anpassnings-kretskort jag beställt.

Wifi-to-wifi
I ett sidospår har jag nu hittat en beskrivning av hur man använder en Raspberry Pi till att "knyta ihop" två olika wifi-nätverk. Jag har två idéer kring detta:
 - dels vill jag på en modulträff kunna "hämta" snabbklockan från träffen wifi-nätverk och "översätta" den till en snabbklocka för MMRC.
 - dels vill jag i framtiden undersöka om detta är en väg att gå för att koppla ihop flera olika modulägares MMRC-nätverk, kanske även CLEES med MMRC?

Här kan du läsa mer om Raspberry Pi as a wifi gateway (https://sites.google.com/site/olewsaa/yacht-server/raspberry-pi-as-a-router-gateway).
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 01 jun 2019, 20:39:36
Nu har jag fått mitt nydesignade kretskort och monterat komponenterna på det. Nästa steg är att löda fast kablarna och testa allting. Vi får se om jag hinner i helgen...

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc23.jpg)

Läs mer på https://www.infolagret.se/mj/lag-aktivitet-kring-mmrc/
Titel: SV: Trådlös MJ-styrning
Skrivet av: Goofy skrivet ons 28 aug 2019, 11:42:09
.....I princip så vill jag kunna styra allt med samma system, eller protokoll eller vad man vill kalla det.
Lok, vagnar, växlar, signaler, belysning, whatever…, med olika typer av fjärrkontroller, egenbyggda, mobiler, paddor, whatever…
och dessutom från, t.ex. fysiska spårplansställverk med indikering på växelläge (finns ingen återkoppling från växlarna utan man
får lösa indikeringen från när dom läggs om).
Lok och vagnar kan ha DCC-dekoder eller kontrolleras direkt med wifi.

Eftersom befintliga lok (10 st), vagnar med decoder (ett 20-tal) och växlar (ca 75 st) styrs från DCC++ master, och den koden tänker jag inte gå in och joxa med,
så har jag en mqtt-klient kopplad till den som skickar in kommandon via Tx-Rx enligt nedanstående protokoll:
https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation (https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation)

Det funkar med det enkla bas-mqtt som jag håller på och labbar med, jag kan köra ett lok fram och tillbaka, och lägga om en växel.
Jag är övertygad att jag kan lösa det här så det fungerar som jag vill ha det.
Problemet är om det fungerar med mmrc/clees.

Har ni tänkt att kunna köra lok överhuvudtaget, och i så fall hur?
Hur ska man lägga upp publish/subscribe på Dcc++ - klienten enligt era system, och vad skall den ha för deviceID?

Jag är väl medveten om att mina kunskaper i programmering i allmänhet och mqtt i synnerhet är på väldigt låg nivå
så det kan mycket väl vara förklaringen till att jag inte förstår.

Vad kul att någon annan gjort en brygga mellan DCC++ och MQTT!  Det har jag också.
Men, ingen styrning av växlar via DCC++ för mig, det går annan väg.
Det som min brygga gör är att styra lok på "main track" (trottel och F0-F28)  och skriva/läsa CV på "programming track". Det är allt i dagsläget.
Har dock funderat kring det där med dekodrar i vagnarna (har inga i dagsläget), den kommunikationen vill man kanske köra via rälsen, och då blir det också via DCC++. ?
Hur tänker ni andra om dekodrar i vagnar?

och vad skall den ha för deviceID?

I mitt system heter den  "WiximDCCppInterface" hittills är det den enda som har ett statiskt namn. Man kan inte ha fler än en ansluten samtidigt, lite av en säkerhetsgrej.
Den har för övrigt en Watch-dog på bara två sekunder. Och en last will som funkar som nödbroms :)

Jag har hållit på lite med MQTT, och har väl kommit på några grejor värda att tänka på speciellt när det gäller MJ.

[li]
[/li][/list]


Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet tor 29 aug 2019, 07:10:20
Citera
Men, ingen styrning av växlar via DCC++ för mig, det går annan väg.
Min bror, som bygger anläggningen (skala 0), använder Lenz räls och växlar.
Och Lenz växelmotorer är DCC-styrda. För- och nackdelar med allting, men det blir ju väldigt lite kablar.
Citera
Har dock funderat kring det där med dekodrar i vagnarna (har inga i dagsläget), den kommunikationen vill man kanske köra via rälsen, och då blir det också via DCC++. ?
Hur tänker ni andra om dekodrar i vagnar?

Jag bygger ju ett lok, Z49, och en av prototyperna ska jag wifi-konvertera. Strömmen tar jag från rälsen men styrningen kommer direkt från den trådlösa handkontrollen.
Kan alltså köra DCC-lok och wifi-lok samtidigt från samma körkontroll.
Med vagnar gör jag det som är enklast. Är det bara belysning så kanske en enkel DCC-dekoder gör jobbet, men ska man styra funktioner, servon och grejor, så blir det samma som loket, wifi.
Citera
Jag har hållit på lite med MQTT, och har väl kommit på några grejor värda att tänka på speciellt när det gäller MJ.
Tack för tipsen, själv är jag helt grön på det här, men det är alltid kul att lära sig nya saker.

Har inte haft tid att pyssla med detta i sommar men har börjat så smått nu igen. Det roliga är att det verkar funka som jag vill ha det.
Blir varken MMRC eller Clees, jag kör en egen variant. Kanske startar en egen tråd om det senare, istället för att blanda ihop principerna.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tis 19 nov 2019, 18:46:26
Jag har nu börjar titta lite på MMRC igen.

Det stora som hänt är att jag har "flyttat ut" servo-funktioner och lysdiod-funktioner till två separata bibliotek (i princip två separata filer). För den som kan programmering, är det två separata klasser. Fördelen med ett bibliotek/klass är att den ligger utanför ditt eget program och gör din egen kod mer lättöverskådligt. Dessutom ger den programmeraren färdiga funktioner som enkelt/enklare kan användas.

Ett exempel är biblioteket/klassen jag gjort för ett servo. Du som programmerare behöver inte bry dig om hur koden ser ut, utan behöver bara lära dig hantera de funktioner du behöver, exempelvis:
Kodstycke: [Välj]
servoVx1.limits();
servoVx1.onFinished();
servoVx1.through();
servoVx1.diverge();

Första kommando sätter värdena för servot: max, min och med vilken hastighet det ska röra sig
Nästa talar om vilken funktion som ska köras när servo rört sig klart (så man kan sätta t.ex en signal eller statusdiod)
Tredje ställer växeln (servot) i läge rakt fram
Fjärde ställer växeln (servot) i läge sväng

Med dessa fyra funktioner kan man göra det mesta med en växel. På samma sätt kan biblioteket/klassen för lysdioder också förenkla hanteringen. Och i alla fall underlättare det mycket för mig själv och gör min kod lättare att läsa/hantera. Just nu kan jag med 100 rader kod styra en växel med hjälp av en Arduino, ett servo, en tryckknapp och två indikerings-lysdioder. Och då finns en del finesser som att lysdioderna indikerar när du just startat styrningen och blinkar under växelomläggningen.

Nästa steg är nu att dels göra en funktion för att hantera MQTT-meddelanden så man kan prata med andra MMRC-moduler. Dessutom behöver jag få igång wifi-funktionerna så man kan "prata" trådlöst. Detta blir nog lite mer avancerat att få till...
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet mån 25 nov 2019, 19:48:41
Såja, nu har jag fått MMRC-programmet som styr växlar att fungera som det ska. Alla funktioner är inte på plats (MQTT saknas) men nu styr jag min spårbytesmodul med nya programversionen.

Det tog en stund att trimma in servona, men det underlättades av att jag nu kan ändra deras läge och hastighet via wifi och en webbläsare på mobilen. Det fina är då att jag lättare kan justera växellägen på träffar, då jag ju alltid har mobiltelefonen med där.

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc25.jpg)

Nästa steg blir dels att få igång MQTT-kommunikationen, dels att dokumentera koden och användningen lite mer. Därefter är det nog dags att publicera koden, om ingen är nyfiken redan nu?
Titel: SV: Trådlös MJ-styrning
Skrivet av: Du618 skrivet tor 28 nov 2019, 22:51:52
Hej

Jag har funderat på att "radiostyra" lok, det finns visst små till HO lastbilar. Skulle väl gå att få i de flesta lok. Jag vill slippa ström i rälsen och alla små stopp i växlar.

Samt kunna bygga växlar och spår enklare.

Du 618
Titel: SV: Trådlös MJ-styrning
Skrivet av: lgrfbs skrivet fre 29 nov 2019, 11:17:54
Några länkar till Du618
https://www.deadrailsociety.com/
http://bluerailtrains.com/
Titel: SV: Trådlös MJ-styrning
Skrivet av: rcmodeler skrivet fre 29 nov 2019, 13:46:30
Hej

Jag har funderat på att "radiostyra" lok, det finns visst små till HO lastbilar. Skulle väl gå att få i de flesta lok. Jag vill slippa ström i rälsen och alla små stopp i växlar.

Samt kunna bygga växlar och spår enklare.

Du 618

Kanske dags att sluta fundera och sätta igång?  ;)
https://www.svensktmjforum.se/forum/index.php?topic=22345.msg224870#msg224870 (https://www.svensktmjforum.se/forum/index.php?topic=22345.msg224870#msg224870)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet fre 27 dec 2019, 18:18:00
Nu har jag kommit ett steg längre. I princip går det nu att göra en komplett växelstyrning för vem som helst med intresse och lite kunskap!

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc26.png)

Jag har nämligen lagt upp ny version av programvaran samt både 3D-filer och mönsterkortslayouter på Github:
 - https://github.com/mekanoid/MMRC-2turnout
 - https://github.com/mekanoid/MMRC-3dprint
 - https://github.com/mekanoid/MMRC-pcb

(http://www.svensktmjforum.se/forum/uploads/2927/mmrc27.png)

Så den som vill kan nu prova att göra sen egen MMRC-styrda växel. Det är fortfarande ett projekt för "gör-det-självaren" men alla underlag finns nu i alla fall tillgängliga. Det enda som egentligen är viktigt, det är att man följer reglerna (https://mekanoid.github.io/MMRC-documentation/MMRC%20Convention.html) för hur man hanterar MQTT-meddelanden. Resten är upp till var och en!

Här kan ni läsa lite mer i detalj vad jag gjort med MMRC på senare tid: https://www.infolagret.se/mj/mmrc-uppdateringar
En översikt över all MMRC-material hittills finns på: https://mekanoid.github.io/MMRC-documentation/
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet ons 01 jan 2020, 20:14:07
Nu har jag även skrivit ihop en liten beskrivning om hur man kopplar ihop en växelstyrning för MMRC:
 https://www.infolagret.se/mj/artiklar/elektroniken/mmrc-servostyrning/

Planen är att skriva artiklar även om 3D-utskrifterna som kan göras och hur man laddar mjukvaran i en Arduino. Men det blir en senare fråga.
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet fre 03 jan 2020, 15:56:41
Och nu är nästa steg i dokumentationen av MMRC klart. Här har jag beskrivit hur man får igång Arduinos utvecklingsmiljö och använder den för MMRC:
 https://www.infolagret.se/mj/artiklar/elektroniken/mmrc-programmering/

Första delen av instruktionerna kan kanske vara användbara mer generellt om man vill komma igång med Arduino-programmering?
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 13 jun 2020, 18:50:30
Hej alla!
För en dryg vecka sedan fick jag till en bättre dokumentation av MMRC. Och framför allt har jag nu samlat allting på ett mer enhetligt sätt:
(http://www.svensktmjforum.se/forum/uploads/2927/mmrc-dok.png)

En helt ny sektion om Ämnesstruktur har författats och där försöker jag bättre beskriva hur MQTT ska användas för MMRC. Det kan säkert behövas än mer förklaring och framför allt tydligare exempel, men det får bli när vädret är sämre. :)

Du hittar allt om MMRC här: https://www.infolagret.se/mmrc/
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet sön 12 jul 2020, 15:31:59
Hej!
Nu har jag försökt definiera ett antal ämnen (topics) som MMRC ska använda för att styra signaler, växlar, knappar och block. Jag har inte fått till allting klart, men lägger upp det här (också) och ser om det kan bli någon diskussion kring vad jag kallat olika saker? Mer detaljer finns att läsa på https://www.infolagret.se/mmrc/docs/function-intro

Växlar

Typ
mmrc/[id]/[node]/$type = 2turnout (tvåvägsväxel)
mmrc/[id]/[node]/$type = 3turnout (trevägsväxel)
mmrc/[id]/[node]/$type = 4turnout (korsningsvägsväxel)

Ämnen
mmrc/[id]/[node]/[typ]/turn/
mmrc/[id]/[node]/[typ]/turn/set

Meddelanden
mmrc/[id]/[node]/2turnout/turn/ -> throw
mmrc/[id]/[node]/2turnout/turn/ -> through
mmrc/[id]/[node]/3turnout/turn/ -> left
mmrc/[id]/[node]/3turnout/turn/ -> right
mmrc/[id]/[node]/3turnout/turn/ -> through
mmrc/[id]/[node]/4turnout/turn/ -> ???
mmrc/[id]/[node]/4turnout/turn/ -> ???
mmrc/[id]/[node]/4turnout/turn/ -> ???
mmrc/[id]/[node]/4turnout/turn/ -> ???

Signaler

Typ
mmrc/[id]/[node]/$type = mainsignal (huvudsignal)
mmrc/[id]/[node]/$type = nextsignal (försignal)

Ämnen
mmrc/[id]/[node]/mainsignal
mmrc/[id]/[node]/mainsignal/set
mmrc/[id]/[node]/nextsignal
mmrc/[id]/[node]/nextsignal/set

Meddelanden
stop
fwd80
fwd40
fwd40slow
fwd40short
fwd40sight


Knappar

Typer
mmrc/[id]/[node]/$type = pushbutton (knapp)
mmrc/[id]/[node]/$type = switch (omkopplare)

Ämnen
mmrc/[id]/[node]/pushbutton
mmrc/[id]/[node]/pushbutton/set
mmrc/[id]/[node]/switch
mmrc/[id]/[node]/switch/set

Meddelanden
mmrc/[id]/[node]/pushbutton/set -> push
mmrc/[id]/[node]/pushbutton/set -> idle
mmrc/[id]/[node]/pushbutton/set -> state0 (till stateN)


Block

Typer
mmrc/[id]/[node]/$type = block

Ämnen
mmrc/[id]/[node]/detection
mmrc/[id]/[node]/direction

Meddelanden
mmrc/[id]/[node]/detection -> free
mmrc/[id]/[node]/detection -> occupied
mmrc/[id]/[node]/direction -> up
mmrc/[id]/[node]/direction -> down
mmrc/[id]/[node]/direction -> unknown
Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet lör 25 jul 2020, 23:23:00
Vad kallas en försignal på engelska?
Och vad kallas det två lägena på en tvåvägsväxel på engelska? Trough and diverge?

Behöver veta för att få till korrekta benämningar för "styrsignalerna". Tack på förhand!
Titel: SV: Trådlös MJ-styrning
Skrivet av: lgrfbs skrivet sön 26 jul 2020, 00:14:57
Växel benäms:
“t” indicates that the switch is “thrown” (for a turnout, the diverging route is set)
“c” indicates that the switch is “closed” (for a turnout, the mainline route is set)
i Digitrax manual (Sida 47).
https://www.digitrax.com/media/apps/products/throttles/dt500dce/documents/DT500_manual_rev.1.pdf

Lenz kör med benämningen: '"branch" or "straight"'
Sida: 26
https://www.lenz-elektronik.de/pdf/b_11150_def.pdf


Du kan ju testa om du får svar direkt från någon på NMRA youtube kanal, de har direkt videos med chatt ganska ofta nu.
https://www.youtube.com/c/NMRAORGModelRailroading/videos (https://www.youtube.com/c/NMRAORGModelRailroading/videos)
(Admin detta ska vara en länk och inte ett videofönster)
Titel: SV: Trådlös MJ-styrning
Skrivet av: Sven-E skrivet sön 26 jul 2020, 18:36:03
Vad kallas en försignal på engelska?
Distant signal.

Citera
Och vad kallas det två lägena på en tvåvägsväxel på engelska? Trough and diverge?
"closed" för rakt fram och "thrown" för sidläge.

Notera också att växel heter "point" på brittisk engelska och "switch" eller "turnout" på amerikansk engelska.

Titel: SV: Trådlös MJ-styrning
Skrivet av: Mekanoid skrivet tis 28 jul 2020, 11:16:08
Tack för svaren!
Jag får nog justera mina benämningar i programmet, men eventuellt blir det en blandning av amerikansk och brittisk engelska...
Titel: SV: Trådlös MJ-styrning
Skrivet av: haba skrivet sön 04 okt 2020, 17:32:01
Kanske dags att synca med de som håller på med MQTT på DCC++ (DCC-EX) fronten.

Harald.