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!