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ść ?
Czujnik NTC10 10K, GUI-GENERIC vs Arduino ESP8266
-
- Posts: 9679
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Tak. Możesz zachować sobie wskaźnik na obiekt danego typu, np. na DS'a i na nim wołać:
Przy BME jest inny rodzaj kanału, więc wołasz getValueDoubleFirst()
Code: Select all
ds1->getChannel()->getValueDouble();
Kiedy będzie Supla Offline Party / SOP#2025 ?
-
- Posts: 36
- Joined: Sat Dec 16, 2017 10:46 pm
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();
}
-
- Posts: 5417
- Joined: Fri Nov 16, 2018 7:25 am
Code: Select all
new mojaFunkcja();
https://gui-generic-builder.supla.io/
-
- Posts: 36
- Joined: Sat Dec 16, 2017 10:46 pm
kurcze, no widzisz, wiedziałem ze o czymś zapomniałem, dziękuję wam wszystkim bo mam już cały dom w Supla
-
- Posts: 4
- Joined: Fri Sep 02, 2022 8:48 pm
miałby moze kolega kod w calosci? bo nie mam problem z utworzeniem kanalu...