Проверка баланса на 3G модеме.
Модератор: Модераторы разделов
-
- Сообщения: 170
- ОС: Windows 7|XP
Проверка баланса на 3G модеме.
субж. нужно для мегафона. мобиле партнёр не предлагать! где-то слыщал можно послать какую-то команду прямо в консоли, что-то типа echo в порт мопеда.
-
- Сообщения: 1261
- Статус: Никто, по сути быдло
Re: Проверка баланса на 3G модеме.
Именно AT команду через какую нибудь утилиту работающую с сом портом. Найдите справочник AT команд для вашего модема
эта команда посылает набранный номер для получения балланса (для каждого оператора свой) и в ответ в консоли вам возвращается значение , как в обычном телефоне.
эта команда посылает набранный номер для получения балланса (для каждого оператора свой) и в ответ в консоли вам возвращается значение , как в обычном телефоне.
-
- Бывший модератор
- Сообщения: 1629
- Статус: мизантроп.ка
- ОС: Gentoo
Re: Проверка баланса на 3G модеме.
Для билайна вот скрипт писали: конкретно про GPRS/EDGE/3G/CDMA/EvDO модемы
but in the darkness, behind your smile, you scream... © Dio
-
- Сообщения: 170
- ОС: Windows 7|XP
Re: Проверка баланса на 3G модеме.
помогите плиз его довести до мегафона. какие команды заменить? какое расширение? .py?
#!/usr/bin/env python
#
# This script send 'get balance' request to the Beeline
# from Huawei E219/E220 USB-GPRS modem.
#
# IDima © 2008
#
import serial
import string
import os
#
# Decode string from Beeline to current charset
#
def str2byte(a):
b=''
for i in range(len(a)/4):
b+=chr(eval('0x'+a[i*4+2:i*4+4]))+chr(eval('0x'+a[i*4:i*4+2]))
return unicode(b, 'utf16')
#
# Definitions
#
KDIALOG='/usr/bin/kdialog'
USBPORT='/dev/ttyUSB1'
USBSPEED=460800
MAXSTRINGLENGTH=300
print "Wait a while ... "
s=serial.Serial(USBPORT,USBSPEED,timeout=5)
s.write('ATZ \015')
s.write('AT+CUSD=1,AA184C3602,15 \015')
line=''
while line[0:6] != '+CUSD:':
line=s.readline(MAXSTRINGLENGTH)
s.close()
line2=line.split(',')[1]
line3=string.replace(line2,'"','')
line4=str2byte(line3)
result=line4.encode('utf8')
if KDIALOG and os.path.isfile(KDIALOG):
os.system(KDIALOG + ' --title "Beeline_Internet@Home" --msgbox "' + result + '"')
else:
print result
-
- Сообщения: 1261
- Статус: Никто, по сути быдло
Re: Проверка баланса на 3G модеме.
s.write('AT+CUSD=1,номер проверки счета,15 \015')
в общем поиграть с кавычками
Если команда выдает ошибку, можно попытаться ussd-запрос нужно написать с парными кавычками, т.е. “*111#”
в общем поиграть с кавычками
-
- Сообщения: 1261
- Статус: Никто, по сути быдло
Re: Проверка баланса на 3G модеме.
кстати есть вариант с pdu перекодировкой
http://habrahabr.ru/blogs/php/98837/
http://habrahabr.ru/blogs/telecom/98846/
http://habrahabr.ru/blogs/php/98837/
http://habrahabr.ru/blogs/telecom/98846/
-
- Сообщения: 170
- ОС: Windows 7|XP
Re: Проверка баланса на 3G модеме.
ничего блин не помогает
ну грузить же каждый раз мобле партнер в винде...............

-
- Бывший модератор
- Сообщения: 1629
- Статус: мизантроп.ка
- ОС: Gentoo
Re: Проверка баланса на 3G модеме.
Если вы хотите, чтобы вам помогли решить задачу, вам придётся показать, КАК вам ничего не помогает.
Например, как и какую команду вы даёте модему, что он отвечает.
Кстати, переношу в "Сетевые устройства".
Например, как и какую команду вы даёте модему, что он отвечает.
Кстати, переношу в "Сетевые устройства".
but in the darkness, behind your smile, you scream... © Dio
-
- Сообщения: 170
- ОС: Windows 7|XP
Re: Проверка баланса на 3G модеме.
эти все ваши скрипты это сейчас не нужно! как просто проверить баланс? почему вы не отвечаете на мой ответ?
-
- Бывший модератор
- Сообщения: 1629
- Статус: мизантроп.ка
- ОС: Gentoo
Re: Проверка баланса на 3G модеме.
Открываете порт модема (/dev/ttyUSB0 или /dev/ttyUSB1) с помощью, например, программы minicom, и шлёте в него команды вида "AT+CUSD=1,AA184C3602,15" (для разных модемов и операторов они разные).
Это вам уже говорил Ism в сообщении №2.
И поизучайте всё-таки тему конкретно про GPRS/EDGE/3G/CDMA/EvDO модемы
Это вам уже говорил Ism в сообщении №2.
И поизучайте всё-таки тему конкретно про GPRS/EDGE/3G/CDMA/EvDO модемы
but in the darkness, behind your smile, you scream... © Dio
-
- Сообщения: 170
- ОС: Windows 7|XP
Re: Проверка баланса на 3G модеме.
как его выполнитьв консоли?
Код: Выделить всё
<?php
function decodePDU($in) {
$b = 0; $d = 0;
$out = "";
foreach (str_split($in, 2) as $ss) {
$byte = hexdec($ss);
$c = (($byte & ((1 << 7-$d)-1)) << $d) | $b;
$b = $byte >> (7-$d);
$out .= chr($c);
$d++;
if ($d == 7) {
$out .= chr($b);
$d = 0; $b = 0;
}
}
return $out;
}
function encodePDU($in) {
$out = "";
for ($i = 0; $i < strlen($in); $i++) {
$t = $i%8+1;
if ($t == 8)
continue;
$c = ord($in[$i])>>($i%8);
$oc = $c;
$b = ord($in[$i+1]) & ((1 << $t)-1);
$c = ($b << (8-$t)) | $c;
$out .= strtoupper(str_pad(dechex($c), 2, '0', STR_PAD_LEFT));
}
return $out;
}
$f = fopen ("/dev/ttyUSB2", "rw+");
fputs($f, "AT+CUSD=1,".encodePDU("*100#").",15\r\n");
while ($s = fgets($f)) {
if (substr($s, 0, 5) == "+CUSD") {
$s = decodePDU(substr(trim($s), 10, -3));
echo $s."\n";
if (strpos($s, "1 - Dalee") !== false) {
fputs($f, "AT+CUSD=1,".encodePDU("1").",15\r\n");
}
else
break;
}
}
fclose($f);
?>
-
- Бывший модератор
- Сообщения: 1629
- Статус: мизантроп.ка
- ОС: Gentoo
Re: Проверка баланса на 3G модеме.
Вы же говорили, что не нужны вам никакие скрипты?
А вообще очевидно: сохранить в файл и сказать интерпретатору php, чтобы он его выполнил:
А вообще очевидно: сохранить в файл и сказать интерпретатору php, чтобы он его выполнил:
Код: Выделить всё
$ php <filename>
but in the darkness, behind your smile, you scream... © Dio
-
- Сообщения: 65
- ОС: Debian GNU/Linux amd64
Re: Проверка баланса на 3G модеме.
Вот накатал себе скрипт для проверки баланса, чтения SMS и прочего для ZTE MF626.
Проверка баланса и SMS-ок подойдут и для других модемов.
За питон не пинать - это моя первая и пока единственная программа на нем, а так я заядлый сишник.
Проверка баланса и SMS-ок подойдут и для других модемов.
За питон не пинать - это моя первая и пока единственная программа на нем, а так я заядлый сишник.

У вас нет необходимых прав для просмотра вложений в этом сообщении.
С уважением, Сергей.
-
- Сообщения: 211
- ОС: FreeBSD, Gentoo
Re: Проверка баланса на 3G модеме.
А разве нельзя проверить баланс через сервис гид.
Плюс, есть GUI Wammu (диспетчер для мобильного).
Плюс, есть GUI Wammu (диспетчер для мобильного).