. . .

VENKOVNÍ METEOSTANICE VLASTNÍ VÝROBY

JVmeteo

TOTO DÍLO PODLÉHA LICENCI: CC BY-NC-ND 4.0 Attribution-NonCommercial-NoDerivatives 4.0 International

Soubor LICENSE.txt je přiložen do archivu ZIP

https://creativecommons.org/licenses/by-nc-nd/4.0/

JVmeteo COREON — verze HW 1.1

VÝROBNÍ SOUBORY JVmeteo HW 1.1 DPS KE STAŽENÍ ZDE

VÝROBNÍ SOUBORY JVmeteo HW 1.1JOHN DPS KE STAŽENÍ ZDE

SOUBORY STL 3D MODELŮ KRABICE A RADIAČNÍHO ŠTÍTU SENZORU KE STAŽENÍ ZDE

Veškeré 3D modely pro 3D TISK nakreslil a navrhnul — — — pro meteostanici JVmeteo

PŘEDPOKLÁDANÉ DOKONČENÍ CELÉHO ZAŘÍZENÍ: JARO 2026

Ikdyž po drobných úpravách je verze HW 1.0 funkční, rozhodl jsem se vydat ještě jednu poslední verzi HW 1.1, které opravuje chyby předchozí verze a zásadně vylepšuje celé zařízení a také je cílem, aby zde zveřejněné projekty ke stažení byly plně funkční a každý, kdo si stáhne potřebné výrobní soubory může snadno vyrobit funkční kus. Plošné spoje dokončím až bude plně otestovaná verze HW 1.0 z důvodu maximální eliminace možných chyb.

K dispozici ke stažení zde budou 2 varianty tvaru plošného spoje JVmeteo a to varianta

  1. JVmeteo COREON HW 1.1

    2. JVmeteo COREON HW 1.1JOHN (DPS 5x5cm)

    Aktuálně se jedná pouze o orientační rozložení součástek a po dokončení může být výsledej jiný.

    Elektricky se jedná o stejné zapojení s použitím stejných hodnot součástek a velikostí pouzder.

    ZDE JE VYSVĚTLENÍ VÝZNAMU SLOVA: COREON

    Světelné 3mm diody jsou určeny pouze v případě použití externí indikace např. v instalované krabici. Pro běžnou indikaci jsou použité SMD LED. Nově přibila indikace napájení ESP tj. části, která má na starosti vyčítání a odesílání dat ze senzoru, připojení k WiFi aj.

    Kromě teploty, tlaku a vlhkosti pomocí připojeného senzoru BME280 je možné připojit téměř veškeré dostupné senzory na trhu pro které je dostačující napájecí napětí 3,3V. ESP32 C3 02U má k dispozici 2 piny pro I2C komunikaci a pro ostatní senzory je nutné připojení na jiné piny avšak opravená verze JVmeteo COREON HW 1.1 nebude mít k dispozici vyvedené veškeré nevyužité piny z důvodu malého prostoru, ale za předpokladu, že bude dostatek času vytvořím i variantu s hranatým plošným spojem (HW 1.1JOHN) na který se budou tyto piny vejít a následně zde budou zveřejněny výrobní soubory ke stažení.

    Zvolená varianta ESP podporuje již v základu komunikaci s USB bez nutnosti UART převodníku avšak nejedná se o plnohodnotnou USB podporu kterou přináší například použitý CP2102, ale zapojení jsem upravil tak, že je volba uživatele zda se rozhodne tento převodník CP2102 osazovat vč. doplňujících součástek, nebo zda osadí jen vše potřebné pro základní komunikaci pro nahrání FW do ESP pomocí USB.

    Do budoucna mám v plánu využít JVmeteo i se senzorem schopným detekovat zemětřesení i velmi slabé otřesy ikdyž se nejdná přímo o GEOFON tj. senzor vyloženě určený k detekci zemětřesení a otřesů, tak jako menší detektor na zahradu pro testování bude i levný senzor plně dostačující.

    MAPA ČR S VÝSKYTEM ZĚMĚTŘESENÍ ZA NĚKOLIK LET ZPĚTNĚ. Zdroj: GEOFYZIKÁLNÍ ÚSTAV ČR

    Brzy další info….

    JVmeteo HW 1.0 ( nahrazeno verzí HW 1.1 )

    Nové výrobní soubory, nově jsou 3 otvory pro montáž a upravená velikost několika prokovů, které měly špatný rozměr.

    VÝROBNÍ SOUBORY DPS BUDOU ZDE KE STAŽENÍ

    METEOSTANICE JE AKTUÁLNĚ VE VÝVOJI

    K meteostanici lze používat s Li-Ion 3,7V možnost 2Ks paralelně s kapacitou 1600mAh na 1 kus, nebo 1 baterii s kapacitou 3200mAh.

    Druhá možnost je použití LiPol 3,7V baterie.

    Pro zajímavost uvedu podle čeho zjistit potřebnou kapacitu baterie, řekněme, že by ESP odebíralo 100mA a baterie bude mít 1Ah (1000mAh), tak bude ESP fungovat 10 hodin v provozu. Je potřeba vzít v úvahu i různé podmínky, jako je teplo, mráz apod. Teoreticky by měla být ideální baterie 2500mAh.

    Já objednal s kapacitou 3000mAh, větší kapacitu nedoporučuji a to z důvodu aby se během dne zvládla nabít s použitým solárním panelem. OBJEDNANÝ AKUMULÁTOR ZDE

    JVmeteo je navrženo s využitím moderních čipů tak, že disponuje ochranou proti přepětí do akumulátoru a současně umožnůje část energie vyrobenou solárním panel pouštět do zátěže tj. ESP a elektronika vč. senzoru BME280 díky tomu je-li akumulátor plně nabitý dřívě tak funguje udržovací napětí a zbytek energie je plně využitý. Drátový termistor 10K může a nemusí být osazený, lze ho přilepit na baterii a připájet pomocí delších vodičů jeho účel je pouze jako tepelná ochrana proti přehřátí baterie.

    Zvolené ESP32 C3 WROOM 02U je nízkoenergetický jednojádrový čip s konektorem pro externí anténu. Pro testování mám objednané 2 antény jedna se ziskem 5dB ZDE

    A druhou anténu 3dB ZDE

    Samořejmě, že každý může využít svůj vlastní kód pro ESP a potom lze připojit i jiné senzory, nebo zařízení, které si sami zvolíte. Limit pro připojení senzorů a jiných zařízení k JVmeteo je omezen pouze mnoštvím pinů. Pin IO4 a IO19 jsem použil pro případné indikační LED, lze je využít i na jiné zařízení za předpokladu, že led nebudou osazeny.

    Zapojení umožňuje volbu nabíjecího proudu pomocí rezistoru R9 tj. 2K nastaví proud na 0,5A a rezistor 1K umožní nabíjecí proud 1A.

    Nabíjení akumulátoru je možné i pomocí 5V stejnosměrného adaptéru klidně i pomocí USB nabíječky například za předpokladu, že nebude dostatek světla aby se akumulátor nabil pomocí solárního panelu. Pro využití možnosti nabíjení pomocí 5V adaptéru, není nutné odpojovat solární panel a vše může být v provozu současně.

    Zapojení je nastaveno, aby ze solárního panelu vzalo vždy maximum dodávaného proudu i za slabého osvětlení a solární panel je využitý na maximum do nastavení hodnoty rezistorem R9 a současně probíhá inteligentní přenost energie do zátěže ( ESP32 ) a díky tomu je-li akumulátor plně nabítý, tak nedochází ke stálému vybíjení a nabíjení, ale energie vyrobená solárním panelem je plně využitá.

    Indikační světelná dioda s označením PWR signalizuje, že je napájení v pořádku a za předpokladu, že nesvítí, tak nefunguje zdroj napájení, nebo je příliš slabý.

    Druhá světelná dioda s označením CHRG signalizuje stav nabíjení, za předpokladu, že dioda svítí, tak se nabíjí akumulátor a po nabití je zhasnutá. Za předpokladu, že je odpojený solární panel a není připojeno, žádné 5V DC externí napájení a baterie klesne pod pevně nastavené napětí 3,1V, tak se dioda rozsvítí.

    Třetí světelná dioda s označením BATT 100% signalizuje plně nabitý akumulátor.

    Protože se při osazování součástek ukázalo, že v zapojení je drobná chyba, která nemá vliv na funkci a danou součástku není nutné osazovat, ale současně mě napadlo přidat pro indikační diody možnost externího připojení např. LED 3mm pro snadnější kontrolu přímo na krabici umístěné venku a dále upravit malé drobnosti, tak meteostanici JVmeteo během roku vylepším na HW 1.1 a soubory budou zde ke stažení avšak plošné spoje nemám v plánu si nechat vyrobit.

    PRVNÍ TESTOVÁNÍ A INSTALACE FW

    Uvedení do provozu nebylo snadné. Zprovoznění datové komunikace zabralo asi 7 hodin, než se vyzkouší různé možnosti a nakonec se zdá, že to je částečně funkční, ale vlastně to nefunguje, dále problémy s USB na počítači, tak to vše zabere nějaký čas a dalších hodinu, nebo 2 uvedení komunikace se senzorem a vysílání naměřených hodnot, ale to vše je potřeba mít funkční na plošném spoji, nikoliv na drátech, dále jsem musel přepájen QFN čip, ale vše dopadlo dobře a první testování bylo úspěšné ikdyž nebylo zcela řádně dokončeno kvůli deštivému počasí a slabého venkovního osvětlení, ale i tak dával solárná panel 5,9V.

    Před výrobou plošných spojů HW 1.1 proběhne samozřejmě řádné testování aktuálně vyrobené

    verze HW 1.0.

    Zde je vidět v mobilní aplikaci na Android zobrazení grafu teploty, vlhkosti a tlaku. Obrázek v levo představuje vlastní nastavení pro widget teploty a interval 30s je samozřejmě špatně, protože data odesílám každých 90s.

    Zde je několik obrázků z naměřených hodnot během testování.

    Na ukázku vkládám zdrojový kód pro ESP32, který pro zjednusešní využívá již hotové knihovny v ARDUINO IDE a nahrání FIRMWARE je hotové do jedné minuty.

    
    #include <BTAddress.h>
    #include <BTAdvertisedDevice.h>
    #include <BTScan.h>
    #include <BluetoothSerial.h>
    
    #include <WiFi.h>
    #include "ThingSpeak.h"
    #include <Adafruit_BME280.h>
    #include <Adafruit_Sensor.h>
    
    const char* ssid = "zde vyplň název sítě";   // název sítě SSID 
    const char* password = "zde vyplň heslo sítě";   // heslo sítě
    
    WiFiClient  client;
    
    unsigned long myChannelNumber = zde vyplň číslo tvého kanálu;
    const char * myWriteAPIKey = "zde vyplň API pro zápis";
    
    // čas čtení dat
    unsigned long lastTime = 0;
    unsigned long timerDelay = 90000;
    
    // Uchování údajů o teplotě
    float temperatureC;
    float humidity;
    float pressure;
    //odkomentuj pro teplotu v Fahrenheit
    // volitelná teplota - float temperatureF;
    
    // senzor a připojení pinů
    Adafruit_BME280 bme; //BME280 connect to ESP32 I2C (GPIO 21 = SDA, GPIO 22 = SCL)
    
    void initBME(){
      if (!bme.begin(0x76)) {
        Serial.println("Could not find a valid BME280 sensor, check wiring!");
        while (1);
      }
    }
    
    void setup() {
      Serial.begin(115200);  //Inicializace seriové linky
      initBME();
      
      WiFi.mode(WIFI_STA);   
      
      ThingSpeak.begin(client);  // Inicializace ThingSpeak
    }
    
    void loop() {
      if ((millis() - lastTime) > timerDelay) {
        
        // Připojení a obnovení WiFi
        if(WiFi.status() != WL_CONNECTED){
          Serial.print("Attempting to connect");
          while(WiFi.status() != WL_CONNECTED){
            WiFi.begin(ssid, password); 
            delay(5000);     
          } 
          Serial.println("\nConnected.");
        }
    
        // načti nové hodnoty
        temperatureC = bme.readTemperature();
        Serial.print("Temperature (ºC): ");
        Serial.println(temperatureC);
        humidity = bme.readHumidity();
        Serial.print("Humidity (%): ");
        Serial.println(humidity);
        pressure = bme.readPressure() / 100.0F;
        Serial.print("Pressure (hPa): ");
        Serial.println(pressure);
        
        //odkomentuj pro teplotu v Fahrenheit
        /*temperatureF = 1.8 * bme.readTemperature() + 32;
        Serial.print("Temperature (ºF): ");
        Serial.println(temperatureF);*/
    
        // nastavení hodnot
        ThingSpeak.setField(1, temperatureC);
        //ThingSpeak.setField(1, temperatureF);
        ThingSpeak.setField(2, humidity);
        ThingSpeak.setField(3, pressure);
        
        // Zápis do ThingSpeak. Max. 8 polí tj. 8 různých hodnot
        // Informace do kanálu zapisujeme do pole 1.
        int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
    
        if(x == 200){
          Serial.println("Channel update successful.");
        }
        else{
          Serial.println("Problem updating channel. HTTP error code " + String(x));
        }
        lastTime = millis();
      }
    }
    

    INSTALACE FW

    ODKAZ NA JEDNOTLIVÉ SOUČÁSTKY:

    SOLÁRNÍ PANEL 6V Panel musí mít 6V, protože při použití 5V panelu nemusí zařízení fungovat.

    ESP32-C3-WROOM-02U-N4 N4 znamená 4Mb FLASH PAMĚŤ, kterou důrazně doporučuji, protože v návrhu není použitá externí paměť. Současně je jedná o energeticky úsporné ESP32.

    BME280 Je senzor teploty, tlaku a vlhkosti.

    SPÍNAČ IP65 Tlačítko pro reset meteostanice.

    KONEKTOR IP65 2-PIN Spojka pro připojení solárního panelu.

    KONEKTOR IP65 4-PIN Spojka pro připojení senzoru BME280.

    BRZY DALŠÍ INFO

    Menu