pila TCP / IP para el módulo wifi

0

Sigo leyendo sobre la pila TCP / IP para el módulo wifi. Estoy teniendo un poco de dificultad para entender eso.

Estoy trabajando en un proyecto de hobby en IoT y necesito elegir el módulo wifi para Atmega328P. Escuché sobre el módulo CC3000 que es muy costoso. Así que pensé que debería comprar un chip wifi en bruto y usar eso con Atmega328P y usar MQTT para comunicarme con él. Esto es sólo una teoría. Pero esta cosa de la pila se interpuso y no sé qué es.

¿Qué es la pila TCP / IP para el módulo wifi? Soy nuevo en esta área. Por lo tanto, sería genial si puedes elaborar la respuesta.

    
pregunta Jaynti Kanani

2 respuestas

4

Lo primero y más importante: No utilice el módulo CC3000 . Lo intenté, y fallé miserablemente después de muchas horas de trabajo involucrado. El controlador que viene con el módulo es inutilizable. Es posible que desee navegar por el forum de TI relacionado y leer a través de todas las diferentes personas Tener problemas, especialmente con la comunicación colgante. Elija uno de los sucesores (CC31xx / CC32xx) en su lugar.

Respecto a la pila TCP / IP. Mira el modelo OSI. Define varias capas, comenzando desde la capa física (que es cómo se transfieren los bits a través de una conexión) hasta la capa de la aplicación (que es lo que realmente significa la información). Cada capa se construye una sobre la otra. Ahora, varias partes abstraerán las complejidades de cada capa hasta una capa determinada. Si simplemente tiene un chip PHY, deberá implementar todas las capas a partir de la capa 2 (la capa de enlace de datos). Probablemente se encontrará con problemas de tiempo. Esto se puede resolver usando un controlador que ya implementa la Capa 1 + 2 + 3, o incluso hasta la capa 4. Esto es básicamente lo que usan muchos microcontroladores. Podrá preparar un paquete TCP o UDP en el software, luego pasar todo el resto del trabajo al módulo. Mucho menos trabajo para ti.

Si realmente quiere ir con "datos sin procesar" (aún así, estará preparando datos para una capa u otra). Daría cuenta (mucho) mayor tiempo de desarrollo. También hay varias pilas TCP / IP disponibles (tanto gratuitas como disponibles comercialmente) pero aún necesitará tiempo para implementar esto en su aplicación restante.

    
respondido por el Tom L.
2

Como una adición a la publicación de Tom: he usado el CC3000 pero lo estoy conduciendo yo mismo. Es un poco complejo y realmente hambriento de poder (picos de + 300 mA) pero se me ha hecho usarlo en lugar de mi chip elegido, el CC1110. Gemido ...

Sin embargo, Adafruit tiene un pequeño módulo basado en CC3000 y tiene un código para el Arduino (y por lo tanto ATMega) que Funcionó muy bien cuando lo probé el año pasado. No tuve ningún problema en absoluto, pero luego estaba usando el trabajo de Adafruit para ayudarme. Úsalos, son geniales.

He utilizado conjuntos de chips WiFi sin procesar (LSR TiWi). Estos son conjuntos de chips que requieren una máquina con Linux o Windows detrás de ellos (yo estaba usando un sistema integrado ARM Cortex A8) para proporcionar las pilas de comunicaciones (TCP / IP y todo lo que Tom describe). El LSR se conecta a través de un SDIO de 25MHz de 4 bits, por lo que es un viaje de un ATMega.

He oído mucho sobre el ESP8266. Es terriblemente barato y, por lo tanto, vale la pena intentarlo, independientemente de lo bien que funcione para usted. En ese punto del precio, todo tipo de aficionados y profesionales están saltando y produciendo muchos ejemplos y documentos. Adafruit los vende ahora. Tenga en cuenta que es un módulo de 3.3V, no 5V. El ESP8266 utiliza un estilo de "comando AT" de interfaz serial. Así que puedes hacer algo como esto:

AT+CWJAP="WiFiAccessPoint","MyPassword"

para unirse a un punto de acceso. Y

AT+CIPSTART=4,"TCP","google.com",80

para crear una conexión TCP a google en el puerto 80 utilizando el canal # 4. ¡Todo está muy bien en realidad!

    
respondido por el carveone

Lea otras preguntas en las etiquetas