Czujniki w bibliotece SuplaDevice

Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

dogu18 pisze: pt paź 23, 2020 3:29 pm A takie pytanie na razie czysto teoretyczne.
Czy w nowym SuplaDevice da się jakoś zmienną wyświetlić w formie np. termometru??
Tak mniej wiecej jak było w starej wersji czy muszę pisać do każdego nietypowego czujnika nową "Bibliotekę"??


Pozdrawiam
Grzegorz
Wystarczy że w ino zrobisz swoją klasę, która dziedziczy po klasie termometru i zaimplementujesz metodę getValue, która będzie zwracać to, co chcesz
Widzimy się na Supla Offline Party vol. 2 :!:
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Dzisiaj przez całą noc padł mi internet. Testowałem 3 różne czujniki temperatury i wilgotności, po powrocie neta zauważyłem, że zjadło mi aż 5KB pamięci RAM. Czyżby pomiary były gdzieś przechowywane na jakiejś kolejce? Po powrocie neta pamięć się nie zwolniła tylko restart modułu pomógł.
https://gui-generic-builder.supla.io/
Patryk
Posty: 2677
Rejestracja: pn sty 07, 2019 7:51 pm
Lokalizacja: Rybnik

@klew
Takie pytanie.
Coraz więcej "gniazdek"  ma pomiar "prądu".
Może by można było "jakoś" w bibliotece SuplaDevice zaimplementować te najbardziej popularne "moduły":

HLW8012 ( np: Gosund sp111 )
CSE7759
CSE7766 ( np: Sonoff POW R2 ).
BL0937
wiford
Posty: 14
Rejestracja: sob lis 14, 2020 2:16 am

Ja mam pytanie troche z innej beczki mianowicie w ArdinoIDE próbuję zaimplementować czujnik otwarcia jak na zdjęciu

download/file.php?id=5767
jednak dodając w kodzie przycisk nic się nie zmienia.

Kod: Zaznacz cały

Supla::Control::Button *button1 = new Supla::Control::Button(19, true, true);
  
  button1->willTrigger(*r1, Supla::Control::Button::ON_PRESS, Supla::Control::Relay::TURN_ON);
  button1->willTrigger(*r1, Supla::Control::Button::ON_RELEASE, Supla::Control::Relay::TURN_OFF);
jak dodać czujnik otwarcia ?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

wiford pisze: śr gru 02, 2020 8:46 pm Ja mam pytanie troche z innej beczki mianowicie w ArdinoIDE próbuję zaimplementować czujnik otwarcia jak na zdjęciu

download/file.php?id=5767
jednak dodając w kodzie przycisk nic się nie zmienia.

Kod: Zaznacz cały

Supla::Control::Button *button1 = new Supla::Control::Button(19, true, true);
  
  button1->willTrigger(*r1, Supla::Control::Button::ON_PRESS, Supla::Control::Relay::TURN_ON);
  button1->willTrigger(*r1, Supla::Control::Button::ON_RELEASE, Supla::Control::Relay::TURN_OFF);
jak dodać czujnik otwarcia ?
Czujniki otwarcia są realizowane przez klasę Supla::Sensor::Binary
Widzimy się na Supla Offline Party vol. 2 :!:
wiford
Posty: 14
Rejestracja: sob lis 14, 2020 2:16 am

klew pisze: pt gru 11, 2020 11:51 pm Czujniki otwarcia są realizowane przez klasę Supla::Sensor::Binary
Działa dzięki wielkie :)
Kappone
Posty: 3
Rejestracja: czw wrz 10, 2020 7:34 am

Witam mam pytanie ktoś próbował podpinać pod suplę czujnik MQ-7?
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

Kappone pisze: ndz gru 13, 2020 1:22 pm Witam mam pytanie ktoś próbował podpinać pod suplę czujnik MQ-7?
Tak, użyłem jego wyjścia analogowego.
https://www.facebook.com/groups/supladiy/
Kappone
Posty: 3
Rejestracja: czw wrz 10, 2020 7:34 am

lukfud pisze: ndz gru 13, 2020 1:34 pm
Kappone pisze: ndz gru 13, 2020 1:22 pm Witam mam pytanie ktoś próbował podpinać pod suplę czujnik MQ-7?
Tak, użyłem jego wyjścia analogowego.
Możesz coś więcej objaśnić? jaką bibliotekę użyłeś i jak odczytałeś wartości?
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

Kappone pisze: ndz gru 13, 2020 2:58 pm Możesz coś więcej objaśnić? jaką bibliotekę użyłeś i jak odczytałeś wartości?
Nie użyłem żadnej biblioteki, bo nie zależało mi na pomiarze a tylko na informacji o przekroczeniu ustawionego progu.
Jako, że jeszcze nie ma uniwersalnego kanału, wartość odczytuje przez kanał termometru.
Przed setup() dodajesz klasę z odczytem z wejścia analogowego,

Kod: Zaznacz cały

class AnalogSensor : public Supla::Sensor::Thermometer {
  public: AnalogSensor(int pin) : pin(pin) {}
  void onInit() { 
    pinMode(pin, INPUT);
    channel.setNewValue(getValue()); }
  double getValue() {
    a0_value =  map(analogRead(pin), 0 ,1024, 0, 100);
    return a0_value;
  void iterateAlways() {
    if (lastReadTime + 5000 < millis()) {
      lastReadTime = millis();
      channel.setNewValue(getValue()); } }
  protected: int pin;
};
a w setup()

Kod: Zaznacz cały

new AnalogSensor(A0);
https://www.facebook.com/groups/supladiy/
ODPOWIEDZ

Wróć do „Arduino IDE”