The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как определить оператора сим`ки?, !*! zigli, 10-Дек-08, 10:55  [смотреть все]
есть gprs модем ComWL
задача стоит в том чтобы при замене симки определялся провайдер, и запускалcz ppp с соответствующим скриптом

pon provider


нашел в и-нете IPC::Open2

#!/usr/bin/perl -w

    use IPC::Open2;
    open2(*MODEM_IN,*MODEM_OUT, "cu -l /dev/ttyS0");
    $_ = <MODEM_IN>;
    chop;
    if ( !m/^Connected/ ) {
        print "$0: cu printed $_ instead of Connected";
    }else{
        print "HERE";
    }


sub read_line {
    $_ = <MODEM_IN>;
    $_ || die("got eof on modem");
    s/[\r\n]+$//;
    if ( $_ eq "" ) {
        $_ = <MODEM_IN>;
        $_ || die("got eof on modem");
        s/[\r\n]+$//;
    }
    return $_;
}

    print MODEM_OUT "AT+CIMI\r\n";
    my $line = read_line();
    print "$line\n";
    print MODEM_OUT "~.\r\n"

но что-то не так..
скрипт виснет после
    open2(*MODEM_IN,*MODEM_OUT, "cu -l /dev/ttyS0");
    $_ = <MODEM_IN>;

ЗЫ
Надо считать код IMSI - AT+CIMI
Ответом будет цифоровой ASCII код, типа "25099ххххххххх"
Где 250 - страна( россия) а 99 - код оператора(билайн).





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру