SHT3X Teplotní a vlhkostní senzor ESPHome
Okomentováno od Ricrdsson v Březen 28, 2020, 11:05 pmChtěl bych napsat malinký navod na přidaní tohoto čidla jelikož jsem se s tím docela natrápil a řešení jsem hledal docela dlouho tak by to mohlo někomu pomoc.
Původně jsem chtěl BME280 ale špatně jsem objednal od čiňana svoji neopatrností 😀
Kod do ESPHome. Zapojení SCL na pin D1 a SDA na pin D2. VIN a GND je jasné. Ja jsem použil desku NodeMcu V3.
i2c:
sda: 4
scl: 5
scan: Truesensor:
- platform: sht3xd
temperature:
name: "Teplota"
humidity:
name: "Vlhkost"
address: 0x44
update_interval: 60sKdyž máte kod zkompilovaný je potřeba přejit do složky config\esphome\NAZEVVASEHOESPPROJEKTU\src\esphome\components\i2c nejlépe asi přes Sambu.
Měli by jste tam najit dva soubory: i2c.cpp a i2c.h u obou souboru je potřeba upravit kod. POZOR po každem zkompilovaní se vaše uprava smaže a je to potřeba udělat znova.
do i2c.cpp je potřeba nakopírovat tuto část kodu a nahradit starou.
void I2CComponent::setup() {
this->wire_->begin(this->sda_pin_, this->scl_pin_);
if (this->frequency_.has_value()) {
this->wire_->setClock(*this->frequency_);
}
this->wire_->setClock(this->frequency_);
}
void I2CComponent::dump_config() {
ESP_LOGCONFIG(TAG, "I2C Bus:");
ESP_LOGCONFIG(TAG, " SDA Pin: GPIO%u", this->sda_pin_);
ESP_LOGCONFIG(TAG, " SCL Pin: GPIO%u", this->scl_pin_);
if (this->frequency_.has_value()) {
ESP_LOGCONFIG(TAG, " Frequency: %u Hz", *this->frequency_);
}
ESP_LOGCONFIG(TAG, " Frequency: %u Hz", this->frequency_);
if (this->scan_) {
ESP_LOGI(TAG, "Scanning i2c bus for active devices...");
uint8_t found = 0;a do i2c.h
uint8_t sda_pin_;
uint8_t scl_pin_;
bool scan_;
optional<uint32_t> frequency_{};
uint32_t frequency_{50000};
};#ifdef ARDUINO_ARCH_ESP32
Kdyby si někdo nevěděl rady tak jsem upravené soubory nahrál a stačí nahradit ty vaše ve vaší složce. Tím by měl být váš sensor plně funkční.
Stažení Tu: https://uloz.to/file/oaZFTjch1z0F/sht3x-zip
Chtěl bych napsat malinký navod na přidaní tohoto čidla jelikož jsem se s tím docela natrápil a řešení jsem hledal docela dlouho tak by to mohlo někomu pomoc.
Původně jsem chtěl BME280 ale špatně jsem objednal od čiňana svoji neopatrností 😀
Kod do ESPHome. Zapojení SCL na pin D1 a SDA na pin D2. VIN a GND je jasné. Ja jsem použil desku NodeMcu V3.
i2c:
sda: 4
scl: 5
scan: Truesensor:
- platform: sht3xd
temperature:
name: "Teplota"
humidity:
name: "Vlhkost"
address: 0x44
update_interval: 60s
Když máte kod zkompilovaný je potřeba přejit do složky config\esphome\NAZEVVASEHOESPPROJEKTU\src\esphome\components\i2c nejlépe asi přes Sambu.
Měli by jste tam najit dva soubory: i2c.cpp a i2c.h u obou souboru je potřeba upravit kod. POZOR po každem zkompilovaní se vaše uprava smaže a je to potřeba udělat znova.
do i2c.cpp je potřeba nakopírovat tuto část kodu a nahradit starou.
void I2CComponent::setup() {
this->wire_->begin(this->sda_pin_, this->scl_pin_);
if (this->frequency_.has_value()) {
this->wire_->setClock(*this->frequency_);
}
this->wire_->setClock(this->frequency_);
}
void I2CComponent::dump_config() {
ESP_LOGCONFIG(TAG, "I2C Bus:");
ESP_LOGCONFIG(TAG, " SDA Pin: GPIO%u", this->sda_pin_);
ESP_LOGCONFIG(TAG, " SCL Pin: GPIO%u", this->scl_pin_);
if (this->frequency_.has_value()) {
ESP_LOGCONFIG(TAG, " Frequency: %u Hz", *this->frequency_);
}
ESP_LOGCONFIG(TAG, " Frequency: %u Hz", this->frequency_);
if (this->scan_) {
ESP_LOGI(TAG, "Scanning i2c bus for active devices...");
uint8_t found = 0;
a do i2c.h
uint8_t sda_pin_;
uint8_t scl_pin_;
bool scan_;
optional<uint32_t> frequency_{};
uint32_t frequency_{50000};
};#ifdef ARDUINO_ARCH_ESP32
Kdyby si někdo nevěděl rady tak jsem upravené soubory nahrál a stačí nahradit ty vaše ve vaší složce. Tím by měl být váš sensor plně funkční.
Stažení Tu: https://uloz.to/file/oaZFTjch1z0F/sht3x-zip