Autor Zpráva
Lloyd
Profil *
Dobrý den,
rád bych zákazníkovi poděkoval za objednávku a automatizovaně mu poslal smsku, ale řeším jak na to.
Opravdu nemám v plánu využívat nějaké bezplatné rozhraní O2 atd. Rád bych vlastní řešení. Tarif od operátora na to mám.
Potřebuji tedy předpokládám nějakou HW bránu, které přes nějaké api řeknu text a kam ho má poslat.

Neřešil toto někdo? Nemáte typ na konkrétní HW?

Díky

Lloyd
Uliakr
Profil *
Z webu to nepůjde.


Možná si kup 3G modem.


Opravdu je nejlepší SMS brána zdarma.
Vlastní řešení nemá cenu.
Joker
Profil
Uliakr:
Co prosím?

Podle mě to je přesně tak, jak píše Lloyd. Je potřeba jen nějaký hardware, který umožní počítači odesílat ty SMSky. Bohužel zkušenosti s tím nemám, takže neporadím.
Ale snad by to zvládl i mobil?
Mike8748
Profil
Lloyd:
můžes si koupit nějakou hw bránu, např. http://www.suntech.cz/produkt/126268-siemens-terminal-packet-es75-pac-s-modulem-mc75/ a obládat to např pomocí tamtéž odkazovaného gammu (http://cs.wammu.eu/gammu/)...
otázka je jak to chceš napojit na stávající systém, jestli to zařízení bude u tebe napojené místně k pc z kterého se vyřizují objednávky např, nebo jinak
Lloyd
Profil *
Ahoj přátelé,
rád bych se s Vámi podělil o svoje poznatky na toto téma, abych třeba někomu usnadnil cestu.

Co se týče odesílání smsek, tak určitě doporučuji skutečné HW zařízení, které je na to dělané. Nějaké experimentování se starými telefony je hezké tak na testování, ale určitě ne do produkčního prostředí.
Za zajímavou cenu je tento kousek, který zde radil Mike8748 http://www.suntech.cz/produkt/126268-siemens-terminal-packet-es75i-rs232-usb/
Co se týče výběru zařízení mám jeden hodně důležitý poznatek. Určitě vybírejte model, který má fyzický com port - sériové rozhraní (RS-232). Tento kousek jsem si vybral hlavně kvůli tomu, že má USB, ale musím říci, že ať jsem se snažil jak jsem se snažil (testovat na x pc), tak USB není stabilní a často zařízení odmítne zpracovávat příkazy přes USB zaslané. Předpokládám, že je to způsobeno tím, že zařízení má v sobě převodník z USB na Com, tedy stejně se z toho ten sériák děje. Pokud jsem to zapojil přímo na sériák, tak to již šlape spolehlivě, ale je nutno vychytat přenesovou rychlost a nezanedbat ani délku kabelu (čím kratší, tím delší).

Když se mi tedy konečně podařilo se prokousat patáliemi, abych vůbec byl schopen modem spolehlivě propojit s pc a taky jsem vynašel správný ovladač, což je teda docela potíž, tak jsem se dal do samotné práce s modemem. AT příkazy jsou nečekaně jednoduché a nechá se s nimi zkoušet něco i přes PUTTY, nebo starý HYPERTERMINAL, který byl naposledy ve Win XP, ale na netu je k nalezení.
AT příkazy odesílání SMS najdete třeba zde http://developer.nokia.com/Community/Wiki/Using_AT_commands_to_send_and_read_SMS
Těch AT příkazů budete potřebovat více, například na vymazávání smsek ze simky (po naplnění neodesílá) atd. Některé AT commandy se liší s každým zařízení a chce to najít ke konkrétnímu typu.

Já například odesílám následujícím způsobem: Kod je z jazyku C#

    public void PosliSms(string nr, string ms)
        {
            Console.WriteLine("Zahajuji odesílání sms");
            _serialPort = new SerialPort("COM1", 115200);   //Zde si nastavte svoje údaje

            Thread.Sleep(1000);
            _serialPort.Open();

            Thread.Sleep(1000);
            _serialPort.Write("AT+CMGF=1\r");

            Thread.Sleep(1000);
            _serialPort.Write("AT+CMGS=\"" + nr + "\"\r\n");

            Thread.Sleep(1000);
            _serialPort.Write(ms + "\x1A");

            Thread.Sleep(1000);
          Console.WriteLine("zpráva poslána");
            _serialPort.Close();
        }


Jednoduché né? ;)

Chce to ale myslet na několik věcí a poprat se s nima:

1) Odeslání zprávy chvíli trvá:
to znamená, že pokud pošlete zprávu a sekundu na to pošlete další, tak to neskončí jinak, než pádem zařízení. Já to řeším těmi uspáními vláken a pokud je to více smsek, tak ještě časovači. Docela mi toto dalo zabrat, protože zařízení jakousi cache má, ale ta je malá a rychle dojde. Pokud by k tomu byl dotaz, kontakt bude níže

2) SMS zpráva má 160 znaků. Né více!
Kdo by si (stejně jako já původně) myslel, že lze poslat jen tak klidně 200 znaků, tak je na omylu. Zprávy je nutné dělit a odesílat opět po správných intervalech. Platí, že čím delší sms, tím je delší její zpracování.


No, to je snad vše podstatné.
Najednou mi to příjde skoro jednoduché, ale než jsem se tím prokousal :-):-):-)

Každopádně kdyby někdo potřeboval nějakej help, tak se může ozvat.

Pavel Calta
737 680 455
calta.pavel@gmail.com


Lloyd:
Já to řeším těmi uspáními vláken a pokud je to více smsek, tak ještě časovači.
Napsal jsem to špatně, řeším to frontou v DB a ta je pro mě zdrojem pro frontu zpráv. Občas se mi totiž stane, že je nutno odeslat třeba 30sms v jeden okamžik (zákazníkům dorazí zboží).


Ještě uvedu něco, co bych rád do budoucna vylepšil a třeba na to může přijít někdo jiný než najdu čas:
Uspávání vlákna mezi příkazy je jen berlička, která neřeší nějakou vyjímku. Chtělo by to skutečně dokonale nastudovat návratové kódy z toho modemu a podle nich mu dávat data. Pak by se již nemuselo dělat žádné zpožďování a jiné obcházení. Této nedokonalosti jsem si vědom a prosím, aby mě tu za ni nikdo nekamenoval.


Lloyd:
(čím kratší, tím delší).
Samozřejmě tam mělo být, že čím kratší, tím lepší
Alphard
Profil
V únoru jsem si tohoto vlákna asi nevšiml, napsal bych zkušenosti. To, co popisujete v [#5], jsem řešil při programování ovladače pro jisté zařízení určené do terénu. K AT příkazům není co dodat (snad jen, že ty pro práci s SMS jsou docela standardní, pro služby jako GPRS se už dost liší), ale pro testování jsem s Hyperterminalem nebyl vůbec spokojený, řádově lepší je Terminal v1.9b.
Když jsem ale potřeboval odesílat SMS z počítače se stabilním připojením k internetu, využil jsem www.smsbrana.cz. Služba má API na 9 stránek a odeslání SMS je skutečně triviální. Cena pro mě nebyla problém. Možná ušetříte pár haléřů na zprávu, ale nevím, od jakého počtu SMS by se to vyplatilo.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0