Buen día. Para un proyecto IoT de universidad, pienso usar la placa de desarrollo ESP8266, el módulo USB CH375B y un escáner de códigos de barras USB SC2190. El proyecto trata sobre un pase de lista automático, en el que el alumno sólo escanee su código de su tarjeta, y quede registrado en la lista automáticamente.
El flujo es el siguiente: mediante el escáner de códigos de barras, se debe leer la matrícula que viene en la credencial (el código de barras devuelve la misma); con ayuda del módulo USB, esa matrícula debe ser pasada al ESP8266 para que la registre, y que haga una petición HTTP POST con ella para registrar al alumno en la lista.
El problema radica en que el escáner SC2190 no manda los datos correctamente a mi ESP8266. El código que tengo es el siguiente:
#include <SoftwareSerial.h>
// Definición de pines para SoftwareSerial
const int rxPin = D6; // Pin para recibir datos
const int txPin = D5; // Pin para transmitir datos
// Inicialización de SoftwareSerial
SoftwareSerial mySerial(rxPin, txPin);
void setup() {
// Configuración del monitor serial
Serial.begin(115200);
delay(1000);
Serial.println("Iniciando comunicación con CH375B...");
// Configuración de SoftwareSerial
mySerial.begin(9600);
Serial.println("Esperando datos desde el CH375B...");
}
void loop() {
// Verifica si hay datos disponibles desde el CH375B
if (mySerial.available()) {
Serial.println("Datos disponibles encontrados.");
String barcodeData = ""; // Almacena el dato leído
while (mySerial.available()) {
String receivedChar = mySerial.readString(); // Lee carácter por carácter
barcodeData += receivedChar; // Construye el string con los caracteres leídos
}
// Muestra la lectura en el monitor serial
Serial.print("Lectura recibida: ");
Serial.println(barcodeData);
}
delay(100); // Pausa para reducir el uso de CPU
}
He leído que, para que la comunicación funcione, el escáner SC2190 debe estar configurado como 'USB-COM PORT emulation', así que eso es lo que hice. ¿Qué puede estar saliendo mal aquí? ¿Necesito alguna otra librería? He probado con muchas cosas y no he logrado que el escáner SC2190 le pase datos mediante el módulo CH375B a mi placa de desarrollo ESP8266... por lo pronto, estoy manejando las lecturas con Python y sí se las manda al ESP8266, pero no es el propósito del proyecto, ya que debería poder realizarse sin una computadora.