ESP8266 dos puertos seriales con libreria SoftwareSerial

En ciertos casos requerimos utilizar mas de un puerto Serial en el caso de arduino, yo utilizo el arduino mega 2560 que posee 4 puertos seriales incluyendo el puerto de programación, en el caso de arduino’s como el nano posee un solo puerto de programación y como solución han creado la libreria software serial, dada la incompatibilidad de ciertas funciones la libreria softwareserial para arduino no funciona en esp8266.

Libreria Softwareserial

He realizado pruebas con ESP8266 NodeMCU y libreria softwareSerial del repositorio espsoftwareserial creado o suministrado por plerup gracias por su contribución a la comunidad.





Recomendaciones 

En el caso que estas librerias que crean un uart en codigo se debe tener en cuenta que a altas velocidades es posible siertos errores de bits dado que utilizan interrupciones y el microcontrolador estas en muchas tareas a la vez, en mi caso y las pruebas que he realizado configuro el puerto a Maximo 9600 Bauds, es una velocidad relativamente baja pero considero que es segura.

Pruebas

Para verificar el funcionamiento de la libreria softwareserial, he descargado la libreria para esp y he remplazado temporalmente la version de software serial para arduino.

Tutorial ESP8266 12E NodeMCU  & SoftwareSerial

 

Codigo Arduino IDE

Esta prueba crea un puente entre los 2 puertos seriales

#include 
SoftwareSerial mySerial(13, 15, false, 256);

//Mas informacion http://pdacontroles.com/
// More info http://pdacontrolen.com/ 

void setup()  
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
  Serial.println("Connect! - Conexion ");
  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);  
  mySerial.println("Connect! - Conexion SOFTWARESERIAL");
}

void loop() // run over and over
{
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

Vista

ESP8266 SoftwareSerial

 

Materiales

1 Esp8266 NodeMCU

1 Convertidor USB -TTL (FTDI)

ConexionesESP8266 SoftwareSerial

 

Referencias y Descargas

Libreria SoftwareSerial for ESP8266

Conclusiones

Aunque esta es una prueba basica, se requieren mas pruebas completas referentes a configuracion de mas puertos seriales simultaneos.

La idea es utilizar esta libreria en integraciones futuras en Modbus RTU, Recomendado TrialCommand.

 Canal  Youtube

PDAControl

Deja una respuesta