У меня следующая проблема, и я просто не могу понять, как ее исправить. В настоящее время я работаю над прототипом для моей диссертации. Для этого прототипа мне нужен Arduino для подключения к Интернету. У меня есть Arduino Uno и Arduino Ethernet Shield.
Проблема в том, что я не могу подключиться к веб-серверу моей компании, где я сейчас прохожу стажировку.
Веб-сервер имеет другой IP-адрес, чем локальная сеть, над которой я работаю. Когда я набираю в своем командном окне ipconfig /all, я получаю следующую информацию:
MAC-адрес: 64-31-50-25-FE-C7
IPv4-адрес: 10.100.5.144
маска подсети: 255.255.248.0
шлюз: 10.100.0.1
IP-адрес, на котором установлен веб-сервер: 10.100.0.40.
Когда я запрашиваю страницу с помощью GET и хочу получить файл index.html, который хранится в моей папке www на веб-сервере (см. ниже), я получаю ошибку 404.
\efocus02\www\evs\navid\navid.mirzaie.milani\webroot
Это URL-адрес, который я запрашиваю: http://navid.mirzaie.milani.navid.efocus02.efocus.local/test.html
Есть ли кто-нибудь, кто может помочь мне, как я могу понять эту проблему, я был бы очень, очень признателен.
Поскольку вы получаете ошибку 404, Arduino должен быть правильно подключен к сети и иметь доступ к веб-серверу.
(Мое лучшее предположение, учитывая ограниченную информацию, заключается в том, что веб-сервер использует виртуальный хостинг, а ваш Arduino не отправляет HTTP-заголовок «Host:»).
Чтобы отладить проблему, вам нужно увидеть, что происходит на сетевом уровне. Либо добавьте отладку в свою HTTP-библиотеку Arduino, либо обнюхайте сеть с помощью ПК.
Я бы рекомендовал использовать ПК. Используйте концентратор Ethernet (не коммутатор) или совместное использование Arduino через ПК, а затем запустите WireShark для прослушивания сетевых пакетов. Убедитесь, что Arduino действительно запрашивает страницу, о которой вы думаете. Проверьте возвращаемые коды ответов.
Воссоздайте HTTP-запрос на ПК, отправьте точно такие же данные — получите тот же ответ 404? Вы можете сделать это с помощью telnet или более мощного инструмента, такого как curl или wget.
ДимКо
Навид
Петр Кула
Брайан Карлтон