Czujnik NTC10 10K, GUI-GENERIC vs Arduino ESP8266

emerce23
Posts: 36
Joined: Sat Dec 16, 2017 10:46 pm

Post

Rozumiem :)

A jak bym chciał z DS18B20 z kilku czujników (kazdy na innym kanale), czy tam np. BME280, była by też możliwość ?
User avatar
klew
Posts: 9679
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Tak. Możesz zachować sobie wskaźnik na obiekt danego typu, np. na DS'a i na nim wołać:

Code: Select all

ds1->getChannel()->getValueDouble();
Przy BME jest inny rodzaj kanału, więc wołasz getValueDoubleFirst()
Kiedy będzie Supla Offline Party / SOP#2025 ?
emerce23
Posts: 36
Joined: Sat Dec 16, 2017 10:46 pm

Post

Super dziękuje ci prześlicznie za pomoc, bardzo mi pomogłeś, wszystko mi działa jak należy, przetestowałem, jeśli miałbyś chwilkę a nie chce rozpoczynać kolejnego tematu to stworzyłem dwie randomowe temperatury (w sesie random(1,99);) dla testu i chciałem użyć fragmentu kodu Element, po wgraniu poniższego skeatchu wszystko nie widzi mi kanałów w supla cloud, wydaje mi się ze brak mi jakiegoś polecenia

Code: Select all

#include <SuplaDevice.h>
#include <Arduino.h>
#include <supla/sensor/DS18B20.h>
#include <supla/sensor/Thermometer.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/roller_shutter.h>
#include <supla/control/relay.h>
#include <supla/control/button.h>
#include <supla/control/action_trigger.h>
#include <supla/device/status_led.h>
#include <supla/storage/littlefs_config.h>
#include <supla/network/esp_web_server.h>
#include <supla/network/html/device_info.h>
#include <supla/network/html/protocol_parameters.h>
#include <supla/network/html/status_led_parameters.h>
#include <supla/network/html/wifi_parameters.h>
#include <supla/network/html/security_certificate.h>
#include <supla/device/supla_ca_cert.h>
#include <supla/events.h>
#include <supla/io.h>
#include <supla/sensor/virtual_thermometer.h>

#define WIFI_NETWORK "XXX"
#define WIFI_PASSWORD "XXX"
#define WIFI_TIMEOUT_MS 20000

int temp1 = random(1,99);
int temp2 = random(1,99);

char *WiFiStatusNames[] = {"WL_IDLE_STATUS", "WL_NO_SSID_AVAIL", "WL_SCAN_COMPLETED", "WL_CONNECTED", "WL_CONNECT_FAILED", "WL_CONNECTION_LOST","WL_DISCONNECTED"};

class mojaFunkcja: public Supla::Element 
{
    public:
    
    void onInit() override 
    {
        therm1.setValue(temp1);
        therm2.setValue(temp2);
    }

    void iterateAlways() override 
    {
        if (millis() - lastReadTime > 2000) 
        {
            lastReadTime = millis();
            temp1 = random(1,99);
            temp2 = random(1,99);
            therm1.setValue(temp1);
            therm2.setValue(temp2);
        }
    }

    protected:
    
    Supla::Sensor::VirtualThermometer therm1;
    Supla::Sensor::VirtualThermometer therm2;
    
    uint64_t lastReadTime = 0;
    double temp1;
    double temp2;
};
    

Supla::ESPWifi wifi(WIFI_NETWORK,WIFI_PASSWORD);

void setup()
{
    Serial.begin(115200);
  
    char GUID[SUPLA_GUID_SIZE] = {XXX};
    char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {XXX};

    mojaFunkcja();

    SuplaDevice.begin(GUID, "svrXX.supla.org", "XXX", AUTHKEY);
  
}

void loop()
{
    SuplaDevice.iterate();
  
}
krycha88
Posts: 5417
Joined: Fri Nov 16, 2018 7:25 am

Post

Code: Select all

new mojaFunkcja();
:)
https://gui-generic-builder.supla.io/
emerce23
Posts: 36
Joined: Sat Dec 16, 2017 10:46 pm

Post

kurcze, no widzisz, wiedziałem ze o czymś zapomniałem, dziękuję wam wszystkim bo mam już cały dom w Supla :)
george1255
Posts: 4
Joined: Fri Sep 02, 2022 8:48 pm

Post

miałby moze kolega kod w calosci? bo nie mam problem z utworzeniem kanalu...

Return to “Pomoc”