1 Naposledy upravil: ok2arm (2011-08-08 16:23:30)

Téma: Odeslani emailu / opto vstup

Zdravim vsechny ctouci,
byla by tu nejaka spriznena duse, ktera by zde uvedla program pro odeslani emailu pri zmene na opto vstupu...?

Info: Mam 24C16 takze malo mista hmm


Predem diky vsem

2

Re: Odeslani emailu / opto vstup

Je to sice s anglickým textem, ale mělo by to fungovat.

http://wiki.merenienergie.cz/index.php/ … ng_example

24C16 se dá přepájet na 24C256, je to jen drobná investice...
nicméně tento program by se vlézt měl,
a pokud ne, tak stačí zkrátit texty a pak už by to mělo být ok.

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

3 Naposledy upravil: ok2arm (2011-08-08 20:43:38)

Re: Odeslani emailu / opto vstup

- je mozno zaslat upozorneni na vice emailu, eventuelne jak ?
- byl jeste nejaky example pro male napeti na vstupu ?

Predem diky

4

Re: Odeslani emailu / opto vstup

Na konci této stránky: http://wiki.merenienergie.cz/index.php/UPS_230V

je odkaz ke stažení dalšího programu v SDS-C. Měl by být aspoň trochu užitečný jako příklad.

Emailů jde odeslat i více, proč ne. Jednoduše se za sebou napíše tolik příkazů na odeslání emailu, kolik je potřeba - pozor ale, po každém takovém příkazu je nutné doplnit čekání na dokončení odesílání emailu. Zařízení umí v jednu chvíli odesílat jen jeden email. Toto čekání je však triviální, je to jednoduchá smyčka která testuje obsah proměnné sys[65], a až v této proměnné není nula, tak pokračovat na další odesílání.

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

5

Re: Odeslani emailu / opto vstup

Kdyz vemu nasledujici program

// first, define some hardware link
#define OPTO0_STATUS sys[151]
 
// now define our variables we are going to use
var last_OPTO0_status;
var sentEmail;
 
// function
sendOptoIsOff
{
  // we do not want to send an email more than once per each alarm
  if (sentEmail == 0)
  {
    // store the flag
    sentEmail = 1;
 
    // send an email
    smtp_send('joe@foo.com', 'alarm notice', 'ALARM: 230V failed !');
 
    // write an info to console (you can delete that)
    echo('Sending an email - ALARM');
  }
}
 
// function
sendOptoIsOn
{
  // we do not want to send an email more than once per each alarm
  if (sentEmail == 0)
  {
    // store the flag
    sentEmail = 1;
 
    // send an email
    smtp_send('joe@foo.com', 'info notice', 'INFO: 230V is back ON !');
 
    // write an info to console (you can delete that)
    echo('Sending an email - INFO OK');
  }
}
 
// function
OptoChanged
{
  // we get here if the OPTO input status changes
 
  // first, make sure we send an email, because OPTO state changed
  sentEmail = 0;
 
  // store the OPTO status so we can compare next time
  last_OPTO0_status = OPTO0_STATUS;
 
  // the following code depends on the actuall circuit connection:
  // we expect that if OPTO LED is lighting, then
  // the system is OK. If OPTO LED is dark (no power to LED)
  // then we have an error and we want an alarm
 
  // note: OPTO LED without power (dark): sys[opto] != 0
  //       OPTO LED with power (lighting): sys[opto] == 0
 
  if (OPTO0_STATUS != 0) sendOptoIsOff() else sendOptoIsOn();
}
 
// function - main program start
main
{
  // print info to console (you can delete that)
  echo('program started.');
 
  // store the status, so we can compare it next time
  last_OPTO0_status = OPTO0_STATUS;
 
  // set default value, to make sure we will send an email immediately
  sentEmail = 0;
 
  // main program loop
loop:
 
  // check if OPTO status is different than the last time
  if (last_OPTO0_status != OPTO0_STATUS) OptoChanged();
 
  // continue the loop
  goto loop;
 
}

a udelam dve kopie, zmenim vstup a email, tak to pri kompilaci hlasi chybu ohledme mailu....
Co je treba jeste zmenit ?

Potreboval bych hlidat vsechny opto vstupy

Diky za rady !




adamn napsal:

Na konci této stránky: http://wiki.merenienergie.cz/index.php/UPS_230V

je odkaz ke stažení dalšího programu v SDS-C. Měl by být aspoň trochu užitečný jako příklad.

Emailů jde odeslat i více, proč ne. Jednoduše se za sebou napíše tolik příkazů na odeslání emailu, kolik je potřeba - pozor ale, po každém takovém příkazu je nutné doplnit čekání na dokončení odesílání emailu. Zařízení umí v jednu chvíli odesílat jen jeden email. Toto čekání je však triviální, je to jednoduchá smyčka která testuje obsah proměnné sys[65], a až v této proměnné není nula, tak pokračovat na další odesílání.