Tags Posts tagged with "sms"

sms

przez -
13 5468
Superkomputer, monitoring

Monitoring dostępności usług na serwerze jest bardzo ważny. Dzięki szybkiej informacji na temat statusu działania usług na maszynie, możemy podjąć wszelakie czynności administracyjne wręcz natychmiast. Dobrym zatem rozwiązaniem jest otrzymywanie powiadomień SMSowych z informacją o statusie dostępności serwera i jego usług. W Internecie jest wiele gotowych rozwiązań, które można podłączyć na przykład do aplikacji Nagios. Dostępne są też wszelkiego rodzaju urządzenia jak na przykład SMS Foxbox, które bardzo dobrze integrują się z Nagiosem.

Darmowe bramki internetowe

Rozwiązań tego zagadnienia jest sporo. Jednym z najprostszych i najtańszych do wykonania jest napisanie skryptów, które skorzystają z darmowych bramek SMS dostępnych w Internecie i przez nie wyślą SMSa. Do wysyłania SMSów z bramki sieci PlusGSM można wykorzystać prosty skrypt napisany w Perlu:

#!/usr/bin/perl
#Rui Vilela, 2007
#sms.pl "message"

use locale;
use strict;
use warnings;
#use Data::Dumper; #Just for debug
use LWP::UserAgent;

my $ua=LWP::UserAgent->new();
$ua->timeout(10);
$ua->agent ('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'); #I'm a browser!

my $sms = shift;
my $dzisiaj=`date +%Y-%m-%d`;
my $godz=`date +%H`;
my $min=`date +%M`;

chomp ($dzisiaj, $godz, $min);

my %form=(
    tprefix => '605', #EDIT
    numer => '123456', #EDIT
    odkogo => 'NAME', #EDIT
    dzien => $dzisiaj,
    godz => $godz,
    min => $min,
    termin => 'on',
    tekst => "$sms",
);

#print Dumper \%form; #Just for debug
$ua->post("http://www.text.plusgsm.pl/sms/sendsms.php", \%form )

Sieć ta również udostępnia opcję wysłania SMSa w postaci adresu e-mail. Wystarczy napisać skrypt, który wyśle pocztę na adres: +4860xxxxxxx@text.plusgsm.pl.

W przypadku sieci Orange mamy również możliwość wysłania e-maila, który przyjdzie na nasz telefon w postaci SMSa. Po założeniu konta na stronie operatora należy zalogować się do usługi Multi Box, a następnie w jej opcjach ustawić powiadomienia SMS (mBox » opcje » ustawienia skrzynki e-mail » Powiadomienia SMS).

Orange - Powiadomienia SMS
Należy pamiętać, że w takim wypadku jesteśmy ograniczani przez limity darmowych bramek. Można również skorzystać z płatnych rozwiązań typu smsapi.pl. Tego typu serwisy najczęściej udostępniają pewnego rodzaju API, które pozwoli nam na napisanie skryptów do wysłania SMSa.

Monitoring SMS
Do rozsyłania SMSów może również posłużyć skrypt Skrypty SMS. Program pozwala na wysyłanie SMSów na wszystkie polskie sieci, z użyciem różnych bramek (potencjalnie nie tylko polskich operatorów) z poziomu command-line (shell, perl). Aplikacja zwraca również kodu statusu (informacja o wyniku/błędach podczas wysyłania).

Domowej roboty bramka SMS

Jeśli nie chcemy korzystać z darmowych bramek SMSowych, możemy pokusić się o zbudowanie własnej. Najprostszym rozwiązaniem będzie podłączenie telefonu komórkowego do komputera. Następnie możemy skorzystać z rozszerzenia do Perla o nazwie Device::Gsm. Przykładowa aplikacja do wysyłania SMSów prezentuje się następująco:

use Device::Gsm;

  my $gsm = new Device::Gsm( port => '/dev/ttyS1', pin => '1234' );

  if( $gsm->connect() ) {
      print "Połączono!\n";
  } else {
      print "Brak połączenia z telefonem!\n";
  }

  # Zaloguj się do sieci GSM.
  $gsm->register();

  # Wyśłij SMSa
  $gsm->send_sms(
      recipient => '+48000000000',
      content   => 'Hello world! Wysłałem SMSa dzięki Device::Gsm!'
  );

  my @messages = $gsm->messages();

Kolejną aplikacją jaka może pomóc nam w wysyłaniu SMSów wprost z telefonu komórkowego lub modemu GSM jest Gammu. Lista telefonów wspierana przez program znajduje się na stronie gammu.org. W katalogu domowym tworzymy plik .gammurc o zawartości:

[gammu]
port = /dev/ttyUSB0
model = 3100
connection = fbuspl2303
synchronizetime = yes
logfile =
logformat = nothing
use_locking =
gammuloc =

Jeśli poprawnie podaliśmy port na jakim ma się połączyć aplikacja to wydanie odpowiedniego polecenia powinno nam zwrócić wynik:

kamil@muszelka:~$ gammu --identify
Manufacturer  : Nokia
Model         : 3100 (RH-19)
Firmware      : 06.11 B (17-05-05)

Jeśli chcemy podłączyć telefon poprzez Bluetooth, musimy posiadać w systemie skonfigurowaną obsługę tej usługi. Następnie należy sparować urządzenie z komputerem a plik .gammurc zmodyfuikować do postaci:

[gammu]
port = XX:XX:XX:XX:XX:XX
connection = bluerfphonet
model = 6300

Jako port należy podać adres MAC telefonu komórkowego. Jeśli połączenie się powiedzie możemy pobrać z komórki wszystkie SMSy jakie się tam znajdują za pomocą polecenia gammu --getallsms.

Wysyłka SMSów jest również prosta. Możemy to wykonać za pomocą polecenia:

echo "Hello world! Wysłałem SMSa dzięki Gammu!" | gammu --sendsms TEXT +48000000000

lub wydać polecenie gammu --sendsms text +48000000000, po czym zostaniemy zapytani o treść SMSa. Na samym końcu wciskamy [CTRL] + [d].

Bibliografia

Polecane

Jesień Linuksowa

1 1146
Polska Grupa Użytkowników Linuksa ma zaszczyt zaprosić na konferencję Jesień Linuksowa 2017, która odbędzie się w dniach 22 – 24 września 2017 roku. Jako...