Kaip visad kai susiduriu su kuo nors įdomiu – pasidalinu patirtim. Šį kart susidūriau su sms integravimu į interneto puslapį. Mano atveju integravimas yra asmeniniem tikslam, be trumpojo numerio, be papildomos įrangos, tiesiog su tuo kas yra po ranka ir kaip įmanoma pigiau ir paprasčiau:)

 

Tikslas: parašyti sms nurodytam numeriui, nurodytu laiku su „on fly“ sugeneruotu turiniu(praktikoj tai ryte sms’u atsiųsti dienos orų prognozę), viskas turi veikt autonomiškai.

Ko reikės:

  • telefono su android OS
  • vietos internete(host’o)

SMS gateway

Telefone įdiegiam programą sms gateway yra ir milijonas kitų programų atliekančių tą patį, bet siūlau tai ką išbandžiau.
Sukonfigūruojam:

Pažymim reikiamus elementus

Sukonfigūruojam POP3 serverį

HTTP -> SMS

Telefone viskas sukonfigūruota, jis lauks el. laiško kurio temoj bus nurodytas telefono numeris, o pačiam laiške sms turinys. Tokį laišką jam ir pasiunčiam. Aš rašiau su php, bet čia jau skonio reikalas:D

mail("akmc@gmail.com","+370609xxxxx","Labas, kaip šeima, vaikai?");

„sms gateway“ kas 10 minučių tikrins el. paštą ir radus naują laišką, nusiųs sms numeriui +370609xxxxx su tekstu „Labas, kaip šeima, vaikai?“. Viskas paprasta ir aišku. Gautas el. laiškas yra ištrinamas.

Praktikoj tai scenarijų nurodytu laiku ir nurodytom dienom įvykdo „cron jobs“.

Realus scenarijus

SMS -> HTTP

SMS gavom, dabar reikia atsakyt.
„SMS gateway“ programoj nustatom http dalį. Gavus sms, programa nueis nurodytu adresu ir GET metodu perduos duomenis.


Apdorojam gautus duomenis:

<?php
$device=$_GET["device"];
$phone=$_GET["phone"];
$center=$_GET["smscenter"];
$text=$_GET["text"];
$stream=fopen("sms.txt","a+");
fwrite($stream,"Įrenginys:$device\nNumeris:$phone\nSms centras:$center\nTekstas:$text\n");
fclose($stream);
?>

Komentarų manau nereik, čia viskas aišku:)
Gauti sms neištrinami ir neperimami programos, tiesiog programa išmeta savo pranešimą ir apdoroja duomenis.