Отправка HTTP-запроса с Arduino Ethernet на сервер на ПК
Я просто пытаюсь отправить простой HTTP-запрос с Arduino Uno с помощью w5500 Ethernet Shield на локальный сервер, работающий на моем ПК.
Они соединены через перекрестный кабель Ethernet, и я могу разместить сервер на Arduino, доступный из браузера моего ПК. Теперь я пытаюсь использовать ПК как сервер, а Arduino как клиент.
Используя простой пример WebClient, я могу отправить успешный запрос GET на google.com с Arduino.
Вот что я пытаюсь сделать, но не получается:
1 - Запустить локальный сервер через запуск http-server в моей командной строке. Это успешно запускает сервер по адресу 192.168.56.1:8080, к которому я могу получить доступ через свой браузер
2 - Измените пример веб-клиента для использования
IPAddress server(192,168,56,1);
и измените порт на
if (client.connect(server, 8080))
3 - Запустите этот скетч Arduino. Соединение не устанавливается, и я не знаю, почему. Я разрешил порту 8080 полный доступ на вход через брандмауэр Windows.
Есть идеи?
@nmarie22, 👍2
Обсуждение1 ответ
Лучший ответ:
Ответ был прост. Вместо того, чтобы пытаться подключиться к IP-адресу локального сервера (192.168.56.1), мне пришлось использовать IP-адрес Ethernet-подключения между Arduino и ПК (найденный с помощью команды ipconfig в командной строке).
- Разбор HTTP с аутентификацией в Arduino + Ethernet Shield
- MQTT на nano с Ethernet Shield не работает
- связь между двумя arduino с помощью ENC28J60?
- Ethernet Shield не работает с TFT-экраном
- Ограничения подключения ко многим ардуино через Ethernet?
- Modbus TCP вместе с MQTT по тому же ethernet
- Ошибка HTTP-запроса Arduino, медленное сотовое соединение
- DF Robot W5200 Ethernet Shield для Arduino Uno не работает?
Отредактировал ваш вопрос, чтобы удалить неправильное использование термина «localhost» — по определению, это относится к компьютеру, *общающемуся сам с собой* по интерфейсу обратной связи, чего вы здесь не делаете., @Chris Stratton
Спасибо за исправления! Вы оба абсолютно правы, и это помогает мне понять localhost, @nmarie22
Какой веб-сервер вы используете на своем ПК? Есть один, который идет с Visual Studio, который принимает только соединения с локального хоста. Можете ли вы использовать другое устройство (например, телефон) и попытаться подключиться к веб-серверу? Также какой IP-адрес (и маска и шлюз по умолчанию) у Arduino?, @Code Gorilla
Я запускаю простой сервер узла (https://www.npmjs.com/package/http-server) для начального тестирования, чтобы понять, как все это подключить. Я не могу подключиться через свой телефон (перейдя на 192.168.56.1:8080), но я могу упустить какой-то шаг. Они находятся на одном и том же Wi-Fi-подключении, а брандмауэр Windows отключен, @nmarie22