4000 грн на місяць

3G модем

  • Автор теми Автор теми Bo'ris
  • Дата створення Дата створення
Wholesale Clothes blog

Wholesale Clothes,Wholesale Clothing Women's.1,000,000 Wholesale Products Wholesale $28, Low Price Guarantee
 
На счёт смс и звонков не заморачивался, а баланс проверяю при помощи скрипта на питоне:
[11:44:45][baldman@bcs-laptop][~]$ balance
Please wait ...
Vash balans:zagal'nyi 118,14; dodatkovyi 0,00 hrn. 61440.0Kb v mezhah nacionalnogo roumingu
[11:44:54][baldman@bcs-laptop][~]$
А звонить и смс -- при подключении к мобильному ого дали вторую симку, ей и пользуюсь.
 
Запостил бы уже и скрипт или ссылку на него, гляди и другим полезен будет:)
 
Код:
#!/usr/bin/env python
# coding: UTF-8

import sys
import serial

def adjust_right(string):
    if len(string) < 4:
        string = "0x0" + string[-1]
    return string

def decodeUCS2(string):
    out = ""
    b = 0
    d = 0
    counter = 0
    for i in range(len(string)/2):
        ch = string[counter] + string[counter + 1]
        counter += 2
        byte = int(ch, 16)
        c = ((byte & ((1 << (7 - d)) -1)) << d) | b
        b = byte >> (7 - d)
        out += chr(c)
        d += 1
        if (d == 7):
            out += chr(b)
            d = 0
            b = 0
    return out

def encodeUCS2(string):
    out = ""
    for i in range(len(string)):
        t = i%8+1
        if (t == 8):
            continue
        c = ord(string[i]) >> (i%8)
        if ((i+1) == len(string)):
            b = ord('\0') & ((1 << t)-1)
        else:
            b = ord(string[i+1]) & ((1 << t)-1)
        c = (b << (8-t)) | c
        out += adjust_right(hex(c))
        out = out.replace("0x", "")
    return out

S_PORT = "/dev/ttyUSB3"
S_REQ = "*100#"
S_SPEED = 115200

if (len(sys.argv) > 1):
    S_PORT = sys.argv[1]
try:
    sp = serial.Serial(S_PORT, S_SPEED, timeout = 3)
except:
    print "Error: Device \"%s\" is busy or does not exist!" %S_PORT
    sys.exit()
if __name__ == "__main__":
    print "Please wait ..."
    s_query = "AT+CUSD=1," + encodeUCS2(S_REQ) + ",15 \015"
    sp.write(s_query)
    string = ""
    while not(string.startswith("+CUSD:")):
        string = sp.readline()
    string = string.split(",")[1].replace('"','')
    print decodeUCS2(string)
    sp.close()
    sys.exit()

Скрипт взят с хабра, я только добавил функции перекодировки из и в ucs2, которые тоже где то нашёл, только они были на перле. Может кому пригодится. Кстати, S_PORT укажите свой.
 
Назад
Зверху Знизу