Sonoff mini + DS18B20

Robik
Posty: 23
Rejestracja: pn lut 17, 2020 8:41 pm

czw lut 20, 2020 8:48 pm

ten soft co poprawiłeś dane typu serwer, adres, id dostępu przyjmuje przy pierwszym uruchomieniu czy trzeba wpisać na sztywno przed ładowaniem do ESP ?
Robik
Posty: 23
Rejestracja: pn lut 17, 2020 8:41 pm

czw lut 20, 2020 8:49 pm

A jeszcze czy wygeneruje GUID-a, i AuthKey przy logowaniu do chmury? czodzi o to co pzygmunt zwrócił uwagę
lukfud
Posty: 316
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

czw lut 20, 2020 9:15 pm

Wszystkie przez IDE, bo dla każdego musisz wygenerować nowy GUID i AUTHKEY ;)

Przed chwilą wrzucałem na swojego MINI i zauważyłem jeszcze jeden błąd. Jedna linia do poprawy, ma być

Kod: Zaznacz cały

Supla::Control::Button button(4, true, true);
aby poprawnie działał przycisk.

Wszystkie dane musisz wpisać na stałe przed wgraniem, a GUID i AUTHKEY wygenerujesz z podanych linków.
.newbie
Awatar użytkownika
klew
Posty: 906
Rejestracja: czw cze 27, 2019 12:16 pm

czw lut 20, 2020 10:10 pm

Przesuń jeszcze inicjalizacje "dzwonkowy" przed uruchomienie "willTrigger".
Ja bym też nie mieszał używania zmiennych globalnych z globalnymi wskaźnikami.
Albo wszystko na wskaźnikach, albo zmienne globalne - będzie"częściej"
lukfud
Posty: 316
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

czw lut 20, 2020 10:29 pm

klew pisze:
czw lut 20, 2020 10:10 pm
Ja bym też nie mieszał używania zmiennych globalnych z globalnymi wskaźnikami.
Albo wszystko na wskaźnikach, albo zmienne globalne - będzie"częściej"
Chyba nie łapię, co masz na myśli.
.newbie
Awatar użytkownika
klew
Posty: 906
Rejestracja: czw cze 27, 2019 12:16 pm

czw lut 20, 2020 10:36 pm

lukfud pisze:
czw lut 20, 2020 10:29 pm
klew pisze:
czw lut 20, 2020 10:10 pm
Ja bym też nie mieszał używania zmiennych globalnych z globalnymi wskaźnikami.
Albo wszystko na wskaźnikach, albo zmienne globalne - będzie"częściej"
Chyba nie łapię, co masz na myśli.
Pierwsza rzecz:
Definiujesz zmienną wskźnikową "dzwonkowy":

Kod: Zaznacz cały

Supla::Control::Relay *dzwonkowy = nullptr;
I następnie ustawiasz aby button wykonał operację na "dzwonkowy", zanim stworzysz obiekt pod tym wskaźnikiem:

Kod: Zaznacz cały

 button.willTrigger(*dzwonkowy, Supla::Control::Button::ON_PRESS, Supla::Control::Relay::TOGGLE); // <- tutaj robisz operację na *dzwonkowy
 button.setSwNoiseFilterDelay(100);
  
 dzwonkowy = new Supla::Control::Relay(12);    // <- a dopiero tutaj ten obiekt tworzysz
 
Ostatnią linię z powyżego fragmentu, przenieś przed button.willTrigger.

Druga sprawa jest taka, że używasz "dzwonkowy" jako wskaźnika i zaraz pod nim używasz "button" jako zwykły obiekt (nie wskaźnik).
W tym programie jest to chyba bez znaczenia, czy tworzysz obiekty globalnie, czy wskaźniki i potem do nich allokujesz pamięć, więc ja bym wybrał jedną metodę i stosował ją konsekwentnie - np oba "dzwonkowy" i "button" jako zmienna globalna, albo oba jako wskaźniki.
lukfud
Posty: 316
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

czw lut 20, 2020 11:55 pm

klew pisze:
czw lut 20, 2020 10:36 pm

Ostatnią linię z powyżego fragmentu, przenieś przed button.willTrigger.

Druga sprawa jest taka, że używasz "dzwonkowy" jako wskaźnika i zaraz pod nim używasz "button" jako zwykły obiekt (nie wskaźnik).
W tym programie jest to chyba bez znaczenia, czy tworzysz obiekty globalnie, czy wskaźniki i potem do nich allokujesz pamięć, więc ja bym wybrał jedną metodę i stosował ją konsekwentnie - np oba "dzwonkowy" i "button" jako zmienna globalna, albo oba jako wskaźniki.
Z przeniesieniem linii załapałem - choć już nie jest potrzebna, a co do wskaźnika przekaźnika to najpierw go usunąłem, a potem przypomniałem sobie, że w innym temacie napisałeś, że musi być wskaźnik, jeśli chcemy używać przekaźnika w programie.
Ok, zrozumiałem - przejrzałem raz jeszcze przykład, który podałeś w temacie przycisku.

Ostatecznie (mam nadzieję :)) ze zmianą nazw. U mnie działa.

Kod: Zaznacz cały

/*
Copyright (C) AC SOFTWARE SP. Z O.O.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/

#include <SuplaDevice.h> // https://github.com/klew/arduino
#include <supla/network/esp_wifi.h>
#include <supla/sensor/DS18B20.h>
#include <supla/control/relay.h>

Supla::Control::Relay przekaznik(12);
Supla::Control::Button dzwonkowy(4, true, true);

const char* srv_addr		= "xxx";
const char* srv_email		= "xxx";
const char* device_name		= "SONOFF MINI";
const char* wifi_ssid		= "xxx";
const char* wifi_password	= "xxx";

Supla::ESPWifi wifi(wifi_ssid, wifi_password);

void setup() {

  // Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
  char GUID[SUPLA_GUID_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

  // Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
  char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

  dzwonkowy.willTrigger(przekaznik, Supla::Control::Button::ON_PRESS, Supla::Control::Relay::TOGGLE);
  dzwonkowy.setSwNoiseFilterDelay(100);
  
  new Supla::Sensor::DS18B20(2);
    
  SuplaDevice.setName(device_name);
  SuplaDevice.begin(GUID,srv_addr,srv_email,AUTHKEY);
}

void loop() {
  SuplaDevice.iterate();
}
.newbie
Robik
Posty: 23
Rejestracja: pn lut 17, 2020 8:41 pm

sob lut 22, 2020 8:20 pm

Dzięki wielkie wszystkim za wszelkiego typu sugestie i podpowiedzi dziś Mini zrobione wszystko śmiga aż miło, uważam temat za wyczerpany i dziękuję raz jeszcze.
Awatar użytkownika
Xoggo
Posty: 141
Rejestracja: ndz mar 29, 2020 10:03 pm
Lokalizacja: Zbąszynek

pt kwie 03, 2020 9:03 pm

Chętnie bym przetestował, gdzie można znaleźć ten soft?
ODPOWIEDZ

Wróć do „FAQ / Jak to zrobić”