no se puede conectar al servidor web a través de arduino

3

Tengo el siguiente problema y simplemente no puedo averiguar cómo solucionarlo. Actualmente estoy trabajando en un prototipo para mi tesis. Para este prototipo necesito que mi Arduino se conecte a internet. Tengo un Arduino Uno y un Arduino Ethernet Shield.

El problema es que no puedo conectarme al servidor web de mi empresa donde actualmente estoy realizando una pasantía.

El servidor web tiene una IP diferente y luego la LAN en la que estoy trabajando. Cuando escribo en mi ventana de comandos ipconfig / all, obtengo la siguiente información:

Dirección MAC: 64-31-50-25-FE-C7

dirección IPv4: 10.100.5.144

máscara de subred: 255.255.248.0

puerta de enlace: 10.100.0.1

La dirección IP donde está instalado el servidor web es: 10.100.0.40.

Cuando solicito una página con GET y quiero obtener el archivo index.html que está almacenado en mi carpeta www del servidor web (ver más abajo), aparece el error 404.

\ efocus02 \ www \ evs \ navid \ navid.mirzaie.milani \ webroot

Esta es la URL que solicito: enlace

¿Hay alguien que pueda ayudarme a resolver este problema? Realmente lo apreciaría.

    
pregunta Navid

1 respuesta

5

Al recibir un error 404, el Arduino debe estar correctamente conectado a la red y debe poder acceder al servidor web.

(Mi mejor conjetura, dada la información limitada, es que el servidor web está usando Alojamiento Virtual y su Arduino no está enviando un "Host:" encabezado HTTP).

Para depurar el problema, necesita ver lo que sucede a nivel de red. O bien, agregue la depuración a su biblioteca HTTP Arduino o rastree la red con una PC.

Recomiendo usar una PC. Use un concentrador Ethernet (no un conmutador) o comparta la conexión de Arduino a través de una PC, luego ejecute WireShark para detectar los paquetes de red. Comprueba que el Arduino realmente está solicitando la página que crees que es. Compruebe los códigos de respuesta que regresan.

Vuelva a crear la solicitud HTTP en una PC, envíe exactamente los mismos datos. ¿Obtiene la misma respuesta 404? Puedes hacer esto con telnet o con una herramienta más poderosa como curl o wget.

    
respondido por el Toby Jaffey

Lea otras preguntas en las etiquetas