http.POST не отправляет данные на локальную веб-страницу
Я использую NodeMCU для отправки данных на мою локальную веб-страницу, разработанную с использованием Spring boot, но когда я запускаю код, я не получаю ошибку esp8266 подключается к Wi-Fi, но я ничего не получаю в своем приложении spring boot или каких-либо ответов. Вот контроллер rest, используемый из spring boot
@RestController
@RequestMapping("/getallcadres")
public class cadreController {
@Autowired
cadreRepository cadre;
@PostMapping("/getnbpassage")
public String getnbrpassage(@RequestBody String nb){
System.out.println("nombre de passage = "+nb);
return "received";
}
}
и код Arduino
#include <ESP8266HTTPClient.h>
#include <ESP8266WiFi.h>
void setup() {
Serial.begin(9600);//Последовательное соединение
WiFi.disconnect();
WiFi.begin("Iphone de elaa", "27343550"); //Подключение Wi-Fi
while (WiFi.status() != WL_CONNECTED) { //Дождитесь завершения подключения Wi-Fi
delay(500);
Serial.println("Waiting for connection");
}
Serial.println("Wifi is connected");
Serial.println(WiFi.localIP());
}
void loop() {
if(WiFi.status()== WL_CONNECTED){ //Проверить состояние подключения Wi-Fi
Serial.println("here we start");
HTTPClient http; //Объявить объект класса HttpClient
http.begin("http://localhost:8080/getallcadres/getnbpassage"); //Указать пункт назначения запроса
http.addHeader("Content-Type", "text/plain"); //Указать заголовок content-type
int httpCode = http.POST("5"); //Отправить запрос
String payload = http.getString();//Получить полезную нагрузку ответа
Serial.println("return code"+httpCode); //Print HTTP return code
Serial.println(payload); //Полезная нагрузка ответа на запрос печати
http.end(); //Закрыть соединение
}else{
Serial.println("Error in WiFi connection");
}
delay(30000); //Отправка запроса каждые 30 секунд
}
Я использую Arduino IDE 1.6.5 вот что я получаю
@Ela Hidri, 👍1
1 ответ
Лучший ответ:
▲ 0
Ваш URL-адрес имеет localhost
в качестве имени хоста. Это не сработает. localhost означает “я”, компьютер, инициирующий запрос. В данном случае это означало бы ESP8266, если бы он вообще это понимал. Вам нужно использовать имя или IP-адрес компьютера, на котором запущено приложение spring boot, а не localhost.
,
@romkey
Смотрите также:
- Как определить размер Flash?
- В ESP-12E NodeMCU, какой выход PIN A0?
- Преобразование byte* в int в Arduino
- Каково использование зарезервированных контактов и контактов SDD2, SDD3 NodeMCU?
- NodeMCU (Arduino IDE) «DynamicJsonBuffer» не был объявлен в этой области
- NodeMCU поддерживает внедрение ключей?
- Датчик движения PIR (HC-SR501) ложные результаты с NodeMCU
- Как получить текущую дату
спасибо, что сработало для меня, @Ela Hidri