Brak połączenia - link bezpośredni

User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

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 :

Code: Select all


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

Code: Select all


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

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

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
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

klew wrote: Mon May 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

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

shimano73 wrote: Mon May 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ć
Najlepsze suple dla Twojego domu :mrgreen:
piomar2
Posts: 369
Joined: Fri Apr 26, 2019 5:32 pm
Location: Bukowice

Post

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

Code: Select all


#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 --------------------");
 } 
}
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

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

Wezmę udział w Supla Offline Party 2024 :)
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

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.
You do not have the required permissions to view the files attached to this post.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

shimano73 wrote: Sun May 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.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

No właśnie , czyżbym jakiś bug wykrył 😁
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

shimano73 wrote: Mon Jun 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 :)
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl

Return to “Pomoc”