Brak połączenia - link bezpośredni

Awatar użytkownika
shimano73
Posty: 1130
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

pn maja 25, 2020 8:43 pm

Koledzy proszę o pomoc z linkami bezpośrednimi, próbuję swoich sił i mi nie wychodzi ,nie wiem w czym problem
Chciałbym odczytać za pomocą linku bezpośredniego temperaturę i wilgotność z mojej stacji pogodowej.
Używam takiej metody :

Kod: Zaznacz cały


void Temp_Hum_D_Link() {

  WiFiClientSecure client;
  Serial.print("connecting to ");
  Serial.println(host);    // tu jest svr1.supla.org 
  					// a pod 	httpsPort = 433
  					// pod url - wygenerowany link bezpośredni
  if (!client.connect(host, httpsPort)) {
    Serial.println("connection failed");
    return;
  }
  
  Serial.print("requesting URL: ");
  Serial.println(url);
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "User-Agent: ESP8266\r\n" +
               "Connection: close\r\n\r\n");
  Serial.println("request sent");
  while (client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      Serial.println("headers received");
      break;
    }
  }
  String line = client.readStringUntil('}');
  line = line + "}";
  Serial.println("reply was:");
  Serial.println("==========");
  Serial.println(line);
  Serial.println("==========");
  DynamicJsonBuffer  jsonBuffer(200);
    JsonObject& root = jsonBuffer.parseObject(line);

  if (!root.success()) {
    Serial.println("parseObject() failed");
    return;
  }
  int Humi = root["humidity"];
  double Temp = root["temperature"];
  
  Serial.print("temperature ");
  Serial.println(Temp, 2);
  Serial.print("humidity ");
  Serial.println(Humi);
  Serial.println("closing connection");
     ////lcd.setCursor(13,(row));
     ////lcd.print("      ");
     //lcd.setCursor(13,(row));
     //lcd.print(Temp, 2);
     //lcd.print(" C");
     ////lcd.setCursor(13,(row+1));
     ////lcd.print("      ");
     //lcd.setCursor(13,(row+1));
     //lcd.print(Humi);
     //lcd.print("%");
}

no i cały czas pojawia się na terminalu

Kod: Zaznacz cały


connecting to svr1.supla.org
connection failed

Oczywiście układ jest połączony z siecią Wifi
Czego może mi brakować, używam wersji biblioteki SuplaDevice z początkowych czasów "Primary GUI" ale ona tu chyba mnie ma zastosowania ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
Awatar użytkownika
klew
Posty: 989
Rejestracja: czw cze 27, 2019 12:16 pm

pn maja 25, 2020 8:52 pm

Pamięci nie brakuje? Masz w programie coś więcej, czy tylko to co wkleiłeś?
Jedno połączenie szyfrowane zjada prawie 30 kB RAMu
Awatar użytkownika
shimano73
Posty: 1130
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

pn maja 25, 2020 8:56 pm

klew pisze:
pn maja 25, 2020 8:52 pm
Pamięci nie brakuje? Masz w programie coś więcej, czy tylko to co wkleiłeś?
Jedno połączenie szyfrowane zjada prawie 30 kB RAMu
Jak mogę sprawdzić ile mi zostaje tego ramu ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
Awatar użytkownika
klew
Posty: 989
Rejestracja: czw cze 27, 2019 12:16 pm

pn maja 25, 2020 10:16 pm

shimano73 pisze:
pn maja 25, 2020 8:56 pm
Jak mogę sprawdzić ile mi zostaje tego ramu ?
https://github.com/klew/arduino/blob/ma ... ree_heap.h

Możesz też to sobie na Serial printować
piomar2
Posty: 368
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

wt maja 26, 2020 8:05 am

Może to Tobie pomoże:
wersja działająca...pozdrawiam

Kod: Zaznacz cały


#include <WiFiClientSecure.h>
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>  

const char* host = "svr21.supla.org";
const int httpsPort = 443;
String url = "";
byte a=0;

//pin D1 5
//--------------------------------------------------------
//char Link_1[40]="/direct/xxx/xxxxxxxxx/read";//BME

//--------------------------------------------------------
void setup() {
   Serial.begin(115200);
   pinMode(5, INPUT_PULLUP); 
//--------------------------------------------------------
  //WiFi.begin("SSID","haslo");
  WiFi.begin("xxxxxxxx","xxxxxxxx");
//--------------------------------------------------------
  while ((!(WiFi.status() == WL_CONNECTED))){
  delay(500);
  Serial.print(".");
  }
 Serial.println("Polaczony"); 
   }   
 void loop() {   
    if ( digitalRead(5) == HIGH){
   a=0; 
   }
   
   if ( digitalRead(5) == LOW && a==0)  {
    url = Link_1;
    direct_Link() ;
     a=1; 
    } 
}

void direct_Link() {
  WiFiClientSecure client;
  Serial.print("connecting to ");
  Serial.println(host);
  if (!client.connect(host, httpsPort)) {
    Serial.println("connection failed ----------------------");
    return;
  }
  Serial.print("requesting URL: ");
  Serial.println(url);
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "User-Agent: ESP8266\r\n" +
               "Connection: close\r\n\r\n");
  Serial.println("request sent");
  while (client.connected()) {
    String line = client.readStringUntil('\n');
    if (line == "\r") {
      Serial.println("headers received");
      break;
    }
  }
   String line = client.readStringUntil('\n');
  if (line.indexOf("true") >0) {
    yield();
  Serial.println("reply was:  ");Serial.println("==========");  
 
  Serial.println(line);

  Serial.println("==========");Serial.println("closing connection");
    DynamicJsonBuffer jsonBuffer;
  JsonObject& root = jsonBuffer.parseObject(line);

  int Humi = root["humidity"];
  float Temp = root["temperature"]; 
  
  //--------------H i T------------------
 Serial.println (Humi);
 Serial.println (Temp);
 
   } else {Serial.println("failed --------------------");
 } 
}
Awatar użytkownika
shimano73
Posty: 1130
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

wt maja 26, 2020 8:56 am

Dziękuje za wskazówki , jeśli starczy mi dnia to przetestuje 😁
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
Awatar użytkownika
shimano73
Posty: 1130
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

ndz maja 31, 2020 4:46 pm

Mam malutkie pytanie , mam brak odczytów z linków bezpośrednich czujnika ciśnienia, prędkości wiatru i deszczu , w czym może być problem.
Pozostałe odczyty temperatury, wilgotności , nasłonecznienia (ten działa na kanale ds18b20) działają poprawnie.
Nie chodzi tylko o program na esp, ale wklejając do przeglądarki nie ma wyniku.
Załączniki
link.png
link.png (61.9 KiB) Przejrzano 358 razy
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
Awatar użytkownika
klew
Posty: 989
Rejestracja: czw cze 27, 2019 12:16 pm

pn cze 01, 2020 10:57 am

shimano73 pisze:
ndz maja 31, 2020 4:46 pm
Mam malutkie pytanie , mam brak odczytów z linków bezpośrednich czujnika ciśnienia, prędkości wiatru i deszczu , w czym może być problem.
Pozostałe odczyty temperatury, wilgotności , nasłonecznienia (ten działa na kanale ds18b20) działają poprawnie.
Nie chodzi tylko o program na esp, ale wklejając do przeglądarki nie ma wyniku.
U mnie wygląda to identycznie.
Na stronie nic nie ma, ale odpowiedź została wysłana:
https://svr23.supla.org/direct/1214/ZYiWziZDzYNNj/read
W źródłach storny jest wartość:
{"connected":true,"value":1021.329102}

Wygląda jakby nie było to pokazywane w html.
Awatar użytkownika
shimano73
Posty: 1130
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze

pn cze 01, 2020 11:21 am

No właśnie , czyżbym jakiś bug wykrył 😁
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Jak się dziś oddycha https://schimano73.aqi.eco/
https://github.com/shimano73
lukfud
Posty: 331
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

pn cze 01, 2020 11:25 am

shimano73 pisze:
pn cze 01, 2020 11:21 am
No właśnie , czyżbym jakiś bug wykrył 😁
Zauważyłem to na początku roku jakoś, ale że nie było mi do niczego potrzebne, nie pisałem o tym :)
.newbie
ODPOWIEDZ

Wróć do „Pomoc”