ESP8266 da basura en serie

1

Recibí con entusiasmo un tablero de relés 5v basado en ESP8266 hoy ( enlace ). La placa secundaria ESP8266 se parece a AI-Thinker ESP 01 (pero no está identificada como tal). Se configura a través de la conexión serie. Estoy usando un usb ch340 a serial. Lo estoy alimentando con un cargador de teléfono USB (la placa 5v; tiene un registro de 5v > 3.3v). El dispositivo parece encenderse correctamente y crea un punto de acceso WiFi con SSID AI-Thinker_xxxxxxx. Puedo conectarme a ese AP y hacer ping al dispositivo. Creo que tiene stock espressif firmware de AI-thinker pero no sé la versión exacta.

He probado todas las velocidades en baudios comunes (9600, 57600 y 115200) pero solo obtengo algo ininteligible donde debería recibir la bienvenida. Heintentadogtktermyminicom(enUbuntu).TambiénprobéPuTTYenunacomputadoraportátildiferenteconWindows.Sigueobteniendolomismo(esdecir,lamismasalidaparacadaconfiguracióndebaudios).Nopareceresponderaloscomandos.

¿Cuáleselsiguientepasoparadiagnosticarloqueestámal?

[Actualización]-1)Elbaudioinicialdebeser74880según enlace . He intentado esto (tx y rx) pero todavía tengo basura.

2) Este hilo enlace sugiere que algunas unidades son dudosas y Debería intentar hacer uniones de soldadura por reflujo (TX parece un poco seco) y / o flashear el firmware.

3) Mientras tanto, pedí una nueva tarjeta nodemcu con un USB TTL incorporado.

Gracias

    
pregunta P.Windridge

2 respuestas

1

Un nuevo USB-serial (Prolific Technology, Inc. PL2303) funcionó, incluso a 5v. No estoy seguro de por qué no funcionó mi CH340 (también compré una placa de desarrollo nodeMCU que tiene un CH340 y funciona bien con la misma computadora portátil y la configuración de gtkterm).

Después de usar los comandos AT para unirme a mi red doméstica, puedo usar netcat para controlar el relé:

# switch on
echo -e '\xA0\x01\x01\xA2'  | nc -q 1 192.168.0.37 8080
# switch off
echo -e '\xA0\x01\x00\xA1'  | nc -q 1 192.168.0.37 8080

donde, como es obvio, 192.168.0.37 y 8080 son la ip y el puerto. También podría usar el nombre del host sin molestarme en buscar la dirección IP.

Como referencia, los comandos AT para unirse a una red e iniciar un servidor serie TCP:

AT+CWMODE=1
AT+RST
AT+CWJAP=<ssid>, <password>
AT+CIPMUX=1
AT+CIPSERVER=1,8080
AT+CIFSR

Firmware: para cualquier persona interesada, la versión es:

AT+GMR
AT version:1.2.0.0(Jul  1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec  2 2016 14:21:16

Fuera de interés, también conecté un módulo genérico de AI-Thinker que había comprado recientemente (es menos que mi café de la mañana, después de todo :)) y el módulo de relé funciona bien después de cambiar a 9600 baudios (es 115200 por defecto con mi versión del firmware). Sin embargo, hay un error importante : si usas AT + IPR = 9600 , funciona bien ... hasta que reinicies el chip y te des cuenta de que eliminó el firmware y necesitas volver a flashearlo !

    
respondido por el P.Windridge
3

He probado uno de los tableros ESP8266, no puedo decir con seguridad si es exactamente igual al tuyo, pero se ve similar. Esto es lo que encontré:

El texto de arranque inicial se envía a aproximadamente 76900 baudios. Tuve que obtener un alcance y medirlo a 13 us por bit.

Después del texto de arranque inicial, la placa cambia a 115200 baudios, y luego puedo enviarle comandos. Inicialmente tuve algunos problemas al usar PuTTY, no pude hacer que PuTTY enviara la secuencia correcta de fin de línea de CR, LF. Usando las teclas Ctrl podría enviar A T ctrl-M ctrl-J y obtener una respuesta de "OK". Desde entonces, he usado Hercules , en parte porque además del emulador de terminal también tiene clientes TCP y servidores que facilitan la prueba del ESP8266.

    
respondido por el Steve G

Lea otras preguntas en las etiquetas