Supla Button 2.0 i kolejne wersje...

User avatar
QLQ
Posts: 469
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sat Jan 12, 2019 10:35 am

slawek wrote:
Sat Jan 12, 2019 9:46 am
ESP07 ma za mało pamięci - masz pewnie 512k...(niebieski moduł)
Jak masz ustawiony rozmiar w IDE?
Może wystarczy zmienić na 512?
Tak niebieski:
Clip_7.jpg
Clip_7.jpg (2.51 KiB) Viewed 660 times
Arduino IDE:
Clip_6.jpg
Clip_6.jpg (34.7 KiB) Viewed 660 times
User avatar
QLQ
Posts: 469
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sat Jan 12, 2019 12:01 pm

Duch__ wrote:
Wed May 23, 2018 8:13 pm
...................

W linku URL ma się zaczynać od /api/scemes/execute/XXXXXXXXXX natomiast TOKEN od Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXX. Oczywiście za XXX wstawiasz swoje cyfry i litery. Dane te uzyskasz z supla.fracz.com.
A bardziej dokładnie?
Mając wygenerowane::

curl https://supla.fracz.com/api/scenes/exec ... dcb17e3b52 -X GET -m 10000 -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiI5Y2FmYjJjNS0wMGNhLTQ1OGUtYTc2Yi0zZjBhNWUxY2JhNmYifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI6MTU0NzI5MTQwOSwibmJmIjoxNTQ3MjkxNDA5LCJleHAiOjE3MDQ5NzE0MDl9.YwkapdcGwj0IZg7Wxp4qCJRiE-LdHHdLCWwLUrmU_SA"

to czy URL wpisujemy to czy publiczne? Jeśli to to czy z "-X GET -m 10000 -H "

Token : Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiI5Y2FmYjJjNS0wMGNhLTQ1OGUtYTc2Yi0zZjBhNWUxY2JhNmYifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI6MTU0NzI5MTQwOSwibmJmIjoxNTQ3MjkxNDA5LCJleHAiOjE3MDQ5NzE0MDl9.YwkapdcGwj0IZg7Wxp4qCJRiE-LdHHdLCWwLUrmU_SA
Clip_8.jpg
Clip_8.jpg (12.42 KiB) Viewed 640 times
Dla Was to jest oczywiste a ja już nie mam nerwów :evil:
User avatar
wojtas567
Posts: 1545
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Sat Jan 12, 2019 12:47 pm

Wpisujesz dane z autoryzacyjnego adresu w takiej konfiguracji:
/api/scenes/execute/e86jhhgyeef-84f8-448b-8153-918kuh7768668c5

Authorization: Bearer eyJ0eXAiOiJKV1QlihouoUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiI3MjQ0NjI1Yy1jY2ZhLTRlODktOGE3Yi1mZTgxMWUyYTNjMzcifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI5OTY2OCwibmJmIjoxNjhhjhhjhk5NjY4LCJleHAiOjE3MDA1Nzk2Njh9.ZW-pqNzH8h9vZWVBhXUrDYLsEWwJmhdqcIwP4eyu4vo
Pozdrawiam
Wojtek
User avatar
QLQ
Posts: 469
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sat Jan 12, 2019 1:08 pm

wojtas567 wrote:
Sat Jan 12, 2019 12:47 pm
Wpisujesz dane z autoryzacyjnego adresu w takiej konfiguracji:
/api/scenes/execute/e86jhhgyeef-84f8-448b-8153-918kuh7768668c5

Authorization: Bearer eyJ0eXAiOiJKV1QlihouoUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiI3MjQ0NjI1Yy1jY2ZhLTRlODktOGE3Yi1mZTgxMWUyYTNjMzcifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI5OTY2OCwibmJmIjoxNjhhjhhjhk5NjY4LCJleHAiOjE3MDA1Nzk2Njh9.ZW-pqNzH8h9vZWVBhXUrDYLsEWwJmhdqcIwP4eyu4vo
no to nie wiem co robię nie tak w button v2.1 by Duch bo dostaję w terminalu:

Code: Select all

Polaczono z WIFI
MAC:CC:50:E3:xxxxx     IP:192.168.1.19     M:255.255.255.0     GW:192.168.1.1

nacisnieto przycisk 1 razy
HTTP/1.1 401 Unauthorized
z tego autoryzacyjnego cURL (NIE publicznego):

Code: Select all

curl https://supla.fracz.com/api/scenes/execute/36a70040-1b82-489a-90f0-1478e91b24b0 -X GET -m 
10000 -H "Authorization: Bearer 
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiJlYTQ3NzUyMi1kMDExLTRkOTktOTlmYS02Z
jM4ZWNkNGYwNGEifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI6MTU0NzI5NjkxNiwibmJmIjo
xNTQ3Mjk2OTE2LCJleHAiOjE3MDQ5NzY5MTZ9.JTnw-RzvpdbyVc6TYbDbruiJmyUaE396y29il67E6TQ"
/api/scenes/execute/36a70040-1b82-489a-90f0-1478e91b24b0

Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiJlYTQ3NzUyMi1kMDExLTRkOTktOTlmYS02Z
jM4ZWNkNGYwNGEifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI6MTU0NzI5NjkxNiwibmJmIjo
xNTQ3Mjk2OTE2LCJleHAiOjE3MDQ5NzY5MTZ9.JTnw-RzvpdbyVc6TYbDbruiJmyUaE396y29il67E6TQ

i niedziała ! WTF?
User avatar
QLQ
Posts: 469
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sat Jan 12, 2019 1:55 pm

No to już wiem czemu. Taka pierdoła a krwi mi napsuła - piszę dla potomnych. Kopiując " kopiuj cURL...." kopiowałem to sobie do notatnika.
Dopiero w wersji 2.2.1 w terminalu odkryłem (dzięki że kolega @Duch dał podgląd jak ESP przesyła to do skryptów @Fracz)

efekt kolejnego kopiowania z notatnika do panelu Button:
Clip.jpg
Clip.jpg (33.25 KiB) Viewed 610 times
taka pierdułka a normalnie jestem zagotowany
Yepestis
Posts: 72
Joined: Mon Sep 24, 2018 6:08 pm
Location: Wrocław

Sat Jan 12, 2019 2:00 pm

QLQ wrote:
Sat Jan 12, 2019 1:08 pm
i niedziała ! WTF?
Właśnie wklepałem twoje dane i:

Code: Select all

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld
Startup
Laczenie z WIFI
Polaczono z WIFI
MAC:CC:50:E3:AA:AA:AA     IP:192.168.254.103     M:255.255.255.0     GW:192.168.254.254
nacisnieto przycisk 1 razy
Wykonano scene
suplaButton.jpg
suplaButton.jpg (70.51 KiB) Viewed 609 times
Edit
Widzę że problem znaleziony. Ale jak kopiowałem z forum to dobrze się wkleiło.
User avatar
QLQ
Posts: 469
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Sat Jan 12, 2019 6:31 pm

W końcu zrobiłem to co chciałem.
Wgrałem : download/file.php?id=2538 do ESP07. Zależało mi na tym sofcie z uwagi na to że układ "idzie spać' i nie zjada baterii a ESP ma pigtail na zewnętrzną antenę co daje mi przewagę z odległością do skrzynki z 3piętra plus żelbeton.

Oczywiście niie obyło się bez "ale": posprawdzałem cURL- powpisywałem prawidłowe, sprawdzone działajace na v2.2.1 lecz po wgraniu wersji bytton 2.0 z tymi cURL esp07 łączył się z siecią WiFi, z supla.fracz.com ale nie wykonywał scen. Było tylko :

Supla mode = 2
Polaczono z WIFI
MAC:5C:xxxxxxxxxx IP:192.168.1.19 M:255.255.255.0 GW:192.168.1.1
Poloczono z supla.fracz.com
Koniec polaczenia
Dobranoc


Dopiero po porównaniu części kodu z ver 2.2.1
i dopisaniu jak poniżej zaczęło to hulać:
Clip_3.jpg
Clip_3.jpg (22.22 KiB) Viewed 609 times
Supla mode = 1
Polaczono z WIFI
MAC:5C:CXXXXXX IP:192.168.1.19 M:255.255.255.0 GW:192.168.1.1
Poloczono z supla.fracz.com
Wykonano scene
Koniec polaczenia



Od czasu powstania tego softu trochę minęło tym bardziej że w jego kodzie opis do linków brzmi "// ADRES PUBLICZNY SCENY ". Wersję @Fracza skryptów się zmieniły chyba od tego czasu i być może tu leżał problem. Nie wiem to pytanie do Was.

załączam też zmodyfikowany kod. Działa na WeMos D1 mini i ESP - 07 (niebieski modół) może komuś się przyda:
SLEEP_Button_2.0.A.rar
(1.92 KiB) Downloaded 46 times
PuteR
Posts: 506
Joined: Wed Dec 06, 2017 10:07 am

Tue Jan 22, 2019 10:32 pm

Wgrywam supla button dla jednej sceny do nodemcu v3 ustawiam swoje parametry sieci, wgrywam i moduł nie może połączyć się z siecią cały czas mruga dioda i po kilku minutach przestaje. Duch__ O co może chodzić??
PuteR
Posts: 506
Joined: Wed Dec 06, 2017 10:07 am

Sun Jan 27, 2019 4:17 pm

Która z wersji supla button będzie najszybciej wykonywała scenę? Wersja dla jednej strony nie chce u mnie działać albo nie umiem tego poprawnie wgrać, wersja 2.2.1 dość długo reaguje. Czy wersja 2.1 gdzie można wgrać tylko 2 sceny będzie działać szybciej i czy może działać na stałym zasilaniu i czy tam sterowanie odbywa się przez przycisk na obudowie czy można podłączyć przycisk zewnętrzny? Potrzebuję tylko jednej sceny.
cino111
Posts: 406
Joined: Mon May 07, 2018 8:00 pm

Wed Jan 30, 2019 8:23 pm

Cześć. Męczę się od rana z Buttonem ale na Arduino Mega. Za nic w świecie nie chce mi się wykonać scena. Zrobiłem już publiczny link żeby było łatwiej ale daje nic. Jak wklejam do przeglądarki to działa.
Co ja tu mam nie tak :?:
Mam tak:

Code: Select all

#include <SPI.h>
#include <Ethernet.h>
#include <OneWire.h>
#include <DHT.h>
#include <DallasTemperature.h>
#include <SuplaDevice.h>

#define BTN_COUNT 2  // definiujemy ile ma być przycisków 

#define ONE_WIRE 24 // nr pinu dla termometru DS18B20
#define TEMPERATURE_PRECISION 10  // rozdzielczość czujnika DS 9 -12 bit
OneWire oneWire(ONE_WIRE);
DallasTemperature sensors(&oneWire);


#define DHTPIN 25 // nr pinu dla czujnika temp i wilgotności DHT22
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

//*******linki bezposrednie********
const char* host = "https://192.168.1.108";
const int httpsPort = 444;
String url = "/direct";
int buttonValue; //przechowuje warosc analogowa po nacisnieciu przycisku

i dalej

Code: Select all

void loop() {
  SuplaDevice.iterate();
  analog_switch();
}



void direct_Link() {
  
   EthernetClient 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: Cino111\r\n" +
               "Connection: close\r\n\r\n");

   String line = client.readStringUntil('\r');
      if (line == "HTTP/1.1 204 No Content"){
        Serial.println("Wykonano scene");
       // error = 0;
       }
}
        
//https://forum.supla.org/viewtopic.php?f=10&t=4173
 void analog_switch(){
  
  buttonValue = analogRead(A0); //Read analog value from A0 pin
  delay (1000);
  Serial.println(buttonValue);
    
  //For no button:
  if (buttonValue<=50){
  delay (100);
  return;
  }
  //For 1st button:
  else if (buttonValue>=113 && buttonValue<=153){
    Serial.println("swiatlo ogrod ");
     url = "/api/scenes/execute/e7190e0d-xxxx-xxxx-bb45-dexxxb8dcc7b";
   //  token   = "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiI1NWZhNzcyZi01YWZjLTRmYzEtODQ0OS05MjUzNmZiZWVhZDUifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI6MTU0ODgzNzA1OCwibmJmIjoxNTQ4ODM3MDU4LCJleHAiOjE3MDY1MTcwNTh9.-VthDJPdPHWRnSjOONKT1uUtaF_X6CEN1zNFVrZN_IA";
    direct_Link() ;
   return;
  }
  //For 2nd button:
  else if (buttonValue>=256 && buttonValue<=296){
    Serial.println("read: 2 ");
     url = "/api/scenes/execute/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
   //  token   = "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    direct_Link() ;
    return;
  }
  //For 3rd button:
  else if (buttonValue>=389  && buttonValue<=429){
    Serial.println("ogrod: 3 ");
    url = "/api/scenes/public/4a438cd3-xxxx-xxxx-xxxx-5ebxxxebe86f";
  //   token   = "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnQiOnsiaWQiOiI1NWZhNzcyZi01YWZjLTRmYzEtODQ0OS05MjUzNmZiZWVhZDUifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWN6LmNvbSIsImlhdCI6MTU0ODgzNzA1OCwibmJmIjoxNTQ4ODM3MDU4LCJleHAiOjE3MDY1MTcwNTh9.-VthDJPdPHWRnSjOONKT1uUtaF_X6CEN1zNFVrZN_IA";
   direct_Link() ;
    return;
  }
  //For 4th button:
  else if (buttonValue>=525  && buttonValue<=565){
    Serial.println("read: 4 ");
     url = "/api/scenes/execute/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
  //   token   = "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    direct_Link() ;
    return;
  }  
  //For 5rd button:
  else if (buttonValue>=654  && buttonValue<=694){
    Serial.println("read: 5 ");
     url = "/api/scenes/execute/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
   //  token   = "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    direct_Link() ;
    return;
  }
  //For 6th button:
  else if (buttonValue>=796  && buttonValue<=836){
    Serial.println("read: 6 ");
     url = "/api/scenes/execute/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
   //  token   = "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    direct_Link() ;
    return;
  }
  //For 7rd button:
  else if (buttonValue>=930  && buttonValue<=970){
    Serial.println("read: 7 ");
     url = "/api/scenes/execute/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
   //  token   = "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    direct_Link() ;
    return;
  }
  //For 8th button:
  else if (buttonValue>=1000 ){
    Serial.println("read: 8 ");
     url = "https://192.168.1.108:444/api/scenes/public/4a438cd3-xxxx-xxxx-91d1-5eb0eaebe86f";
    // token   = "Authorization: Bearer eyJ0eX4LTQ3ODktODQwZC1hZWU2ODUyZmFlNTAifSwiaXNzIjoiaHR0cHM6XC9cL3N1cGxhLmZyYWNDQ4NTI3LCJleHAiOjE3MDY1Mjg1Mjd9.5RgexgKLpRagsL_-cc1OetDc-TLLIJumFIF1wxMdwa0";

    
    direct_Link() ;
    return;
  } 
}

Na serial monitorze niby jest ok.

Code: Select all

21:15:34.843 -> 436
21:15:35.887 -> 415
21:15:35.887 -> ogrod: 3 
21:15:35.887 -> connecting to https://192.168.1.108
21:15:35.923 -> requesting URL: /api/scenes/public/4a438cd3-xxxx-xxxx-91d1-5eb0eaebe86f
21:15:37.980 -> 388
21:15:38.984 -> 377
Post Reply