Sommario:
- Fase 1: Principi operativi
- Passaggio 2: scambio e configurazione di dati MQTT
- Passaggio 3: controllore del treno
- Passaggio 4: controllo del treno LEGO
- Passaggio 5: telecomando
- Passaggio 6: controller del sensore
- Passaggio 7: controller di uscita
- Passaggio 8: Raspberry Pi e router WiFi
- Passaggio 9: controller finiti
Video: Controllo WiFi del treno modello utilizzando MQTT: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Avendo un vecchio modello di treno in scala TT, ho avuto un'idea su come controllare le locomotive individualmente.
Con questo in mente, ho fatto un ulteriore passo avanti e ho capito cosa è necessario non solo per controllare i treni, ma anche per avere alcune informazioni aggiuntive sull'intero layout e controllare qualcos'altro (lampade, scambi ferroviari…)
È così che nasce il sistema di modellismo ferroviario controllato tramite WiFi.
Fase 1: Principi operativi
Il principio principale è controllare ogni elemento individualmente, da un singolo controller o da più fonti di controllo. Ciò richiede intrinsecamente un livello fisico comune - ovviamente WiFi - e un protocollo di comunicazione comune, MQTT.
L'elemento centrale è il broker MQTT. Ogni dispositivo connesso (treno, sensore, uscita…) può comunicare solo attraverso il Broker e può ricevere dati solo dal Broker.
Il cuore dei dispositivi è un controller WiFi basato su ESP8266, mentre il broker MQTT funziona su un Raspberry pi.
All'inizio la copertura Wi-Fi è fornita da un router Wi-Fi e tutto è collegato tramite wireless.
Esistono 4 tipi di dispositivi:
- Train controller: dispone di 2 ingressi digitali, 1 uscita digitale, 2 uscite PWM (per il controllo di 2 motori CC individuali), - Controller sensore: dispone di 7 ingressi digitali (per interruttori di ingresso, optosensori…), - Controller di uscita: dispone di 8 uscite digitali (per scambi ferroviari…), - WiFi remoto: dispone di 1 ingresso encoder incrementale, 1 ingresso digitale (per il controllo dei treni da remoto).
Il sistema è anche in grado di operare da Node-Red (da tablet, PC o smartphone…).
Passaggio 2: scambio e configurazione di dati MQTT
Basato sul protocollo MQTT, all'inizio ogni dispositivo si iscrive a un determinato argomento e può pubblicare su un altro argomento. Questa è la base della comunicazione della rete di controllo dei treni.
Questi racconti di comunicazione avvengono tramite messaggi in formato JSON, per essere brevi e leggibili dall'uomo.
Guardando da una prospettiva più lontana: la rete ha un router WiFi con un proprio SSID (nome della rete) e una password. Ogni dispositivo deve conoscere questi 2 per accedere alla rete WiFi. Anche il broker MQTT fa parte di questa rete, quindi per utilizzare il protocollo MQTT ogni dispositivo deve conoscere l'indirizzo IP del broker. E infine ogni dispositivo ha il suo argomento per la sottoscrizione e la pubblicazione dei messaggi.
In pratica, un determinato telecomando utilizza lo stesso argomento per pubblicare i messaggi a cui è abbonato un determinato treno.
Passaggio 3: controllore del treno
Per controllare un trenino, fondamentalmente abbiamo bisogno di 3 cose: un alimentatore, un controller abilitato al WiFi e l'elettronica del driver del motore.
L'alimentazione dipende dal piano di utilizzo effettivo: nel caso di LEGO, questa è la scatola della batteria Power Functions, nel caso di un treno "oldschool" in scala TT o H0, è l'alimentazione a 12V della pista.
Il controller abilitato WiFi è un controller Wemos D1 mini (basato su ESP8266).
L'elettronica del driver del motore è un modulo basato su TB6612.
Il controller del treno ha 2 uscite PWM controllate individualmente. In realtà uno è utilizzato per il controllo del motore e l'altro è utilizzato per la segnalazione luminosa. Dispone di 2 ingressi per il rilevamento basato su contatto reed e un'uscita digitale.
Il controller accetta messaggi JSON tramite WiFi e protocollo MQTT.
SPD1 controlla il motore, ad esempio: Il messaggio {"SPD1": -204} viene utilizzato per far retrocedere il motore all'80% di potenza (il valore di velocità massima è -255).
SPD2 controlla l'intensità della luce LED "sensibile alla direzione": il messaggio {"SPD2": -255} fa brillare il LED (indietro) alla massima potenza.
OUT1 controlla lo stato dell'uscita digitale: {"OUT1": 1} attiva l'uscita.
Se lo stato di un ingresso cambia, il controllore invia un messaggio in base ad esso: {"IN1": 1}
Se il controller riceve un messaggio valido, lo esegue e fornisce un feedback al broker. Il feedback è il comando effettivamente eseguito. Ad esempio: se il broker invia {"SPD1": 280} allora il motore funziona a piena potenza ma il messaggio di feedback sarà: {"SPD1": 255}
Passaggio 4: controllo del treno LEGO
Nel caso del treno LEGO, gli schemi sono leggermente diversi.
L'alimentazione proviene direttamente dalla scatola della batteria.
È necessario un mini convertitore step-down per fornire 3,5 V per la scheda Lolin basata su ESP8266.
I collegamenti sono realizzati con un filo di prolunga LEGO 8886, tagliato a metà.
Passaggio 5: telecomando
Il controller pubblica solo messaggi sul treno (definito dallo switch BCD).
Ruotando l'encoder, il telecomando invia messaggi {"SPD1": "+"} o {"SPD1": "-"}.
Quando il treno riceve questo messaggio di "tipo incrementale", cambia il suo valore di uscita PWM di 51 o -51.
In questo modo il telecomando può modificare la velocità del treno in 5 passaggi (per direzione).
Premendo l'encoder incrementale si invierà {"SPD1": 0}.
Passaggio 6: controller del sensore
Il cosiddetto controller del sensore misura gli stati dei suoi ingressi e, se uno di essi cambia, pubblica quel valore.
Ad esempio: {"IN1": 0, "IN6": 1} in questo esempio 2 ingressi hanno cambiato stato contemporaneamente.
Passaggio 7: controller di uscita
Il controller di uscita dispone di 8 uscite digitali, che sono collegate a un modulo basato su ULN2803.
Riceve messaggi attraverso il suo argomento sottoscritto.
Ad esempio il messaggio {"OUT4": 1, "OUT7": 1} attiva l'uscita digitale 4. e 7.
Passaggio 8: Raspberry Pi e router WiFi
Avevo un router WiFI TP-Link usato, quindi l'ho usato come punto di accesso.
Il broker MQTT è un Raspberry Pi con Mosquitto installato.
Uso il sistema operativo Raspbian standard con MQTT installato con:
sudo apt-get install mosquitto mosquitto-clients python-mosquitto
Il router TP-Link deve essere configurato per avere una prenotazione dell'indirizzo per il Raspberry, quindi dopo ogni riavvio il Pi ha lo stesso indirizzo IP e ogni dispositivo può connettersi ad esso.
E questo è tutto!
Passaggio 9: controller finiti
Ecco i controller finiti.
Il loko in scala TT ha dimensioni così ridotte che una tavola Lolin doveva essere ristretta (tagliata) per essere abbastanza piccola da adattarsi al treno.
I binari compilati possono essere scaricati. Per motivi di sicurezza, l'estensione bin è stata sostituita con txt.
Consigliato:
Layout del treno modello automatizzato (versione 1.0): 12 passaggi
Layout del treno modello automatizzato (versione 1.0): i treni modello sono sempre divertenti da avere e da gestire. Ma controllarli manualmente a volte sembra essere un po' noioso. Quindi, in questo tutorial, ti mostrerò come automatizzare il tuo plastico ferroviario in modo che tu possa sederti e rilassarti mentre guardi il tuo
Controlla il layout del tuo modello di treno con la tua TASTIERA!: 12 passaggi
Controlla il layout del tuo modello di treno con la tua tastiera!: In uno dei miei precedenti Instructable, ti ho mostrato come puoi controllare il tuo modello di treno con il telecomando della TV. Puoi controllare una versione aggiornata anche qui. In questo Instructable, ti mostrerò come controllare un layout di un treno modello con una tastiera thr
Controlla il layout del tuo modello di treno con il tuo cellulare!: 11 passaggi (con immagini)
Controlla il layout del tuo modello di treno con il tuo telefono cellulare!: Il controllo di un layout di modello di treno con un acceleratore cablato e controller di affluenza potrebbe essere un buon inizio per i principianti, ma pongono un problema di non portabilità. Inoltre, i controller wireless disponibili sul mercato possono controllare solo alcune locomotive
Treno modello controllato da tastiera V2.0 - Interfaccia PS/2: 13 passaggi (con immagini)
Treno modello controllato da tastiera V2.0 | Interfaccia PS/2: in uno dei miei precedenti Instructable, ti ho mostrato come controllare un plastico ferroviario usando una tastiera. Funzionava benissimo, ma aveva l'inconveniente di richiedere un computer per funzionare. In questo Instructable, vediamo come controllare un treno modello usando un keyboar
Controlla il layout del tuo modello di treno con il telecomando della TV!: 7 passaggi (con immagini)
Controlla il layout del tuo modello di treno con il telecomando della tua TV!: In questo tutorial, ti mostrerò come realizzare un sistema di controllo remoto IR per un modello di treno. Sarai quindi in grado di controllare i tuoi treni mentre ti rilassi sul divano. Quindi iniziamo