En cuanto a comunicaciones se refiere, las conexión wifi es una de las más versátiles por la cantidad de dispositivos que utilizan este tipo de comunicaciones.
Y la central DCCpp LMD también tiene esta característica gracias al pequeño módulo wifi ESP01 o ESP01-S.
Instalación firmware ESP01
Para una comunicación optima, el ESP01 utiliza un firmware específico para utilizar una comunicación serial llamado NonOS y usa los comandos AT tanto para su configuración como para su uso.
Podemos programar el módulo ESP01 directamente con cualquier placa Arduino o podemos utilizar con un programador específico para este módulo que podemos encontrar en cualquier página.
En la carpeta "extras/scripts" encontraremos un script en bash para programar el ESP01.
También necesitaremos la herramienta esptool disponible en GitHub que será la encargada de transferir el firmware al ESP01.
Con esta herramienta instalada en el sistema ejecutamos el script de la siguiente manera:
.loadNonOSesp01.shEl punto interesante son las direcciones de memoria para cada archivo y son las siguiente:
- boot_v1.7.bin 0x01000
- user1.1024.new.2.bin 0xfc000
- esp_init_data_default_v08.bin 0x7e000
- blank.bin 0xfe000
Configurar comunicación módulo ESP01
Para poder tener activa la comunicación Wifi tenemos que configurar dos archivos, el archivo Dccpp.h y Config.h.
Empecemos por configurar el archivo DCCpp.h.
Configuración del archivo DCCpp.h
Para habilitar la comunicación wifi con la central DCCpp LMD solo tenemos que quitar el comentario en la linea: USE_SERIALWIFI:
#define USE_SERIALWIFI // Serial1.Configuración del archivo Config.h
En este archivo introduciremos las credenciales de la red donde quieras conectar la central y también la posibilidad de asignar una IP estática dentro de la red para saber que siempre tendremos la misma.
- WIFI_SSID: Nombre de la red.
- WIFI_PASSWORD: Password de la red.
- WIFI_MAX_CLIENTES: Clientes que se pueden conectar a la central al mismo tiempo por defecto 4.
- WIFI_CUSTOM_IP: Habilita el uso de una IP fija para la central DCCpp LMD:
- WIFI_IP: Dirección IP que queremos asignar a la central.
- WIFI_SUBNET: Dirección de la subred.
- WIFI_GATEWAY: Dirección de la puerta de acceso. (opcional)
- WIFI_PORT: Puerto de escucha de la central.
/** Configuración para conexión wifi "SSID","Password */
/** Nombre de la red WiFi */
#define WIFI_SSID "YOUR_SSID"
/** Contraseña red WiFi */
#define WIFI_PASSWORD "YOUR_WIFI_PASSWORD" //
/** Max clients connections */
#define WIFI_MAX_CLIENTES 4
/** Custom Wifi IP */
#define WIFI_CUSTOM_IP
/** IP */
#define WIFI_IP "192.168.1.80"
/** Subnet */
#define WIFI_SUBNET "255.255.255.0"
/** Gateway */
#define WIFI_GATEWAY "192.168.1.1"
#define WIFI_PORT "2560"¿Cómo funciona NonOS internamente?
El microcontrolador ESP01 con el firmware de NonOS hace uso de los comandos AT y son los siguiente:
- AT+RST Resetea el módulo ESP01.
- AT+CWMODE=1
- AT+CWLAP Busca las redes disponibles.
- AT+CWJAP_CUR="WIFI_SSID","WIFI_PASSWORD" Inicia la conexión con el punto de acceso.
- AT+CIFSR
- AT+CIPMUX=1 Configura multiconexión.
- AT+CIPSERVER=1,WIFI_PORT Inicia el servidor en el puerto especificado.
Podemos comprobar la IP que nos asigna o que hemos asignado en el archivo config.h desde una terminal con el comando "<I>".
<<I>
return: IP:192.168.x.xConexión del ESP01 Central DCCpp LMD
Para conectar el módulo ESP01 lo más cómodo es usar un adaptador serial que existen para estos casos con el que solo tendremos dos pines para alimentación (+5V y GND) y la comunicación serial (Rx y Tx).
Para la conexión con la central y utilizando el adaptador, solo necesitamos 4 lineas 2 para alimentación y otras 2 para la comunicación.
NOTA. A partir de la versión 2.2.1 ya no se tiene que declarar el puerto serial en el archivo .ino que estemos utilizando para cargar la librería, valido para #define USE_SERIALWIFI #define USE_SERIALBLUETOOTH y #define USE_SERIALAUX.
// NO utilizar a partir de la versión 2.2.1
// Serial1.begin(115200); // Inicia la comunicación serial para WiFi ( SOLO MEGA)
// Serial2.begin(115200); // Inicia la comunicación serial para Bluetooth ( SOLO MEGA)
// Serial3.begin(115200); // Inicia la comunicación serial para SerialAux ( SOLO MEGA)Unicamente habilitamos la comunicación serial principal. Serial1.
Con esto conseguinos que todos los programas que estén conectados a cualquiera de los puertos seriales recibirá la información sobre los sensores conectados a esta red.
Página siguiente
Página anterior
Volver al índice
-->
Descargar Librería DCCpp_LMD 2.1.2 (Modificación Oled, S88, Sonido, wifi, Bluetooth, Serial3, teclado y encoder)
Seguiré actualizando!!!

