Supla Button 2.0 i kolejne wersje...
Pod tym wątkiem kolejna wersja SUPLA BUTTON: viewtopic.php?f=9&t=5153#p46754
Witam na jakich ustawieniach w arduino ide wgrac suple button na esp 01 bo zadna wersja nie wykonuje sceny czy blad tkwi w cudzyslowiach maja byc czy nie ???
String url_1 = "/api/scenes/execute/XXXXXXX-XXXXXXXXXX-XXXXXXXXX"; //Adres PUBLICZNY SCENY 1
String Klucz_dostepu_1 = "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
String url_1 = "/api/scenes/execute/XXXXXXX-XXXXXXXXXX-XXXXXXXXX"; //Adres PUBLICZNY SCENY 1
String Klucz_dostepu_1 = "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
-
- Posty: 11
- Rejestracja: wt wrz 05, 2017 8:31 pm
Z tego co ustaliłem to żadna z wymienionych wersji oprogramowania nie będzie działać (przynajmniej na najnowszych bibliotekach) z powodu braku ustalonego fingerprint'a certyfikatu serwera.
Po linijce
Potencjalnie problem naprawi również wyłączenie trybu HTTPS, do tego wystarczy zamienić linijkę
Po linijce
w każdej wersji oprogramowania należy dodaćWiFiClientSecure client;
Przykładowe zastosowanie w przypadku wersji 2.0 wrzucam w załączniku, użyty certyfikat jest do strony supla.fracz.com. Implementacja wygląda tak samo w przypadku każdej wersji oprogramowania, którą widziałem.client.setFingerprint("finterprint certyfikatu");
Potencjalnie problem naprawi również wyłączenie trybu HTTPS, do tego wystarczy zamienić linijkę
naWiFiClientSecure client;
Nie sprawdzałem na kontrolerze, ale w teorii również powinno zadziałać, polecam wtedy użyć publicznego linku niewymagającego autoryzacji. Myślę że może to również pomóc w usunięciu części opóźnienia.WiFiClient client;
- Załączniki
-
- SUPLA_BUTTON_FINGERPRINT.zip
- (3.4 KiB) Pobrany 205 razy
Może pytanie banalne ale jest to mój pierwszy kontakt z arduino więc proszę wybaczcie
witam mam pytanie odnośnie przycisku "Supla Button JSON ROLLER SHUTTER" próbuję wgrać do mudułu ESP 01 8266 v2 i przy wgrywaniu czepia się "#include <ArduinoJson.h>" brak pliku lub katalogu.
nie wiem czy muszę wpisać w to miejsce jakąś swoją ścieżkę dostępu czy też zmienić nazwę pliku lub nazwę Katalogu
witam mam pytanie odnośnie przycisku "Supla Button JSON ROLLER SHUTTER" próbuję wgrać do mudułu ESP 01 8266 v2 i przy wgrywaniu czepia się "#include <ArduinoJson.h>" brak pliku lub katalogu.
nie wiem czy muszę wpisać w to miejsce jakąś swoją ścieżkę dostępu czy też zmienić nazwę pliku lub nazwę Katalogu
A skąd wziąść fingeprint serwera svr5 ???CrazyPonkeyMen pisze: ↑wt wrz 17, 2019 4:24 pm Z tego co ustaliłem to żadna z wymienionych wersji oprogramowania nie będzie działać (przynajmniej na najnowszych bibliotekach) z powodu braku ustalonego fingerprint'a certyfikatu serwera.
Po linijcew każdej wersji oprogramowania należy dodaćWiFiClientSecure client;Przykładowe zastosowanie w przypadku wersji 2.0 wrzucam w załączniku, użyty certyfikat jest do strony supla.fracz.com. Implementacja wygląda tak samo w przypadku każdej wersji oprogramowania, którą widziałem.client.setFingerprint("finterprint certyfikatu");
Potencjalnie problem naprawi również wyłączenie trybu HTTPS, do tego wystarczy zamienić linijkęnaWiFiClientSecure client;Nie sprawdzałem na kontrolerze, ale w teorii również powinno zadziałać, polecam wtedy użyć publicznego linku niewymagającego autoryzacji. Myślę że może to również pomóc w usunięciu części opóźnienia.WiFiClient client;
za cholerę mi to nie działa
Kod: Zaznacz cały
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <DoubleResetDetector.h> //Bilioteka by Stephen Denne
// Number of seconds after reset during which a
// subseqent reset will be considered a double reset.
#define DRD_TIMEOUT 5
// RTC Memory Address for the DoubleResetDetector to use
#define DRD_ADDRESS 0
DoubleResetDetector drd(DRD_TIMEOUT, DRD_ADDRESS);
//********************************************************PARAMETRY KONFIGURACYJNE****************************************************************
const char* ssid = "xxx";
const char* password = "kerxxx9";
const char* WiFi_hostname = "Supla_BUTTON_V2";
byte Adres_z_DHCP = 1; //1 = DHCP, 0 = Statyczne_IP
IPAddress staticIP(192,168,1,100);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
String url_read = "/direct528/zjGYgji5NWYNx/read";
const char* host = "svr5.supla.org";
String url_1 = "/direct/555/sdfsdfji5NWYNx/turn-off"; //link 1przykładowy
String url_2 = "/direct/555/zjGYgji5NWYNx/turn-on"; //link 2 przykładowy
//https://svr5.supla.org/direct/528/zjGYgji5NWYNx/turn-off - przykładowo link bezpośredni tak wygląda
const int httpsPort = 443; //Port serwera
const unsigned Czas_max_timeout = 40000; //Czas TIMEOUT szukania WIFI w milisekundach = 10 sekund
const byte debug = 1; //1 = Włączone debugowanie, 0 = Wyłączone
//************************************************************************************************************************************************
byte supla_mode = 0;
void setup()
{
if (debug == 1){
Serial.begin(115200);
Serial.println();
Serial.println();
Serial.println();
}
if (drd.detectDoubleReset()) {
supla_mode = 2;
} else {
supla_mode = 1;
}
for (int i=0; i <= 1000; i++){
delay(1);
drd.loop();
if (i == 500){
WiFi.hostname(WiFi_hostname);
WiFi.begin(ssid, password);
if (Adres_z_DHCP == 0){
WiFi.config(staticIP, gateway, subnet);
}
}
// Call the double reset detector loop method every so often,
// so that it can recognise when the timeout expires.
// You can also call drd.stop() when you wish to no longer
// consider the next reset as a double reset.
}
drd.stop();
}
void loop()
{
if (debug == 1){
Serial.print("Supla mode = ");
Serial.println(supla_mode);
}
for (unsigned timeout=0; timeout <= Czas_max_timeout; timeout++){
if (WiFi.status() != WL_CONNECTED){
delay(1);
}
else
{
timeout = Czas_max_timeout;
if (debug == 1){
Serial.println("Polaczono z WIFI");
Serial.print("MAC:");Serial.print(WiFi.macAddress());
Serial.print(" IP:");Serial.print(WiFi.localIP());
Serial.print(" M:");Serial.print(WiFi.subnetMask());
Serial.print(" GW:");Serial.println(WiFi.gatewayIP());
Serial.println(String("GET ") + url_1 + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"User-Agent: SuplaButtonESP8266\r\n" +
"Connection: close\r\n\r\n");
}
}
}
if (WiFi.status() == WL_CONNECTED){
WiFiClientSecure client;
//client.setFingerprint("???????"); // A SKĄD TO WZIĄŚĆ ???
if (client.connect(host, httpsPort)) {
if (debug == 1){
Serial.print("Poloczono z ");
Serial.println(host);
}
if (supla_mode == 1){
client.println(String("GET ") + url_1 + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"User-Agent: SuplaButtonESP8266\r\n" +
"Connection: close\r\n\r\n");
}
if (supla_mode == 2){
client.println(String("GET ") + url_2 + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"User-Agent: SuplaButtonESP8266\r\n" +
"Connection: close\r\n\r\n");
}
String line = client.readStringUntil('\r');
if (line == "HTTP/1.1 204 No Content"){
Serial.println("Wykonano link");
// error = 0;
}
}
if (debug == 1){
Serial.println("Koniec polaczenia");
}
}
WiFi.disconnect();
if (debug == 1){
Serial.print("Dobranoc");
}
ESP.deepSleep(0);
}
Ostatnio zmieniony sob lis 23, 2019 7:48 pm przez QLQ, łącznie zmieniany 1 raz.
jak coś nie działa to włącz zasilanie.....
Zamiast setFingerprint() użyj setInsecure() i nie musisz nic więcej podawaćQLQ pisze: ↑sob lis 23, 2019 7:36 pmA skąd wziąść fingeprint serwera svr5 ???CrazyPonkeyMen pisze: ↑wt wrz 17, 2019 4:24 pm Z tego co ustaliłem to żadna z wymienionych wersji oprogramowania nie będzie działać (przynajmniej na najnowszych bibliotekach) z powodu braku ustalonego fingerprint'a certyfikatu serwera.
Po linijcew każdej wersji oprogramowania należy dodaćWiFiClientSecure client;Przykładowe zastosowanie w przypadku wersji 2.0 wrzucam w załączniku, użyty certyfikat jest do strony supla.fracz.com. Implementacja wygląda tak samo w przypadku każdej wersji oprogramowania, którą widziałem.client.setFingerprint("finterprint certyfikatu");
Potencjalnie problem naprawi również wyłączenie trybu HTTPS, do tego wystarczy zamienić linijkęnaWiFiClientSecure client;Nie sprawdzałem na kontrolerze, ale w teorii również powinno zadziałać, polecam wtedy użyć publicznego linku niewymagającego autoryzacji. Myślę że może to również pomóc w usunięciu części opóźnienia.WiFiClient client;
https://gui-generic-builder.supla.io/
krycha88 pisze: ↑sob lis 23, 2019 7:44 pmZamiast setFingerprint() użyj setInsecure() i nie musisz nic więcej podawaćQLQ pisze: ↑sob lis 23, 2019 7:36 pmA skąd wziąść fingeprint serwera svr5 ???CrazyPonkeyMen pisze: ↑wt wrz 17, 2019 4:24 pm Z tego co ustaliłem to żadna z wymienionych wersji oprogramowania nie będzie działać (przynajmniej na najnowszych bibliotekach) z powodu braku ustalonego fingerprint'a certyfikatu serwera.
Po linijce w każdej wersji oprogramowania należy dodać
Przykładowe zastosowanie w przypadku wersji 2.0 wrzucam w załączniku, użyty certyfikat jest do strony supla.fracz.com. Implementacja wygląda tak samo w przypadku każdej wersji oprogramowania, którą widziałem.
Potencjalnie problem naprawi również wyłączenie trybu HTTPS, do tego wystarczy zamienić linijkę
na
Nie sprawdzałem na kontrolerze, ale w teorii również powinno zadziałać, polecam wtedy użyć publicznego linku niewymagającego autoryzacji. Myślę że może to również pomóc w usunięciu części opóźnienia.
DZIĘKUJĘ - TAKA JEDNA LINIJKA MI ZABRAŁA 2H -
jak coś nie działa to włącz zasilanie.....