¿Cómo interactúa la pila TCP / IP con los componentes de Wifi?

1

Estoy tratando de hacer una transición más allá de Arduino y estoy tratando de aprender cómo usar un RTOS (como FreeRTOS) para conectarme a la web a través de Wifi. Parece que FreeRTOS y ZentriOS y otros RTOS suministran pilas TCP / IP. Corríjame si me equivoco, pero me parece que esta pila TCP / IP proporciona la API para interactuar con el mundo exterior a través de Ethernet o Wifi. ¿Es el controlador de Wifi lo que conecta la pila TCP / IP con el propio módulo Wifi? ¿El controlador Wifi implementa interfaces TCP / IP estándar? ¿O es el trabajo de los desarrolladores de firmware averiguar cómo interactuar una pila TCP / IP con el controlador wifi?

    
pregunta Inc1982

1 respuesta

2

La pila TCP / IP está diseñada para ser lo más genérica posible, por lo que las aplicaciones pueden interactuar con varios protocolos de enlace de datos como 802.3 (Ethernet), 802.11 (Wi-Fi), PPP (protocolo punto a punto), etc. sin necesidad de saber qué tipo de enlace están utilizando ...

TCP / IP en realidad comprende varias capas de protocolos, por ejemplo,

 5. Application DNS, FTP, HTTP, IMAP, POP3, SMTP, SSH, Telnet, SSL, ...
 4. Transport   TCP, UDP, ...
 3. Network     IP (IPv4, IPv6), ICMP, ARP, ...
 2. Data Link   802.3 (Ethernet), 802.11 (Wi-Fi), PPP, ...
 1. Physical    Ethernet (NIC), Wireless (NIC), Cat 5/RJ-45, ... 

(La capa superior a menudo se divide en tres capas separadas, estoy simplificando un poco las cosas).

Por lo tanto, será el nivel inferior donde la pila debe interactuar con el controlador para su módulo de Wi-Fi específico.

Dado que esto se encuentra en el nivel de bytes, habrá un número limitado de funciones que deben implementarse. Siguen un modelo de controlador de dispositivo de E / S bastante estándar, es decir,

Open function
Close function
Send function
Receive function
IO Control function
Get PhysicalAddress function
Interrupt service routine (ISR) callback

por lo que debería ser bastante simple casar la interfaz de la pila con un módulo en particular.

Consulte aquí para ver un ejemplo con más detalles para un sistema operativo en particular.

Algunos módulos Wi-Fi, como el ESP8266 , vienen con una pila TCP / IP incorporada, desde TCP / IP puede estar gravando con un pequeño microcontrolador. Se accede a través de comandos AT, como un módulo celular o un módulo Bluetooth.

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas