Entorno ESP32 Ethernet (ETH) y configuración de parámetros, basada en mac interno y PHY externo (LAN8720A)

Hay mucha información sobre ESP32 en Internet, pero los problemas también son varios. Dado que ESP32 se usa principalmente para funciones wifi, hay poca información sobre Ethernet. Hay pocas placas de desarrollo correspondientes.

Estoy usando la placa de desarrollo con puerto de red de Yuzhen Electromecánico comprado en Taobao (como se muestra a continuación) Anxinke ESP-32S

Los materiales de referencia se basan principalmente en el blogger entusiasta " Interest _ " (5 mensajes) ESP32 MCU Notas de estudio - 06 - (Ethernet) Ethernet a Wifi_esp32 Ethernet_Interest _ blog-CSDN blog este artículo.

Para un novato como yo, primero tengo que aprender algunos conocimientos teóricos.

En primer lugar, Ethernet es el método de comunicación de LAN, Ethernet tiene un protocolo TCP/IP y la interfaz común de Ethernet tiene una interfaz RJ45.

Luego, la composición de Ethernet incluye chips mac y phy y enchufes RJ45. Luego, un chip dice si es compatible con la red o no, y significa si tiene una Mac interna. Si no es compatible, debe conectar un módulo externo como W5500 (W5500 es para combinar Mac y phy en un solo chip). y luego use SPI para comunicarse con la placa principal). (Existe un método de comunicación entre mac y chips phy llamado RMII o MII, que es similar a SPI. Para las aplicaciones, la principal diferencia entre los dos es que uno tiene más líneas de señal y el otro tiene menos líneas de señal). (Hay demasiado conocimiento teórico, y no puedo verlo muy bien, este es mi entendimiento).

Luego use el código VS para crear un proyecto. Antes de crear un proyecto, debe descargar el complemento ESP. Hay muchos métodos de descarga en Internet. Una vez completada la descarga, abra vscode e ingrese ctrl+shift+p como acceso directo para abrir el ejemplo del proyecto.

Después de abrir el ejemplo del proyecto, busque ethernet>>basic según el directorio de la izquierda

Crear después de seleccionar el proyecto de destino

En este punto, se crea el proyecto (también se puede crear con la herramienta idf, pero el código no es fácil de editar y buscar)

Debido a que la compilación del código vs es lenta, use idf para compilar, grabar y observar, y use vs cod para editar el código

En este momento, abra la herramienta idf y busque este proyecto (ya que la herramienta idf no tiene ls y otros comandos, solo cd, por lo que debe recordar la ubicación donde se guarda su proyecto)

Debido a que la primera compilación es lenta, compilémosla primero (es mentira, la primera compilación es lenta, y luego cada vez que se cambia la configuración y la compilación es lenta), ingrese el comando de compilación idf.py build

Espere a que se complete la compilación

Una vez completada la compilación, primero grabamos el código en la placa de desarrollo. Dado que la placa de desarrollo que utilicé tiene una función de grabación, se puede grabar directamente conectándola con un cable tipo C. Ingrese el comando de grabación idf.py -p COM7 flash (comando para la situación específica de COM7)

Una vez que se completa la quema, puede ejecutarla para observar el fenómeno (generalmente, no hay ningún problema en la operación en este momento, incluso si se completa, pero es básicamente imposible que no haya ningún problema, y ​​el foso acaba de comenzar )

Ingrese el comando en ejecución: idf.py -p monitor COM7

Observe el registro en este momento

lo que nos pasa es

De la impresión podemos ver que es un problema de memoria, en este momento necesitamos modificar la configuración, hay dos formas de modificarla.

Método 1: use la herramienta idf para modificar e ingrese el comando de configuración: idf.py menuconfig

Ingrese el comando idf.py menuconfig para abrir la interfaz de configuración, ingrese Serial flasher config y cambie el tamaño de Flash a su propio tamaño según sea necesario. Hay dos módulos de uso común: Anxinke ESP-32S , Espressif ESP32-WROOM-32 , y el flash es de 4 MB . Presione Esc continuamente para salir, presione y para guardar.

En este momento, compile y grabe nuevamente, y descubra que el código ya se está ejecutando normalmente y no se necesitan más modificaciones (¿se acabó? Oh, oh, oh, oh, Snort). La razón por la que nuestro código puede ejecutarse normalmente es porque se ha configurado antes, y es normal que tengas los siguientes problemas

  1. sigue reiniciando
  2. restablecer el tiempo de espera

  1. error w550

Todos estos son problemas de configuración. Si la configuración es incorrecta, no puede resolver estos problemas.

A continuación, echemos un vistazo a nuestra configuración (la herramienta idf se configura sola, el inglés del autor no es bueno y no es bueno para usar comandos. El método de configuración es configurar el comando para configurar la interfaz de configuración)

Configurar de la siguiente manera :

No configurar el reloj dará lugar a un reinicio continuo, consulte (5 mensajes) 66 ESP32 ethernet\basic experiment record_esp32 Ethernet_Chasing_Chasing's blog-CSDN blog para la configuración del reloj

Una vez completada la configuración, compile el código y grábelo para observarlo. Si no hay ningún accidente, se imprimirá normalmente para

Ethernet iniciado

Parece normal. Pero después de esperar un tiempo, apareció un error de impresión, que también puede ser el motivo de mi configuración, de todos modos, está disponible normalmente (de la siguiente manera):

En este momento, es porque el cable de red no está enchufado o el cable de red está roto. Solo necesitamos conectar el cable de red normal para imprimir de la siguiente manera. En este momento, la configuración del puerto de red está completa (si aún hay un error, debe verificarlo usted mismo)

(¿Qué es un cable de red normal? En circunstancias normales, cuando el cable de red no está enchufado, el RJ45 se enciende con una luz naranja (amarilla), cuando el cable de red es normal, la luz verde está encendida y la luz naranja (amarilla) ) parpadea cuando es posible la interacción de datos, por lo que nuestra situación normal es: la luz verde está encendida y la luz naranja (amarilla) parpadea.

Cómo verificar si funciona normalmente, generalmente usamos el método ping, es decir, tomamos dos cables de red para conectar la computadora y ESP32 al mismo enrutador, abrimos la ventana de comando en la computadora y luego ingresamos el comando ping 192.168.1.1 para verificar el estado de la conexión, un ping exitoso puede probar que la configuración está completa y disponible.

En este punto, la configuración está completa.

Supongo que te gusta

Origin blog.csdn.net/m0_45068979/article/details/131123580
Recomendado
Clasificación