Agregar Wi-Fi a una aplicación TCP/IP que ya se ejecuta con Ethernet

Qué hacer si tiene una aplicación Ethernet que ya está funcionando con la funcionalidad TCP/IP y ahora desea agregar Wi-Fi. La mayoría de los módulos Wi-Fi disponibles tienen pilas TCP/IP integradas con algún tipo de interfaz API que debe usar (es decir, TCP_open(google.com, 80)). Esto es bueno si está iniciando una aplicación nueva y desea poder poner en funcionamiento algo simple rápidamente.

Pero, ¿qué pasa si ya tiene una aplicación compleja con una pila TCP/IP y solo quiere que use Wi-Fi? Desea poder tomar los paquetes Ethernet sin procesar que salen de su pila TCP/IP y enviarlos al módulo Wi-Fi. He encontrado algunos módulos Wi-Fi que permiten esta función de "omisión de TCP/IP", pero no muchos.

A mí no me parece tan exclusivo de una aplicación y me pregunto por qué no es más fácil encontrar módulos que permitan este tipo de solución. ¿Qué están haciendo los demás en esta situación? es decir, una aplicación TCP existente en la que le gustaría "colocar" Wi-Fi

Quieres un "puente". Ejemplo aleatorio: silexamerica.com/products/connectivity-solutions/…
Entonces, desea un sistema operativo integrado real con una pila TCP/IP real, no uno en el que las pilas estén integradas en aplicaciones o componentes de jardín amurallado.
El dispositivo puente se ve bien. Eso serviría para el propósito, excepto que quiero integrar la solución. Y termine con un dispositivo que tenga una interfaz Ethernet y una interfaz Wi-Fi.
¿Pudiste llegar a una solución? Yo también estoy buscando la solución.
¿Pudiste llegar a una solución? Yo también estoy buscando la solución.

Respuestas (1)

Todos los módulos que tienen la pila TCP/IP incorporada tienen un procesador Cortex M3, M4 o similar para ejecutar la pila. Necesita un módulo sin el procesador, para que pueda usar la pila en su procesador existente. Están disponibles, estoy usando un Murata SN8000, en parte porque los controladores para Freescales Linux están disponibles. Estos módulos sin procesador son más baratos y tienen un mejor rendimiento que las versiones con procesador integrado.

Entonces, ¿tiene una API simple? por ejemplo: scan_networks() //retorna la lista de redes wifi en el área; set_mac_address() //para establecer la dirección mac que usará el módulo; send_raw_data() //enviar paquete Ethernet; ¿Ese tipo de cosas?