ESP8266 Primary GUI v2

krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

uchnast.michal wrote: Wed Oct 23, 2019 11:11 am Pytanie troszkę z innej beczki.
Jak "wywołać" dowolny url po spełnieniu warunku.
Chcę za każdym razem gdy kontaktron zmieni stan wywoływać url z parametrem by na serwerze php uruchamiać dowolny kod.

Code: Select all

int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    http.addHeader("Content-Type","text/plain");
    int httpCode=http.GET();
    http.end();
  }
    }
  return result;
}
brakuje mi http
Mogę prosić o pomoc?
Musisz sobie zadeklarować to http

Code: Select all

[code]int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    HTTPClient http;
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    int httpCode=http.GET();
        if (httpCode > 0) {
       		 String payload = http.getString();
		 Serial.println(payload); 
        }
    http.end();
    }
  return result;
}
[/code]
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

uchnast.michal wrote: Wed Oct 23, 2019 11:11 am Pytanie troszkę z innej beczki.
Jak "wywołać" dowolny url po spełnieniu warunku.
Chcę za każdym razem gdy kontaktron zmieni stan wywoływać url z parametrem by na serwerze php uruchamiać dowolny kod.

Code: Select all

int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    http.addHeader("Content-Type","text/plain");
    int httpCode=http.GET();
    http.end();
  }
    }
  return result;
}
brakuje mi http
Mogę prosić o pomoc?
Nie rób tego w "supla_DigitalRead". Ta metoda może być wywoływana tysiące razy na sekundę. Raczej nie chcesz zasypać serwera taką ilością GET-ów.
Najlepsze suple dla Twojego domu :mrgreen:
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

klew wrote: Wed Oct 23, 2019 11:34 am
uchnast.michal wrote: Wed Oct 23, 2019 11:11 am Pytanie troszkę z innej beczki.
Jak "wywołać" dowolny url po spełnieniu warunku.
Chcę za każdym razem gdy kontaktron zmieni stan wywoływać url z parametrem by na serwerze php uruchamiać dowolny kod.

Code: Select all

int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    http.addHeader("Content-Type","text/plain");
    int httpCode=http.GET();
    http.end();
  }
    }
  return result;
}
brakuje mi http
Mogę prosić o pomoc?
Nie rób tego w "supla_DigitalRead". Ta metoda może być wywoływana tysiące razy na sekundę. Raczej nie chcesz zasypać serwera taką ilością GET-ów.
wykorzystaj supla_DigitalWrite
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

krycha88 wrote: Wed Oct 23, 2019 11:40 am
wykorzystaj supla_DigitalWrite
Też nie. ;)
Chodzi o czytanie stanu z kontaktronu, więc "write" tutaj nic nie da.

@uchnast.michal czy stan kontaktronu chcesz też przekazywać do Supli, czy zależy Ci tylko na wykonaniu akcji?
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

@klew wykonaniu akcji. To co napisałem było dużym uproszczeniem. Oczywiście będę sprawdzał czy zmienił się stan a nie za każdym razem gdy 1 to ....
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

krycha88 wrote: Wed Oct 23, 2019 11:21 am
uchnast.michal wrote: Wed Oct 23, 2019 11:11 am Pytanie troszkę z innej beczki.
Jak "wywołać" dowolny url po spełnieniu warunku.
Chcę za każdym razem gdy kontaktron zmieni stan wywoływać url z parametrem by na serwerze php uruchamiać dowolny kod.

Code: Select all

int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    http.addHeader("Content-Type","text/plain");
    int httpCode=http.GET();
    http.end();
  }
    }
  return result;
}
brakuje mi http
Mogę prosić o pomoc?
Musisz sobie zadeklarować to http

Code: Select all

[code]int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    HTTPClient http;
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    int httpCode=http.GET();
        if (httpCode > 0) {
       		 String payload = http.getString();
		 Serial.println(payload); 
        }
    http.end();
    }
  return result;
}
[/code]
'HTTPClient' was not declared in this scope
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

uchnast.michal wrote: Wed Oct 23, 2019 1:50 pm
krycha88 wrote: Wed Oct 23, 2019 11:21 am
uchnast.michal wrote: Wed Oct 23, 2019 11:11 am Pytanie troszkę z innej beczki.
Jak "wywołać" dowolny url po spełnieniu warunku.
Chcę za każdym razem gdy kontaktron zmieni stan wywoływać url z parametrem by na serwerze php uruchamiać dowolny kod.

Code: Select all

int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    http.addHeader("Content-Type","text/plain");
    int httpCode=http.GET();
    http.end();
  }
    }
  return result;
}
brakuje mi http
Mogę prosić o pomoc?
Musisz sobie zadeklarować to http

Code: Select all

[code]int supla_DigitalRead(int channelNumber, uint8_t pin) {
  int result = digitalRead(pin);
if(pin == 4 and result == 1){
    if (WiFi.status()==WL_CONNECTED)
  {
    HTTPClient http;
    String url="http://xxx.pl/supla-6522694458.php?data=wemos";
    http.begin(url);
    int httpCode=http.GET();
        if (httpCode > 0) {
       		 String payload = http.getString();
		 Serial.println(payload); 
        }
    http.end();
    }
  return result;
}
[/code]
'HTTPClient' was not declared in this scope
a dodałeś
#include <ESP8266HTTPClient.h>
https://gui-generic-builder.supla.io/
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

upss ;p dzięki i przepraszam. Już jest ok.
User avatar
artur_n
Posts: 466
Joined: Thu Aug 17, 2017 2:24 pm
Location: RJA

Post

Panowie mam problem z Sonoff po wgraniu tego softu. Mianowicie działa jakoś dziwnie niestabilnie. Sieć WiFi do konfiguracji nie zawsze po restarcie się pojawia a jak już się pojawi i uda się do niej podłączyć to karta nie dostaje adresacji.

Jakieś pomysły?
User avatar
artur_n
Posts: 466
Joined: Thu Aug 17, 2017 2:24 pm
Location: RJA

Post

Nikt nic? Dodam tylko, że inny soft (bin) znaleziony na forum śmiga bez problemu.

Return to “Nowości”