Supla Button 2.0 i kolejne wersje...
-
cino111
- Posts: 714
- Joined: Mon May 07, 2018 8:00 pm
Jaką płytkę ustawiles? Jakie parametry wgrywania?
-
Duch__
- Posts: 2199
- Joined: Wed Aug 24, 2016 7:26 pm
- Location: Opole
- Been thanked: 6 times
-
newada890
- Posts: 9
- Joined: Sat Sep 02, 2017 6:40 pm
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";
-
CrazyPonkeyMen
- Posts: 11
- Joined: Tue Sep 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;
You do not have the required permissions to view the files attached to this post.
-
Rem125
- Posts: 158
- Joined: Mon Mar 26, 2018 3:00 pm
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
-
Rem125
- Posts: 158
- Joined: Mon Mar 26, 2018 3:00 pm
Już sobie poradziłem po prostu musiałem wgrać odpowiednią wersję biblioteki
-
QLQ
- Posts: 2512
- Joined: Sun Sep 03, 2017 9:13 am
A skąd wziąść fingeprint serwera svr5 ???CrazyPonkeyMen wrote: Tue Sep 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
Code: Select all
#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);
}
Last edited by QLQ on Sat Nov 23, 2019 7:48 pm, edited 1 time in total.
jak coś nie działa to włącz zasilanie.....
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Zamiast setFingerprint() użyj setInsecure() i nie musisz nic więcej podawaćQLQ wrote: Sat Nov 23, 2019 7:36 pmA skąd wziąść fingeprint serwera svr5 ???CrazyPonkeyMen wrote: Tue Sep 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/
-
QLQ
- Posts: 2512
- Joined: Sun Sep 03, 2017 9:13 am
krycha88 wrote: Sat Nov 23, 2019 7:44 pmZamiast setFingerprint() użyj setInsecure() i nie musisz nic więcej podawaćQLQ wrote: Sat Nov 23, 2019 7:36 pmA skąd wziąść fingeprint serwera svr5 ???CrazyPonkeyMen wrote: Tue Sep 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.....
