1

Téma: SMS přes HTTP GET

Dobry den,

nemate nekdo zkusenost jak udelat odesilani sms z SDS micro light 2.

v si ti pozivame posila pres sms branu nasledujicim zpusobem ze do radky prohlizece vlozime nasledujici

https://brana.server.cz/sendsms/?number … ;text=Toto je testovaci zprava

a prijde sms s textem na zadane cislo chtel bych to pouzit na hlaseni alarmu
ale nevim jak to pres zabudovat do tela programu zatim to mam na email jakoz je vetsina k stazeni na netu

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('nic@nic.cz', 'INFO', ' otevřeno ');

    // write an info to console (you can delete that)
    echo('Sending an email - ALARM');

  }
}

diky za rady

2

Re: SMS přes HTTP GET

Použijte SDS-C funkci "http_get()".

Příklady jsou na wiki, nebo se podívejte na kompletní program, např. program pro odesílání dat na náš portál měření energie (opět na wiki), tam je to úplně udělané. Pak to stačí jen lehce upravit a je to.

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

3

Re: SMS přes HTTP GET

Potřeboval bych poradit, také bych rád využil při třeba změně teploty zaslání SMS, v současnosti mě to chodí na mail a perfektně, ale jelikož mám v objektu zabazpečovačku Jablotron a spínanou radiem zásuvku, kterou lze ovládat pomocí SMS přes GSM modul zabazpečovačky na PGX výstup.Čili když zašlu kod_pgx_zapni na GSM rozhraní zásuvka se sepnte, to by mělo udělat při třeba poklesu teploty a samozřjemně obráceně.
Koukal jsme na funkci http_get() ale moc chytrý z toho nejsem, mohl by někdo s  tím pomoci. Děkuji Roman .

s SDS - Micro začínám, ale učím se

4

Re: SMS přes HTTP GET

popis funkce je zde http://wiki.merenienergie.cz/index.php/Sdsc_sysf

Jinak já používám bránu vodafonu, která umí přeposlat email na mobil jako sms.

Funkce http_get je vlastně obdoba toho, jako když do prohlížeče zapíšete do řádku adresy www.njkyserver.cz/funkce.php?index=1. Takže pro využití tohoto budete potřebovat njký server kde bude uložen třeba script v PHP a zpracovávat data. Jestli je nějaký server, který umožňuje zasílat sms bezplatně přes GET nevím. Ale asi jich moc nebude. Snad njké placené služby, které tuto funkci poskytují.

5

Re: SMS přes HTTP GET

kdysi jsem slyšel něco o SMS na http://smsmidlet.com/index.html . Ale jak to funguje nevím. Musel bych číst smile

6 Naposledy upravil: roman_rja (2012-09-25 16:45:34)

Re: SMS přes HTTP GET

No a když používate  bránu vodafonu, která umí přeposlat email na mobil jako sms. " nemohl by jste mě to poslat nebo vykopírovat , jelikož GSM modul právě používá kartu Vodafon,

na Wiki jsem koukal, jak jsem psal moc chytrý z toho nejsem......
server s PHP scriptem bych měl možná na svém webu, dalo by se teda naznačit konkrétně co a kde a jak ? jestli to je možné, možná otravuji ale je to jednouší pro mě řešení , předem děkuji

s SDS - Micro začínám, ale učím se

7

Re: SMS přes HTTP GET

Já používám v programu SDS smtp_send na 602xxxxxx@sms.eurotel.cz a to mi pošle sms na základě nějaké akce v programu.

8

Re: SMS přes HTTP GET

mlicko napsal:

Dobry den,

nemate nekdo zkusenost jak udelat odesilani sms z sds mcro light 2.

... Pomocí http_get se zavolá php stránka.. Ta zapíše text do SQL odkud ji program smsd odesílá..

Php vypadá takto ..

<?php
echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">";
require "dbinfosms.php"; // tady mame pripojeni k databazi

$text=$_REQUEST["text"];
$tel_cislo=$_REQUEST["tel_cislo"];

mysql_query("SET CHARACTER SET utf8");
$id_vysledku=mysql_query("INSERT INTO gnokii.outbox (id,number,insertdate,text,processed,error,dreport,not_before,not_after) values  ('','$tel_cislo',
now(),'$text',0,-1,0,'00:00:00','23:59:59')");
if ($id_vysledku=="") {echo "<br>err 01-Nepodařilo se uložit do databáze<br>";}
else {echo "SMS pro $tel_cislobyla uložena do databáze...<br>";}

MySQL_Close($spojeni);
?>

V micru volám tímto příkazem:

http_get(ip,add,re,sa, 'ip.add.re.sa','/sendsms.php?text=Nejaka+zprava&tel_cislo=123456789');

Snad to pomohlo.

L.

9 Naposledy upravil: roman_rja (2012-09-26 10:33:38)

Re: SMS přes HTTP GET

můžu ještě poprosit třeba o strukturu databaze a obsah souboru dbinfosms.php .... bylo by to možné ? , předpokladám že první IP adresa je adresa zařízení SDS (asi veřejná IP ) a druhá IP je adresa serveru kde běží sendsms.php   .

ještě počkám na odesílání přes bránu vodafon, jestli to pro mě nebude jednodušší , v tuto chvíli nevím :-)
ale děkuji zatím za vše

s SDS - Micro začínám, ale učím se

10 Naposledy upravil: LeosL (2012-09-26 13:27:55)

Re: SMS přes HTTP GET

roman_rja napsal:

můžu ještě poprosit třeba o strukturu databaze a obsah souboru dbinfosms.php .... bylo by to možné ? , předpokladám že první IP adresa je adresa zařízení SDS (asi veřejná IP ) a druhá IP je adresa serveru kde běží sendsms.php   .

ještě počkám na odesílání přes bránu vodafon, jestli to pro mě nebude jednodušší , v tuto chvíli nevím :-)
ale děkuji zatím za vše


Obě adresy jsou stejné, je to IP adresa na kterém běží web server. Na odesílání se používá smsd v linuxu s modemem připojeným přes RS 232. Je tam tarif tuším odepiš, takže pár hal. za SMS.   

Struktura db zde:

CREATE TABLE IF NOT EXISTS `outbox` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `number` varchar(20) collate utf8_czech_ci NOT NULL default '',
  `processed_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `insertdate` timestamp NOT NULL default '0000-00-00 00:00:00',
  `text` varchar(160) collate utf8_czech_ci default NULL,
  `phone` tinyint(4) default NULL,
  `processed` tinyint(4) NOT NULL default '0',
  `error` tinyint(4) NOT NULL default '-1',
  `dreport` tinyint(4) NOT NULL default '0',
  `not_before` time NOT NULL default '00:00:00',
  `not_after` time NOT NULL default '23:59:59',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=4601 ;

Popis smsd zde: http://linux.die.net/man/8/gnokii-smsd

dbinfosms.php
<?
// konfiguracni informace pro pripojeni k databazi
$db_host="127.0.0.1";              // adresa na ktere je dostupna databaze MySQL
$db_uzivatel="nejake_jmeni";   // uzivatelske jmeno pro pristup k databazi
$db_heslo="nejake_heslo";       // uzivatelske heslo pro pristup k databazi
$db_jmeno=gnokii;                     // nazev databaze


@$spojeni = mysql_connect($db_host, $db_uzivatel, $db_heslo);
if (!$spojeni):
  echo $fch."Nelze se pripojit k databazi ".$db_jmeno;
  exit;
endif;

@$dbsel = mysql_select_db($db_jmeno);
    if (!$dbsel):
    echo $fch."Err Nr.12 Nelze nastavit databazi " . $db_jmeno;
    exit;
endif;
?>

L.

11

Re: SMS přes HTTP GET

Hmmm jak jsem to dělal? Někde na vodafonu jsem si zřídil e-mail, v nastavení mailu jsem dal přesun emailu na mob.číslo vodafone. Pak odesílám email z macra na ten vodafonemail a ten mi to automaticky soupne na mobil.

12 Naposledy upravil: roman_rja (2012-09-26 17:52:10)

Re: SMS přes HTTP GET

No zkoumal jsem to včera taky, ale asi to vodafon již má nějak zakázané , nebo prostě jsem to nevytvořil ...

neva , ale zkusil jsem zprovoznit dle LeosL navodu, ale asi někde dělám chybu jelikož se to nezapíše do databaze ???
dbinfosms.php funguje v pořádku
sendsms.php to databaze zapise a nasledně mě příjde mail :
SDS program

posli_email_pod
{ if (odeslano_pod == 0)
    {
  http_get(82,208,17,108, '[url=http://www.rja.cz]www.rja.cz[/url]','/sendsms.php?text=Nejaka+zprava&tel_cislo=603587899');
  smtp_send('navara@fomei.com', 'teplotni alarm', 'Hlasim ze teplota (',teplota,'°C) poklesla pod stanovenu mez',mez,'°C .');
  
    echo ('teplota klesla na(',teplota,')');
     }
  odeslano_pod = 1;
  odeslano_nad = 0;
}

a v mailu mě nepříjde " Hlasim ze teplota (',teplota,'°C) poklesla pod stanovenu mez',mez,'°C  , ale pouze jen toto což je kus http_get

GET /sendsms.php?text=Nejaka+zprava&tel_cislo=603587

když spustim samotny sendsms.php tak se to do dabaze zapise ale přes http_get
mam z toho pěknej maglajz :-) ale asi nemam ten prográmek na odesilani gnokii na serveru ? Poradí jak ho třeba dostanu nebo jak to zprovoznim, byt třeba i na uložišti, mám NAS DS 212+ , kde pokud vím taky běží unix .

s SDS - Micro začínám, ale učím se

13

Re: SMS přes HTTP GET

Jako úložiště používám další disk v linux serveru - klasické úložiště nepoužívám takže bohužel neporadím..
Ten program gnokii kontroluje databázi a obsluhuje GSM, pokud tam je zapsaná nová zpráva, tak ji odešle. Bez toho programu a GSM brány to nepůjde. Řešení s odesíláním SMS jake emailu na bránu mobilního operátora nepoužíváme, protože jednou přišla SMS za minutu, podruhé nepřišla vůbec.

L.

14

Re: SMS přes HTTP GET

roman_rja napsal:

   {
  http_get(xxx,xxx,xxx,xxx, 'www.rja.cz','/sendsms.php?text=Nejaka+zprava&tel_cislo=603xxx899');
  smtp_send('navara@fomei.com', 'teplotni alarm', 'Hlasim ze teplota (',teplota,'°C) poklesla pod stanovenu mez',mez,'°C .');
 
    echo ('teplota klesla na(',teplota,')');
     }

a v mailu mě nepříjde " Hlasim ze teplota (',teplota,'°C) poklesla pod stanovenu mez',mez,'°C  , ale

ale pouze jen toto což je kus http_get

GET /sendsms.php?text=Nejaka+zprava&tel_cislo=603587

Tady je chyba v neúplném SDS-C programu.

Když se zavolá funkce http_get(), musí se počkat, než se dokončí, před tím, než se zavolá smtp_send(). Platí to i pro opačné pořadí (a pro další OSI7 funkce).

Vysvětlení: všechny tyto funkce používají stejný buffer pro data k odeslání. Ten se v tomto konrétním programu naplní funkcí http_get(), ale než vůbec stihne http_get() něco vůbec udělat, tak už tento konkrétní program volá smtp_send(), který to přepíše...

Řešením je počkat na výsledek http_get(): viz návod a vzorové programy na WiKi (nebo např. program pro odesílání dat na portál, a tak dále). Po zavolání http_get() se testuje obsah sys[65] a až je tam platná hodnota ("hotovo" nebo "chyba"), lze pokračovat dále (např. zavolat smtp_send() ). Totéž je potřeba udělat i po zavolání smtp_send(), dns_resolv() atd.

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

15

Re: SMS přes HTTP GET

díky za rady ... vyzkouším, i když teda problém je stejně v tom odesílání mail na mobil jako SMS ... až todle někde vypátrám pak využiji i doplnění tohoto scriptu . ještě jednou díky

s SDS - Micro začínám, ale učím se