Pomocí SMS lze dnes vytvořit řadu zajímavých aplikací (soutěže, ankety, obrázkové EMS a zvonění) nebo třeba hromadně rozesílat informace, které si zákazník objednal. Existuje sice řada skriptů nebo hotových aplikací, které umožňují zdarma rozesílat SMS tak, že parazitují na branách operátorů mobilních sítí, bohužel jejich spolehlivost je velmi nízká a zpravidla jsou funkční jen do doby, než postižený operátor změní vlastnosti své brány a náš skript je tak rázem k ničemu. Skutečně profesionální aplikaci vytvoříme jen s pomocí vlastní gateway.

Vlastní brána není nic jiného, než zařízení připojené do sítě GSM (případně i NMT), které je schopné SMS přijímat a předat nám je do aplikace a naopak z naší aplikace převzít a odeslat do sítě. Nouzově to může být třeba mobilní telefon, který je možné připojit k počítači (třeba nějaký starší typ z bazaru), pro tyto účely se však využívají speciální GSM moduly. Tyto moduly jsou mnohem lépe přizpůsobeny pro dané použití (konstrukce, připojení externí antény, způsob napájení, absence akumulátoru, displeje, klávesnice a hlasové části), cenově jsou relativně dobře dostupné.

Jen připomínám, že každá SMS se skládá z čísla odesílatele nebo adresáta a textu. Text může být dlouhý 160 znaků, diakritika není korektně podporována. Pokud jde o EMS (rozšířené SMS) pro zasílání obrázků, log nebo melodií zvonění, využívají se speciální řídící znaky a kódy, delší kód je zaslán pomocí více po sobě jdoucích zpráv o sto šedesáti znacích.

Co budeme potřebovat:

  • modul GSM s napájecím zdrojem a anténou nebo mobilní telefon s vestavěným modemem a kabelem pro připojení k PC
  • případně anténu pro GSM modul
  • SIM kartu s aktivní službou pro odesílání SMS, s vypnutou ochranou pomocí PIN a nastaveným SMS centrem
  • program (server) pro příjem a odesílání SMS
  • naši aplikaci, která bude prostřednictvím SMS serveru zprávy přijímat a odesílat

Pokud chceme využít mobilní telefon, je třeba vybrat typ, který při připojení k PC umožňuje příjem i odesílání SMS. Většina telefonů umožňuje zprávy odesílat, s automatickým přijímáním je to už horší, zprávy je nutné z telefonu ručně překopírovat.

Jako GSM modul se hodí například moduly firmy Siemens, u některých firem lze sehnat levnější „klony“, které obsahují originální elektroniku, ale jsou ve vlastní montážní krabičce. Příslušenstvím modulu je kabel pro připojení k PC (obvykle na sériový port jako klasický modem) a napájecí zdroj. Budeme muset dokoupit anténu, hodí se pořídit autoanténu s přísavkou nebo širší magnetickou základnou, tyto snadno umístíme i kdekoli v místnosti. Bez antény modul nebude pracovat, dopřejme mu kvalitní a silný signál sítě GSM, aby mohl pracovat spolehlivě.

GSM modul obyčejně obsahuje dvě indikační LED. Jedna ukazuje stav napájení modemu, druhá stav práce se sítí. Po propojení modulu s počítačem a připojení napájení se modul pokusí zaregistrovat do sítě, což nám indikuje druhá z diod. U modulů Siemens se dioda chová podobně jako kontrolka HDD na počítači, problikává vždy při práci se sítí. Pokud nedošlo z nějakého důvodu k zaregistrování do sítě, dioda nesvítí vůbec.

Jak do telefonu tak i do GSM modulu je potřeba vsunout SIM kartu, která je klíčem ke službám sítě. Naprosto nevhodné jsou karty s předplacenou službou, u některých typů dochází i k počítání kreditu přímo na kartě, což ovšem GSM modul nemusí korektně podporovat, nehledě na fakt, že se lehce může stát, že kredit dojde a naše služba tím přestane fungovat. Většina operátorů poskytuje speciální tarifní programy výhradně pro přenos dat a SMS, výhodou je nízká cena za odeslanou SMS i měsíční paušál. Nutností při použití GSM modulu je deaktivovat ochranu pomocí PIN, modul samozřejmě nemá klávesnici ani displeji a nemá tudíž ani možnost se na PIN dotázat. Pokud karta obsahuje ochranu PIN, modul se do sítě nepřipojí. Na kartě také musí být nastaveno správné číslo centra SMS vašeho operátora, jinak nebudou zprávy korektně doručovány. Nastavení karty provedeme nejlíp jejím vložením do libovolného mobilního telefonu a nastavením přes jeho menu.

Program pro příjem a odesílání SMS obdržíme k některým telefonům a modulům od výrobce. K dispozici je i řada programů na internetu, některé jsou zdarma. Postupem času je vidět, že většina těchto programů se rozdělila na dvě části: část serverovou a část klientskou. Server stále běží a přijímá požadavky na odesílání SMS a současně hromadí SMS, které je možné z něj kdykoli přečíst. Klient je externí program, který zadá požadavek na odeslání SMS nebo vyzvedne došlé SMS. Výhodou je, že klientů může být více typů: jak spustitelný exe program, který můžeme ovládat i z příkazové řádky, tak i třeba cgi skript, ke kterému lze přistupovat přes webové rozhraní.

Je zřejmé, že serverová část musí být naistalovaná na počítači, ke kterému bude připojen GSM modul nebo telefon. Tento počítač musí být připojen k internetu, nebo musí být pomocí lokální sítě připojen k systému, na kterém budou pracovat skripty naší aplikace. Skripty naší aplikace musejí mít možnost předávat serveru brány požadavky na odesílání a načtení SMS. Samozřejmě, může být také vše na jednom stroji, jak server SMS gatewaye, tak i webový a databázový server s naší aplikací. Z programů zdarma se pro Windows hodí například Visual GSM Lite (výhodou je i webové rozhraní a snadno využitelné cgi skripty), na Linux (Unix) se hodí SMS Link.

Je samozřejmě možné napsat si vlastní program, k GSM síti se přistupuje speciálními AT příkazy jako k modemu. Pokud by nám šlo jen o odesílání SMS, stačí jen vyvolat ze skriptu externí příkaz, který AT povel předá naší bráně. Velký komfort to není, ovšem je to úplně nejjednodušší levné řešení. Seznam těchto AT příkazů nalezneme na stránkách výrobce GSM modulu.

Aplikaci pro využití SMS brány naprogramujeme velmi lehce. Stačí jen navrhnout skripty, které budou odesílané SMS předávat programu (serveru) naší SMS brány: buď spuštěním externího programu, nebo s výhodou předáním skriptu, který odeslání zajistí. Pro příjem SMS je třeba v určitém intervalu zprávy z brány načíst a nejlépe je uložit do databáze, kde si je poté zpracujeme. Jak takovou aplikaci napsat, jak navrhnout tabulky databáze a jak nastavit i pravidelné spouštění určitého skriptu (pro zpracování došlých zpráv) naleznete právě zde v již vyšlých článcích na Intervalu.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

5 Příspěvků v diskuzi

  1. ja pouzivam zasilani sms z php pomoci servru sms.cz a nepotrebuji k tomu zadni mobil stai jen jednou za cas dobit kredit

  2. Jarek : Pěkný :D, ale je spousta portálů na posílání sms a to i bez dobíjení. Ale tobě šlo asi o reklamu …

Odpovědět