Tabla de contenido:
- Paso 1: Principios de operación
- Paso 2: Configuración e intercambio de datos MQTT
- Paso 3: Controlador de tren
- Paso 4: Control del tren LEGO
- Paso 5: control remoto
- Paso 6: controlador de sensor
- Paso 7: controlador de salida
- Paso 8: Raspberry Pi y enrutador WiFi
- Paso 9: Controladores terminados
Video: Modele el control de WiFi del tren usando MQTT: 9 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Teniendo un antiguo sistema de maquetas de trenes a escala TT, tenía una idea de cómo controlar las locomotoras individualmente.
Con esto en mente, fui un paso más allá y descubrí lo que se necesita no solo para controlar los trenes, sino para tener información adicional sobre todo el diseño y controlar algo más (luces, interruptores de riel …)
Así es como nace el sistema de trenes en miniatura controlado por WiFi.
Paso 1: Principios de operación
El principio principal es controlar cada elemento individualmente, ya sea desde un solo controlador o desde múltiples fuentes de control. Esto inherentemente necesita una capa física común, más obviamente WiFi, y un protocolo de comunicación común, MQTT.
El elemento central es el Broker MQTT. Cada dispositivo conectado (tren, sensor, salida…) solo puede comunicarse a través del Broker y solo puede recibir datos del Broker.
El corazón de los dispositivos es un controlador WiFi basado en ESP8266, mientras que el broker MQTT se ejecuta en una Raspberry pi.
Al principio, la cobertura Wifi la proporciona un enrutador WiFi, y todo se conecta a través de la red inalámbrica.
Hay 4 tipos de dispositivos:
- Controlador de tren: tiene 2 entradas digitales, 1 salida digital, 2 salidas PWM (para controlar 2 motores de CC individuales), - Controlador de sensor: tiene 7 entradas digitales (para interruptores de entrada, optosensores …), - Controlador de salida: tiene 8 salidas digitales (para interruptores de carril …), - WiFi remoto: tiene 1 entrada de codificador incremental, 1 entrada digital (para controlar trenes de forma remota).
El sistema también es capaz de operar desde Node-Red (desde tableta, PC o teléfono inteligente…).
Paso 2: Configuración e intercambio de datos MQTT
Basado en el protocolo MQTT, al principio cada dispositivo se suscribe a un tema determinado y puede publicar en otro tema. Ésta es la base de la comunicación de la red de control de trenes.
Los cuentos de esta comunicación se colocan a través de mensajes en formato JSON, para que sean breves y legibles por humanos.
Mirando desde una perspectiva más lejana: la red tiene un enrutador WiFi con su propio SSID (nombre de red) y una contraseña. Todo dispositivo debe conocer estos 2 para acceder a la red WiFi. El bróker MQTT también forma parte de esta red, por lo que para utilizar el protocolo MQTT, todos los dispositivos deben conocer la dirección IP del bróker. Y, por último, cada dispositivo tiene su propio tema para suscribirse y publicar mensajes.
Prácticamente, un control remoto determinado utiliza el mismo tema para publicar mensajes a los que está suscrito un tren determinado.
Paso 3: Controlador de tren
Para controlar un tren de juguete, básicamente necesitamos 3 cosas: una fuente de alimentación, un controlador habilitado para WiFi y la electrónica del controlador del motor.
La fuente de alimentación depende del plan de uso real: en el caso de LEGO, esta es la caja de batería Power Functions, en el caso de un tren de escala TT o H0 "oldschool", es la fuente de alimentación de 12V de la vía.
El controlador habilitado para WiFi es un controlador Wemos D1 mini (basado en ESP8266).
La electrónica del controlador del motor es un módulo basado en TB6612.
El controlador del tren tiene 2 salidas PWM controladas individualmente. Actualmente, uno se utiliza para el control de motores y el otro para la señalización luminosa. Tiene 2 entradas para detección basada en contacto de láminas y una salida digital.
El controlador acepta mensajes JSON a través del protocolo WiFi y MQTT.
SPD1 controla el motor, por ejemplo: El mensaje {"SPD1": -204} se usa para mover el motor hacia atrás al 80% de la potencia (el valor de velocidad máxima es -255).
SPD2 controla la intensidad de la luz LED "sensible a la dirección": el mensaje {"SPD2": -255} hace que el LED (hacia atrás) brille a su máxima potencia.
OUT1 controla el estado de la salida digital: {"OUT1": 1} activa la salida.
Si el estado de una entrada cambia, el controlador envía un mensaje de acuerdo con él: {"IN1": 1}
Si el controlador recibe un mensaje válido, lo ejecuta y proporciona una retroalimentación al corredor. La retroalimentación es el comando realmente ejecutado. Por ejemplo: si el corredor envía {"SPD1": 280}, entonces el motor está funcionando a plena potencia, pero el mensaje de retroalimentación será: {"SPD1": 255}
Paso 4: Control del tren LEGO
En el caso del tren LEGO, los esquemas son un poco diferentes.
La energía proviene directamente de la caja de la batería.
Es necesario un mini convertidor reductor para proporcionar 3,5 V para la placa Lolin basada en ESP8266.
Las conexiones se realizan con un cable de extensión LEGO 8886, cortado por la mitad.
Paso 5: control remoto
El controlador solo publica mensajes al tren (definido por el interruptor BCD).
Al girar el codificador, el control remoto envía mensajes {"SPD1": "+"} o {"SPD1": "-"}.
Cuando el tren recibe este mensaje de "tipo incremental", cambia su valor de salida PWM en 51 o -51.
De esta manera, el control remoto puede cambiar la velocidad del tren en 5 pasos (en cada dirección).
Al presionar el codificador incremental se enviará {"SPD1": 0}.
Paso 6: controlador de sensor
El llamado controlador de sensor mide los estados de sus entradas y, si alguna de ellas cambia, publica ese valor.
Por ejemplo: {"IN1": 0, "IN6": 1} en este ejemplo, 2 entradas cambiaron de estado al mismo tiempo.
Paso 7: controlador de salida
El controlador de salida tiene 8 salidas digitales, que están conectadas a un módulo basado en ULN2803.
Recibe mensajes a través de su tema suscrito.
Por ejemplo, el mensaje {"OUT4": 1, "OUT7": 1} enciende la 4. y la 7. salida digital.
Paso 8: Raspberry Pi y enrutador WiFi
Tenía un enrutador TP-Link WiFI usado, así que lo usé como un punto de acceso.
El broker MQTT es una Raspberry Pi con Mosquitto instalado.
Utilizo el sistema operativo Raspbian estándar con MQTT instalado con:
sudo apt-get install mosquitto mosquitto-clients python-mosquitto
El enrutador TP-Link debe configurarse para tener una reserva de dirección para la Raspberry, por lo que después de cada reinicio, el Pi tiene la misma dirección IP y todos los dispositivos pueden conectarse a él.
¡Y eso es!
Paso 9: Controladores terminados
Aquí están los controladores terminados.
El loko de escala TT tiene un tamaño tan pequeño que una tabla Lolin tuvo que estrecharse (cortarse) para que fuera lo suficientemente pequeña como para caber en el tren.
Los binarios compilados se pueden descargar. Por razones de seguridad, la extensión bin se reemplazó por txt.
Recomendado:
Control llevado en todo el mundo usando Internet usando Arduino: 4 pasos
Control dirigido en todo el mundo usando Internet usando Arduino: Hola, soy Rithik. Vamos a hacer un led controlado por internet usando tu teléfono. Vamos a usar software como Arduino IDE y Blynk. Es simple y si lo lograste puedes controlar tantos componentes electrónicos como quieras Cosas que necesitamos: Hardware:
Pantalla del tren y el tiempo del Reino Unido: 5 pasos
Pantalla del tiempo y del tren del Reino Unido: este instructivo es para las salidas de un tren del Reino Unido con pilas y la pantalla del tiempo. Usó la base de datos National Rail OpenLDBWS para obtener información de salida de trenes en tiempo real para una estación de tren local en particular y mostrarla. Utiliza openweather
INSTALACIÓN DE REEMPLAZO DEL BOTÓN TRASERO DEL BOTÓN TRASERO DEL CERRADURA DEL PORTÓN TRASERO DE RENAULT SCENIC / MEGANE: 3 Pasos
INSTALACIÓN DE REEMPLAZO DEL BOTÓN TRASERO DEL BOTÓN DE LA PUERTA TRASERA DE RENAULT SCENIC / MEGANE: La junta tórica de mala calidad que mantiene el botón del maletero en su lugar se desgasta y se pierde el botón del maletero del vehículo. La única solución de Renaults para esto es un mecanismo de bloqueo de arranque de reemplazo completo que solo fallará nuevamente y costará
Control del interruptor del calentador con relé usando Sonoff Th10: 8 pasos
Controle el interruptor del calentador con relé utilizando Sonoff Th10: los dispositivos sonoff le permiten encender y apagar equipos eléctricos. El modelo th10 está diseñado específicamente para encender y apagar calentadores con control de temperatura y capacidades de programación de tiempo. El problema surge cuando el calentador de su hogar funciona con gas a
Liberación del cable del control remoto Olympus Evolt E510 (versión 2 con enfoque automático en el control remoto): 6 pasos (con imágenes)
Lanzamiento del cable del control remoto Olympus Evolt E510 (versión 2 con enfoque automático en el control remoto): Ayer construí un control remoto simple de un botón para mi Olympus E510. La mayoría de las cámaras tienen un botón disparador (el que presiona para tomar una foto) que tiene dos modos. Si se presiona suavemente el botón, la cámara se enfocará automáticamente y medirá la luz