Помогите разобратся с GET запросами.
- Войдите на сайт для отправки комментариев
Чт, 19/09/2019 - 16:02
Помогите разобратся!
Устройство (ESP32) подключается к wifi, но GET запрос не отправляет.
Перерыл кучу информации, сделал как книга пишет, но увы....
ПОМОГИТЕ плизз
#include <WiFi.h>
#include <SPI.h>
#include <Arduino.h>
char server[] = "freon.ho.ua";
const char* ssid = "INet";
const char* pass = "000000008";
int status = WL_IDLE_STATUS;
const int pin_p[] = {12,13,14,15,16,17,21,22,23,25,26,27,32,33,34,35}; //масив с номерами пинов
int i=0;
//String State_P[16] = "off"; //состояние пинов для сервера
//String State_I[16] = "on"; //состояние пинов для цыкла
//----------------------Таймер-----------------------------
const long interval = 5000;
unsigned long next_time =0;
WiFiClient client;
void setup(){
// preparing GPIOs
Serial.begin(115200);
//Задаем пинам из масива, OUTPUT
for (int i=0; i <= 15; i++){
pinMode(pin_p[i],OUTPUT);
}
//Задаем пинам из масива, LOW
for (int i=0; i <= 15; i++){
digitalWrite(pin_p[i], LOW);
}
//-------------------------------------Wi-Fi---------------------------------------------------
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network. Change this line if using open or WEP network:
status = WiFi.begin(ssid, pass);
// wait 10 seconds for connection:
delay(10000);
}
if (status != WL_CONNECTED) {
Serial.println("NO CONNNECT");
// больше ничего не делаем:
while(true);
}
else {
Serial.println("Connected to wifi");
if (client.connect(server, 80))
{
client.print( "GET /index.php?");
client.print( "alarm=5");
client.println(" HTTP/1.1");
client.print( "Host: freon.ho.ua" );
client.println("Connection: close");
client.println();
delay(500);
}
}
//-------------------------------------Wi-Fi----------------------------------------------------
Serial.print("ON- ");
Serial.println(i);
}
void loop(){
unsigned long now_time = millis();
digitalWrite(pin_p[i],HIGH); // Пуск насоса
//---------------------------------------------Задержка---------------------------------------
if( now_time - next_time >= 20000) // если текущее время превысило намеченное время, то
{
digitalWrite(pin_p[i],LOW); // Стоп насос
Serial.print("OFF- ");
Serial.println(i);// вычисляем время следующего переключения
i++;
Serial.print("ON- ");
Serial.println(i);// вычисляем время следующего переключения
if (i>=16){
i=0;
}
next_time = now_time; // вычисляем время следующего переключения
}
}
а с чего вы взяли что запрос не отправляется?
если HTTP сервер свой - смотрите в логах сервера - доходит вообще коннект или нет.
и заголовок запроса мне что то подсказывает у вас не полный
url = "GET " + url + " HTTP/1.1\r\n" + "Host: " + srvhost + "\r\n" + "User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5\r\n" + "Accept: text/html\r\n" + "Connection: Close\r\n\r\n"; Serial.println(url); client.println(url); deviceMode = 0; client.stop();andycat - User-Agent необязательное поле, а вот то. что у ТС неправильные окончания строк - вполне может быть причиной
По этому запросу отправляется письмо на почту! В даном случае письма нет.
Обьясните пожалуйтса что за \r\n
А на соседнем форуме у ТС почему-то другой скетч. Сегодня не пятница, случаем?