DCCpp con WiFi ESP8266
Tenemos dos maneras para configurar el módulo ESP8266 o ESP-01 para conectarnos con la central DCC++ (metodo clasido)
o con la librería DCC-EX (metodo DCC-EX).
Metodo clasico:
Lo primero es configurar el módulo ESP8266 como servidor WebSocket... WebSocket... ¿Eso que es y que tiene que ver los trenes? pues en este caso es el protocolo de comunicación entre los dispositivos y es el equivalente al HTTP. En este caso es WS y su sintaxis es la siguiente: ws://ipservidor:puerto.
Programador USB ESP8266
Para poder enviar datos tenemos que cargar un "puente" en el ESP8266 de tal manera que los datos los mandamos al modulo vía Wifi, y el se encaga de pasar el mensaje de su puerto serial Tx y Rx al de la central DCC++
El módulo recomendado para esto es el ESP8266 en su versión ESP-01, para programarlo podemos usar una adaptador o con Arduino NANO o UNO".
El puerto por defecto es el 8080 pero podemos cambiarlo, eso si, recuerda cambiarlo también en el dispositivo que se conecte a central DCC++. Una vez que se conecte recibiremos el siguiente mensaje:
Descargar DCCpp WebSocket Server en Github
Conexión modulo ESP8266 con central DCC++
Metodo DCCEX:
Para programar el modulo en este modo necesitamos tener primero los archivos .bin que podemos descargar aquí.
Con este firmware llamado NonOS hace que el modulo se configure desde la central DCCEX. Para programarlo usaremos el programador USB para más comodidad.
La herramienta recomendada para usuarios windows es el Flash Download tool
Si eres usuario de Linux existe el esptool.py y se instala con los siguientes comandos:
Primero actualizamos:
sudo apt-get update -y
Después instalamos esptoll con el comando:
sudo apt-get install -y esptool
Buscamos el ejecutable:
find . -name esptool.py
Una vez lo tengamos localizado en mi caso es: ”./snap/arduino/85/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/” copiamos los archivos .bin a esa carpeta y ejecutamos los comandos erase_flash y write_flash:
Primero borramos el posible contenido con:
esptool.py -p /dev/ttyUSB0 erase_flash
y subimos los archivos:
- boot_v1.7.bin
- user1.1024.new.2.bin
- esp_init_data_default_v08.bin
- blank.bin (X2)
esptool.py --port /dev/ttyUSB0 write_flash -fs 1MB -ff 40m -fm dio 0x00000 bin/boot_v1.7.bin 0x01000 bin/at/512+512/user1.1024.new.2.bin 0xfc000 bin/esp_init_data_default_v08.bin 0x7e000 bin/blank.bin 0xfe000 bin/blank.bin
Instalar NonOS para DCCpp con Windows
También podemos instalar el NonOS desde Windows y de la mano de J.J. puedo publicar esta captura de como configurar Flash download tool para instalar esta versión (1.7) en el ESP8266.
La única cosa que tenemos que tener en cuenta es que hay que poner los archivos en el orden que aparece en la imagen y las mismas direcciónes de memoria (0X00000)
Una vez configurado el módulo ESP8266, la conexión se realiza de manera automatica mediante comandos AT que la misma central manda al iniciar el programa.
En la central DCCEX podemos introducir los datos del nombre de la red y el password, en el config.example.h</strong> que es recomendable renonbrar como config.h:
#define WIFI_SSID "networkname"
#define WIFI_PASSWORD "networkpassword"
Ahora solo queda conectarlo a un dispositivo que tenga instalado DCCpp Cab o cualquier otro programa para control de maquetas y a disfrutar de nuestros trenes!!
Saludos!!!