Device-Modem-SMSModem version 0.01
==================================
The module is high level extension of Device::Modem intended to be be used as high level
API to handle SMS in USB dongles
Example:
#! /usr/bin/perl
use Device::Modem::SMSModem;
my $modem = new Device::Modem::SMSModem(
port => '/dev/ttyUSB0',
log => 'file,smstest.log',
loglevel => 'info');
if ($modem->connect(baudrate => 38400)) {
print "Modem connected\n";
}
else {
die "Couldn't connect $!, stopped\n";
}
# get operator MCC+MNC
my $op= $modem->get_operator_info();
print "Operator name: ".$op->{"long_name"}." MCC ".$op->{"mcc"}." MNC:".$op->{"mnc"}."\n";
# LAC+BTS ID
my $loc= $modem->get_lac_dec();
print "LAC: ".$loc->{"lac"}." CELL ID ".$loc->{"cell_id"}."\n";
print "IMSI: ".$modem->get_imsi()."\n";
# SMSC addr
print "SMSC address: ".$modem->get_smsc_address()."\n";
print "Setting up SM storage...\n";
$modem->init_sms_storage("SM");
print "Cleaning up storage...\n";
$modem->clean_sms_storage();
print "Getting number of messages...\n";
print "Number of messages in the storage: ".$modem->read_sms_count()."\n";
print "Looking for new messages...\n";
while(1)
{
my $n= $modem->new_sms_count();
if($n)
{
print "Got $n new messages...\n";
my $last= $modem->sms_count()-1;
my $sms= $modem->read_sms($last);
print $sms->{"status"}." ".$sms->{"from"}." ".$sms->{"date_time"}." ".$sms->{"smsc"}." ".$sms->{"text"}."\n";
$modem->delete_sms($last);
}
else
{
print "No new messages...\n";
}
sleep(10);
}
INSTALLATION
To install this module type the following:
perl Makefile.PL
make
make test
make install
DEPENDENCIES
This module requires these other modules and libraries:
Device::Modem
Carp
COPYRIGHT AND LICENCE
Put the correct copyright and licence information here.
Copyright (C) 2015, Dmitry Cheban, dmitriii@gmail.com
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.14.2 or,
at your option, any later version of Perl 5 you may have available.