Forum
Narazil jsem na celkem pěkné zařízení s CO2 a tVOC senzory od Sensirionu a 4" dotykovým displayem založené na ESP32S3 a RP2040.
Je to open source, možno programovat v Arduinu.
Cena 2700 Kč za verzi s LoRa (2500 Kč bez LoRa, verze D1S) mi přijde OK.
Jak z toho nejjednodušeji dostat data do Loxonu? Nejsem programátor, ale v Arduinu jsem se o něco pokoušel, dalo by se to řešit přes UDP?
#include <Arduino.h> #include <Wire.h> #include <SPI.h> #include <SD.h> #include <SensirionI2CScd4x.h> SensirionI2CScd4x scd4x; String SDDataString = ""; //The built-in sensor needs to be powered on void sensor_power_on(void) { pinMode(18, OUTPUT); digitalWrite(18, HIGH); } void sensor_scd4x_init(void) { uint16_t error; char errorMessage[256]; scd4x.begin(Wire); // stop potentially previously started measurement error = scd4x.stopPeriodicMeasurement(); if (error) { Serial.print("Error trying to execute stopPeriodicMeasurement(): "); errorToString(error, errorMessage, 256); Serial.println(errorMessage); } // Start Measurement error = scd4x.startPeriodicMeasurement(); if (error) { Serial.print("Error trying to execute startPeriodicMeasurement(): "); errorToString(error, errorMessage, 256); Serial.println(errorMessage); } } void sensor_scd4x_get(void) { uint16_t error; char errorMessage[256]; Serial.print("sensor scd4x: "); // Read Measurement uint16_t co2; float temperature; float humidity; error = scd4x.readMeasurement(co2, temperature, humidity); if (error) { Serial.print("Error trying to execute readMeasurement(): "); errorToString(error, errorMessage, 256); Serial.println(errorMessage); } else if (co2 == 0) { Serial.println("Invalid sample detected, skipping."); } else { Serial.print("Co2:"); Serial.print(co2); Serial.print("\t"); Serial.print("Temperature:"); Serial.print(temperature); Serial.print("\t"); Serial.print("Humidity:"); Serial.println(humidity); } } int cnt = 0; void setup() { Serial.begin(115200); sensor_power_on(); Wire.setSDA(20); Wire.setSCL(21); Wire.begin(); sensor_scd4x_init(); } void loop() { delay(5000); sensor_scd4x_get(); }
Specifikace SenseCAP Indicator D1Pro
- Obrazovka: 3,95", RGB kapacitní dotyková obrazovka
- Rozlišení obrazovky: 480 x 480 px
- Napájení: 5V DC, 1A
- WiFi: 802.11b/g/n, 2,4 GHz
- Bluetooth : Bluetooth 5.0 LE
- LoRa(SX1262): LoRaWAN/(G)FSK, dosah až 5 km
- Procesory:
- ESP32-S3: Xtensa® dvoujádrový 32bitový LX7, až 240 MHz
- RP2040: Dual ARM Cortex-M0+ až 133 MHz
- Flash paměť:
- ESP32S3: 8 MB
- RP2040: 2 MB
- Externí paměť: microSD karta až 32 GB (není součástí balení)
- Senzory (volitelné):
- Vestavěný CO2 (SCD41)
- Rozsah: 0 ppm až 40 000 ppm
- Přesnost: 400 ppm až 5000 ppm ± (50 ppm + 5 % čtení)
- Vestavěný TVOC (SGP40)
- Rozsah: od 1 do 500 indexových bodů VOC
- Externí čidlo teploty a vlhkosti
- Rozsah: od -40 °C do + 85 °C /± 0,3 °C; od 0 % do 100 % RH / ± 2 % RH (25 °C)
- Vestavěný CO2 (SCD41)
- Bzučák: MLT-8530, rezonanční frekvence: 2700 Hz
Jestli nepotrebujes displej, tak jsem tu nekde postoval svoje reseni nad SCD30 a wemos mini d1 (celkova cena do 1400,-) vc kodu, ktery data posila do do Loxone pres UDP.
@l-adamek hľadal som a dako slabo :/ nemohol by si sem hodiť vlakno ? Aj mňa to celkom zaujíma, vďaka
@l-adamek Display bych právě chtěl, chci mít možnost to vzít jinam.
SCD30 mám, zkoušel jsem kromě jiných i tvoje řešení, ale z čidla lezly nesmyslný hodnoty, možná jsem měl něco špatně nastavený.
Je možno zveřejnit/poslat tvůj program pro Wemos mini d1, že bych to znovu vyzkoušel?
Ahoj, níže jednoduchý kód pro venkovní kalibraci čidla a pak kód pro finální nahrání s komunikací Loxone přes UDP. Časem to asi přepisu na MQTT, ale ještě nebyl čas.
Hodim to na github a poslu sem zakladni info. Dejte mi par dni, jsem ted mimo svuj komp.
Tak moje SCD30 je definitivně mrtvý, nekomunikuje a ani neprovádí měření.
@baros a zkousel jsi i jiny Wemos? Popripade si zkontroluj spravny zapojeni. Mě se několikrát stalo, že během pájení se mi daný výstup na wemosu poškodil a nešlo s tím nic dělat. Musel jsem prostě vzít nový a opatrněji pájet, ačkliv na pohled nebylo poškození vidět. Detaily zapojení kdyžtak zde
https://www.vodnici.net/community/loxone-a-arduino/co2-senzory/paged/18/#post-29266