Close

Otin

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 151. až 180. (celkem z 2,760)
  • Autor
    Příspěvky
  • odpověď na: Home automation #11771
    Luke_CZ
    Účastník

    TO boylucky:
    A, nebylo by od věci sdělit na jakém HW to pojede (pokud to vůbec tušíš)
    B, používat PHP(MySQL, Apache) apod. pro zobrazení teploty v HTML je jak orat brambory Veyronem
    C, nejdříve si ujasni, co to má umět a potom sháněj pomoc

    TO kejlicz:
    pro měření teploty, vlhkosti stačí i NodeMcu apod., ten zvládne i jednoduchou flat file db

    TO vojjta:
    A, po zkušenostech s těmito „hotovými“ systémy jdu raději cestou vlastního návrhu, než pochopíš jak to rozchodit a upravit, tak vyjde nová verze, kde je všechno jinak
    B, spočítej si spotřebu energie, páč to musí jet na desktopu

    L.
    PS. Technika se super, jen bude sranda, až spadne net a z tebe se stane bezdomovec, páč do baráku se prostě nedostaneš.

    odpověď na: Ovladanie cerpadla solaru bazena #11769
    mkolka
    Účastník

    Relatko ma 3 piny VCC, GND a IN. VCC+GND je napajane priamo z Arduina a cez digitalny pin spinam IN. Takto to funguje, ale je tam ten problem s displayom. Kam teda potom zaradit ten kondenzator?

    Dakujem, za rady a trpezlivost.

    odpověď na: Ovladanie cerpadla solaru bazena #11768
    Aleš
    Účastník

    V tom schématu chybí +napájení relatka. Kam ho máte zapojené? Na výstup 5V z Arduina? Zkuste k napájení toho relé přidat nějaký elektrolytický kondenzátor 500-1000mF/10V

    odpověď na: Home automation #11767
    vojjta
    Účastník

    Ahoj,
    jen pro info, doporucil bych vam se jeste mrknout na:
    https://www.openhab.org/

    nemuseli by jste pak tvorti vse od znova ale sva zarizeni pripojovat jiz do funkcniho ekosystemu.
    Dale take za zminku stoji
    http://www.blynk.cc/

    jen nevim zda je to jeste aktualni, v nahledu se zde pise aktualnost 2 mesice ale zde jsou data z roku 2015

    odpověď na: Poraďte, čo kúpiť.. #11763
    Nasranek
    Účastník

    Stavebnici nekupuj, většinu věcí z ní nepoužiješ.
    Prvně si rozmysli co chceš zkusit a podle toho se rozmysli o nákupním seznamu

    Dalasm
    Účastník

    Ahoj,
    Aby jsi byl v obraze, jsem zvukař/muzikant a tohle potřebuju na stroboskop. Doma bastlim, ale jsem stará škola. Arduino je pro mě novinka. Mám vše hotové, jen ten program potřebuju (60w v LED chipech spinane přes mosfet) obyčejný strobo je v pohodě přes blink, ale potřebuji i druhý mód něco jako random s ttim že si časy napíšu sám. Něco málo sem o tým našel. Nejjednodušší by bylo tam dát kolébkový přepínač a tím to přepínat. Poloha 1 program blikani 50ms/50ms , poloha 2 program blikani třeba 50ms/5s (on/off) tlačítka nemusí být.

    posjirka
    Účastník

    je otázka jak to mají zapojené. Pokud je PNP trnazistor mezi napájením (+) a cívkou tak se spíná záporným napětím a při stejném potenciálu (nebo vyšším) na baázi se tranzistor vypíná. Z arduina 12V nedostaneš, takže jej ani nemůžeš vypnout a tranzistor je stále sepnutý. chce to schéma, takkto se špatně diskutuje bez zapojení ….
    použij to co jsem ti navrhl a bude klid. jako tranzistor dej BC337 ten dá 0,5A

    cip9sek
    Účastník

    Vipadá to, že nejlepší řešení je ten NPN tranzistor dle obrázku. Jen mi ještě vrtá hlavou, jak to že na serveru sparkfun.com mají návod který není uplně zpolehliví. Považuji ho celkem za důvěryhodný a solidní zdroj…

    Attachments:
    marh
    Účastník

    v kóde treba vymazať:
    ***
    info o pinoch na ESP8266

    alebo otvoriť prílohu

    nemôžem upraviť príspevok

    marh
    Účastník

    napíš aký typ gsm shiledu SIM800 SIM900 …
    a typ arduina

    na shielde SIM900 sa modul zapína pomocou tlačidla alebo arduina na PINE D7 alebo D9,,podľa verzie shieldu,,,
    buď je prerušená plôška na DPS alebo nie,,,podľa výrobcu shieldu

    hard/soft –použi prepínač=jumper
    o D0: Hardware serial RX of Arduino
    o D1: Hardware serial TX of Arduino
    o D2: Software serial RX of Arduino
    o D3: Software serial TX of Arduino
    o D7: Used as Software Power ON/OFF button for SIM900

    https://www.itead.cc/wiki/SIM900/SIM900A_GSM/GPRS_Minimum_System_Module
    pdf na nete:
    EFcom_v1.2.pdf
    GSM Shield pro Arduino se SIM900.pdf
    SIM800_ATCommand_.pdf
    sim800_series_at_command_manual_v1.01.pdf
    sim800_series_ema.pdf
    sim800_series_fm_application_note_v1.00.pdf
    sim800_series_ip_.pdf
    sim800_series_mms.pdf
    SIM800+Series_AT+Command+Manual_V1.09.pdf
    SIM800+Series_Serial+Port_Application+Note_V1.01.pdf
    sim800h_hardware_design_v1.00.pdf
    SIM900 Quad‐Band GPRS shield with Micro SD card slot.pdf
    SIM900_AT Command Manual_V1.03.pdf

    odpověď na: Arduino Json a analyza stringu #11729
    bebeno28
    Účastník

    Aha. Tak uz to chapem. Super vysvetlene. Dakujem

    odpověď na: Arduino Json a analyza stringu #11728
    Zbyšek Voda
    Účastník

    Jsem rád, že se zadařilo 🙂

    K tomu zápisu:
    const char* json = “{\”TaskName\”:\”Voda\”,\”Temp-voda\”:21.81}”;

    V C/C++ se řetězce zapisují třeba takto:
    char *s = "Ahoj Karle!";

    Kdybyste ale chtěl v rámci řetězce mít znak uvozovek, nemůžete to zapsat takto:
    char *s = "Ahoj "Karle!"";
    kompilátor by totiž měl při analýze problém a v kódy by se nevyznal.

    Musíte mu proto pomoct, a to právě napsáním zpětného lomítka před znak uvozovek. Tomuto se říká escapování a je díky němu možné zpasat znaky, které normálně zapsat nelze – třeba i znak s hodnotou 0 zapíšete \0. Dále jsou to třeba znak tabulátor -\t, nový řádek – \n a další – viz https://en.wikipedia.org/wiki/Escape_sequences_in_C.

    odpověď na: Arduino Json a analyza stringu #11725
    bebeno28
    Účastník

    Tak pani, podarilo sa . Huraaaa.

    Tak nakoniec bol fakt problem s tou hlavickou.

    Takto som to napisal a ide to

    while (client.available()) {
        c[i] = client.read();
        if (c[i] == '{') {
          pokracuj = 1;
        }
        if (pokracuj == 1) {
          i++;
        }
      }
      client.stop(); //stop client
      pokracuj = 0;
      c[i] = '\0';
      i = 0;
    
      StaticJsonBuffer<1024> json_buf;
      JsonObject &root = json_buf.parseObject(c);
      if (!root.success())
      {
        Serial.println("parseObject() failed");
      }
    
      float Temp = root["Temp-voda"];

    Dakujeeeem. Potom cely projek ked bude hotovy sen dam ako priklad.

    Attachments:
    odpověď na: Arduino Json a analyza stringu #11721
    bebeno28
    Účastník

    Ahojte. Ale predsa sa este opytam. Cely den som nad tym rozmyslal a teraz mam troska casu tak skusam.
    V prilohe je foto vystupu z terminalu.
    Samozrejme moze byt ze mi hodi parse faild preto lebo je tam tam hlavicka aj ked si nemyslim pretoze priklad ktory som nasiel vcera , co som tu uz spomynal to mal tiez a v kode sa to neriesilo.

    Ked som pouzil ArduinoJson assistant tak tam mi vyhodilo ze ak ako priklad pouzijem tento rad zankov tak parsing prejde a aj tak bolo. Chybu nedalo.

    const char* json = „{\“TaskName\“:\“Voda\“,\“Temp-voda\“:21.81}“;

    Prosim Vas co znamenaju tie opacne lomitka ?

    A ked to porovnate z vystupem co dostavam, co tam chyba alebo prevysuje ?

    Inak v kode mam zapisane aj to aby pridalo na koniec znak 0 ale dako ho tam v tom vystupe nevidim. Alebo som to zle pochopil?

    Dakujem

    posjirka
    Účastník

    obecně to napsat nelze.
    Posrím popiš co by opravdu mělo být funkcí celého zapojeni.

    Podel toho co píšeš tak budeš mít 2 talčítka.
    – program bude blikat v nějákém intervalu třeba 1s/1s.
    – po stisku tl 1 se změní na 1s/2s a pak bude už dál v tomto režimu dokud nepřepnu talčítko 2 nevrátím defaultní režim 1s/1a

    Chápu to správně?
    Jak dlouho chceš to tlačítko držet aby přeplo režim (pohrávám si s myšelnkou 1 symčky, která jde jednoduše pochopit, nebo pomocí přerušení kdy to není na první pohled hned pochopitelné).

    posjirka
    Účastník
    cip9sek
    Účastník

    Ano, pro tento případ má jít o spínání relé s cívkou na 12V, nicméně tato aplikace se dá použít i pro jiné ovládání…

    Relé modlu používám teď. Pokud používám napájení 12V, tak arduino utáhne maximálně 4 relé s cívkou na 5V. Potom musím používat externě silnější stabilizátor napětí. Těch modulů je víc, tak je chci sloučit do jednoho vlastního modulu.

    Dreamer
    Účastník

    Má jít o ovládání relé s cívkou na 12V? Nebylo by lepší použít reléový modul přímo k Arduinu? Pokud ne jaké proudy u těch 12V a jakou frekvenci je třeba spínat?

    odpověď na: Arduino Json a analyza stringu #11716
    Zbyšek Voda
    Účastník

    Není zač, kdyžtak se ozvěte 🙂

    K té knihovně je dokumentace zde: https://bblanchon.github.io/ArduinoJson/doc/index.html

    popřípadě kdybyste chtěl zabrousit i do kódu, tak mrkněte sem:
    https://github.com/bblanchon/ArduinoJson/tree/master/src/ArduinoJson
    ale to už je celkem zběsilé.

    odpověď na: Arduino Json a analyza stringu #11715
    bebeno28
    Účastník

    Zbysku Dakujem.
    Vcera som sa s tym zaoberal a prisiel som presne na to ako pisete.
    Presne rovnakym sposobol nacitavam retazec. Takze to som uz pochopil.
    Na nete som nasiel jeden projekt kde sa tiez nacitava json tak som si ten kod krok po kroku lustil a snazil sa prist na to co to robi.

    Teraz nie som pri pc kde mam ten kod ale je tam este jedna vec ktorej som neporozumen. Pripadne sa dodatocne opytam ak to nebude robit problem.

    a co sa tika velkosti pola tak toho sa neobavam. ten vystup nema ani 20 znakov vratane hlavicky.
    Skor ma zaujima ci samotny json string mze obsahovat entery . je ich tam pozehnane. Najlepsie by bolo vediet presne ako ta json kniznica pracuje len nie je k tomu popis.

    Ale sna sa mi to podari spojazdnit.

    Teraz nebudem mat par dni moc casu ale ja sa potom ozvem a dam vediet ako som pokrocil.

    Kazdopadne Dakujem za rady a pomoc.

    Pomohlo

    odpověď na: Arduino Json a analyza stringu #11712
    Zbyšek Voda
    Účastník

    Ještě bych doplnil Vojtu.

    Funkce client.read() vrátí jeden byte (tedy i znak), který přečte z dat, které klientovi přicházejí. Vy chcete dosáhnout toho, že budete tyto přečtené znaky postupně načítat a někam ukládat.

    K tomu se hodí právě pole – to je vyhrazené místo v paměti, ve kterém je možné se pohybovat pomocí indexu, tedy čísla v hranatých závorkách.

    Definici pole v kódu máte:
    char c[1024];
    říká – v paměti bude pole složené z datového typu char a bude mít 1024 položek.

    Když chcete nastavit hodnotu počátečního znaku pole, provedete to následovně:
    c[0] = 30;
    popřípadě
    c[0] = 'A'; – tímto do pole uložíte znak A (ve skutečnosti jeho číselnou hodnotu v ASCII tabulce

    Pozor, pole v jazyce C jsou indexované od 0, tedy první prvek pole má index 0, druhý 1 a v tomto případě poslední znak má index 1023.

    Pomocí cyklu while tedy budete číst znaky přicházející klientu a ukládat je do pole c. Podmínka client.available() platí, dokud jsou nějaké znaky k přečtení. Po každém průchodu navýšíte počitadlo i o jedna, tedy v dalším průchodu budete zapisovat na následující pozici v poli. Dovolil jsem si rozšířit Vojtův návrh:

    int i = 0;
    
    while (client.available()) {
        c[i] = client.read();
        i++;
    }
    
    c[i] = '\0'
    
    Serial.println(c);
    i = 0;

    Na konec načtených dat jsem ještě přidal znak nula. Tímto jsem z načteného pole znaků vytvořil řetězec, tedy text. Řetězce jsou způsob, jak se dá uložit v kódu text. V jazyku C/C++ jsou uložené jako pole znaků, která jsou ukončená znakem nula. Potom funkce jako Serial.println() ví, kdy přestat s vypisováním (vypisují znak po znaku, dokud nenarazí na 0). Je možné, že i ten JSON parser, který používáte vyžaduje na vstupu validní řetězec a ten musí být ukončený nulou.

    Také by možná bylo dobré do cyklu přidat podmínku, aby došlo k načtení maximálně 1023 znaků – více by se nevešlo do pole (poslední znak je právě 0). Také by bylo rozumné zvětšit velikost pole.

    Napadlo mě, že budete mít ještě asi problém s HTTP hlavičkou. Přijatá data totiž neobsahují pouze JSON, který chcete parsovat, ale také HTTP hlavičku. Ta vypadá třeba takto:

    HTTP/1.x 200 OK
    Transfer-Encoding: chunked
    Date: Sat, 28 Nov 2009 04:36:25 GMT
    Server: LiteSpeed
    Connection: close

    Po hlavičce následují dva znaky zalomení řádku a až poté obsah web stránky – ve vašem případě pravděpodobně právě JSON. S tím se taky budete muset vypořádat 🙂

    odpověď na: Arduino Json a analyza stringu #11710
    Vojtěch Vosáhlo
    Účastník

    Pokud chcete samostudium tak stačí vědět co vlastně dělá client.read() a pak mít základní povědomí o smyčkách for a while.

    Ve vašem případě by stačilo přidat do smyčky proměnnou ke které se při každém cyklu přičte 1. O tolik se pak posuneme v poli.

    Zápis dat do pole by tedy vypadal asi takto:

    int i = 0;
    
     while (client.available()) {
        c[i] = client.read();
        i++;
      }
    
    i = 0;
    

    pokud byste pak chtěl data vyčítat a třeba vypisovat, použil byste smyčku for asi takto:

    for(int j = 0; i < sizeof(c); i++){
    
        Serial.print(c[i]);
    
    }
    
    odpověď na: Arduino Json a analyza stringu #11702
    bebeno28
    Účastník

    Aha no to som si nevsimol.

    Prosim Vás co si mám nastudovať aby som pochopil ako nacítať tú hodnotu a ako to správne zapísať a následne opať vycítať pre analyzovanie.

    Ja som v C zaciatočník.

    Dakujem

    odpověď na: Arduino Json a analyza stringu #11698
    Zbyšek Voda
    Účastník

    Vy přečtete znak pomocí client.read() a uložíte ho na nultý index pole c. Takto ale zapisujete všechny přečtené znaky na index 0. Nechcete spíše ten index posouvat? 🙂

    odpověď na: Arduino Json a analyza stringu #11696
    bebeno28
    Účastník

    Tak páni ja budem mat problém asi niekde inde.
    Do kodu pre ESP8266 a parse json string som pridal este kontrolu ci analyzovalo string a stále dostávam faild.

    delay(500);
      char c[1024];
      // Read all the lines of the reply from server and print them to Serial
      while (client.available()) {
        c[0] = client.read();
    
        //Serial.print(c);
    
        Serial.print(c);
      }
      DynamicJsonBuffer jsonBuffer(4000);
      JsonObject& root = jsonBuffer.parseObject(c);
    
      if (!root.success()) {      //Check for errors in parsing
     
        Serial.println("Parsing failed");
        delay(5000);
        return;
     
      }
    

    Prečo mi to robí?

    riečim variantu stringu tútok
    `{
    „TaskName“: „Voda“,
    „Temp-voda“: 20.50
    }

    Dakujem

    odpověď na: Arduino Json a analyza stringu #11695
    bebeno28
    Účastník

    jeee ide to. A ja som aj skusal tento plugin pred chvilkou ale daco som mal asi zle pretoze to nefungovalo.

    Dakujem, fakt ste mi spravil radost 😀 Ešte to musim upravit vizuálne aby to bolo pekné .

    A idem skusit potom ten Jsom este raz.

    Snad s tym zapisom co mi chybal to pojde.

    Dam vediet.

    odpověď na: Arduino Json a analyza stringu #11694
    Vojtěch Vosáhlo
    Účastník

    Asi tento plugin, stáhněte si ho a nainstalujte.

    Poté kamkoliv na svou stránku vložte toto:

    
    [insert_php]
    $thingspeakAPItemp = file_get_contents('https://api.thingspeak.com/channels/216038/fields/1/last');
    
    $thingspeakAPIpress = file_get_contents('https://api.thingspeak.com/channels/216038/fields/3/last');
    
    $thingspeakAPIhumi = file_get_contents('https://api.thingspeak.com/channels/216038/fields/2/last');
    
    $tempLast = round($thingspeakAPItemp, 2) . " °C  "; 
    $pressLast = round($thingspeakAPIpress, 2) . " hPa  ";
    $humiLast = round($thingspeakAPIhumi, 2) . "%";
    
    [/insert_php]
    
    <h1>[insert_php] echo $tempLast; [/insert_php]</h1>
    <h1>[insert_php] echo $pressLast; [/insert_php]</h1>
    <h1>[insert_php] echo $humiLast; [/insert_php]</h1>
    
    
    odpověď na: Arduino Json a analyza stringu #11693
    bebeno28
    Účastník

    Vojtech dakujem ti moc len ako to inplementovat do wordpressu. Este musim na to prist. Na to bude treba daky plugin. jeden som teraz skusal ale nefunguje mi to.

    Mas dake skusenosti s wordpressom ?

    Dakujem za cenne rady a pomoc.

    odpověď na: Arduino Json a analyza stringu #11692
    Vojtěch Vosáhlo
    Účastník

    No jo, taky máme meteostanici na thingspeaku 🙂
    Pro získání jsonu s poslední hodnotou stačí toto https://api.thingspeak.com/channels/216038/fields/1/last.json?timezone=Europe%2FPrague

    Když to obalíme jednoduchým php dostanete takovýto kódík který vypíše poslední hodnoty.

    
    <?php
    
    $thingspeakAPItemp = file_get_contents('https://api.thingspeak.com/channels/216038/fields/1/last');
    
    $thingspeakAPIpress = file_get_contents('https://api.thingspeak.com/channels/216038/fields/3/last');
    
    $thingspeakAPIhumi = file_get_contents('https://api.thingspeak.com/channels/216038/fields/2/last');
    
    $tempLast = round($thingspeakAPItemp, 2) . "°C  "; 
    $pressLast = round($thingspeakAPIpress, 2) . "hPa  ";
    $humiLast = round($thingspeakAPIhumi, 2) . "%";
    
    ?>
    
    <!DOCTYPE html>
    <html>
    <body>
    <h1><?php echo $tempLast ?></h1>
    <h1><?php echo $pressLast ?></h1>
    <h1><?php echo $humiLast ?></h1>
    
    </body>
    </html>
    

    Pokud chcete vidět ukázku uploadnul jsem jí sem.

    odpověď na: Arduino Json a analyza stringu #11691
    bebeno28
    Účastník

    Vidim ze sa vyznate v pho kode tak sa este na inu vec ak mozem.

    Tie data z meteostanice odchadzaju na thingspeak server a potom grafy zobrazujem na mojej webstranke.

    Rad by som tam mal este zobrazene posledne namerane hodnoty bud formou cisla alebo pomocou google gauge ukazovatela.

    len toto je uz na mna moc. php ani java script ani html neovladam.

    Je to zlozite pridat to do ten mojej stranky?

    Dakujem

Aktuálně je na stránce zobrazeno 30 příspěvků - 151. až 180. (celkem z 2,760)