1

Téma: Monitoring brany

Dobry den,

dostalo se me do rukou zarizeni SDS Micro light.
Chtel bych ho zkusit vyuzit k monitoringu vstupni brany.
Potreboval bych pomoct s programem pokud bude nekdo ochotny (bohuzel jsem jeste nepronikl do SDS-C a jelikoz nejsem programator, tak to asi bude na dlouho).
na Opto3 je pripojeno rele s pohonu brany - spina kdyz se brana otevre stav - I, brana zavrena stav - O
kazda zmena stavu by se mela zapsat do databaze, takze asi http_get (co sem tady vycetl)
pak bych potreboval, aby pri otevrenem stavu brany a uplynuti urcite doby (treba 10 min.) prisel email o stavu, ze je brana porad otevrena

bude nekdo ochotny?

Diky P.

2

Re: Monitoring brany

Program vám udělá za úplatu určitě řada lidí, zkuste např. odkaz:
http://vati.cz/eshop/index.php?route=product/product&path=64&product_id=73

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: Monitoring brany

Zdravim,

udelal jsem si podle nejakeho vzoru, ktery jsem tu nasel jednoduchy monitoring otevrene/zavrene brany.

#define OPTO2 sys[152]
 
var mjl_off;
var mjl_on;
 
init
{
    mjl_off=0;
    mjl_on=0;
}

on
{
    if (mjl_on == 0)
  {
    if (sys[65]==256 || sys[65]==65535)
    {
    smtp_send('x@x.x','OPEN', 'Brana OPEN.');
    echo(sys[5],'.',sys[6],'.',sys[7],' - ',sys[8],':',sys[9],':',sys[10],' OPTO3 ON.');
    } else {
    echo(sys[5],'.',sys[6],'.',sys[7],' - ',sys[8],':',sys[9],':',sys[10],' Chyba odeslani emailu OPTO3 ON:', sys[65]);
    }
    mjl_on = 1;
  }
  mjl_off = 0;
}
 
off
{ 
  if (mjl_off == 0)
  {
    if (sys[65]==256 || sys[65]==65535)
    {
    smtp_send('x@x.x','CLOSE!!!', 'Brana CLOSE');
    echo(sys[5],'.',sys[6],'.',sys[7],' - ',sys[8],':',sys[9],':',sys[10],' OPTO3 OFF.');
    } else {
    echo(sys[5],'.',sys[6],'.',sys[7],' - ',sys[8],':',sys[9],':',sys[10],' Chyba odeslani emailu OPTO3 OFF:', sys[65]);
    }
    mjl_off = 1;
  }
  mjl_on = 0; 
}    
 
main
{
    if (OPTO2 == 0) on() else off();
}

Nyni se snazim o pridani tretiho stavu -  pokud neni po urcite dobe zavreno, posle dalsi email, ze se tomu tak jeste nestalo.
Muzu poprosit o radu, jak by to slo realizovat dal?

Dekuji

4

Re: Monitoring brany

Najde se nekdo kdo by poradil?

Diky

5

Re: Monitoring brany

Použijte sys[64].
Když do této položky nastavíte hodnotu, např. právě v okamžik kdy se brána otevře, začne se tato hodnota v sys[64] každou sekundu snižovat o jedničku.
Pak už je to jednoduché, necháte to dopočítat do nuly, a pokud stále není "vaše brána zavřená" tak pošlete email.


Následující kód je jen VZOROVÝ pro ukázku PRINCIPU - budete si to muset ještě správně propojit se svým programem.

 // start
 flag_odpocitavam = 0;
 posli_opakovane = 0;


 // smycka
 {

  // tento test je potreba spravne upravit, at se stane pri otevreni jen jednou atd.
  if (brana_je_otevrena)
  {
    // prvni odeslani emailu ?
    if (flag_odpocitavam == 0)
    {
      // jednou po otevreni se posle email
      smtp_send( ... email brana otevrena ... );
      // a zacneme cisty novy odpocet
      sys[64] = 15 * 60; // 15 minut
      flag_odpocitavam = 1;   
      posli_opakovane = 0;
    } else
    {
      // uz jsem poslal email, ted cekam na dokonceni odpoctu
      if (sys[64] == 0) posli_opakovane = 1;
    }
    // posledni vec
    if (posli_opakovane != 0)
    {
      // odpocet dobehl a brana je stale otevrena
      smtp_send( ... email brana stale otevrena ... );
      // a zacneme cisty novy odpocet, at se to posle zase za X minut
      sys[64] = 15 * 60; // 15 minut
      flag_odpocitavam = 1;   
      posli_opakovane = 0;
    }
  }

  if (brana_je_zavrena)
  {
     // brana se zavrela 
     // ...
   
     // a vzdy nulovat at to priste muze spravne zacit pocitat od zacatku
     flag_odpocitavam = 0;   
     posli_opakovane = 0;
  }

 }
Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !