СМС по свистку

Продолжаю серию топиков про подключение Beeline-модемов к компьютерам с Linux. В гентушной статье, на основе которой написаны предыдущие материалы, приводится код на Python, с помощью которого можно узнать состояние баланса:

#!/usr/bin/python
#coding: utf8
import time, io, tty

def writeToPort(s):
  p.write(s+'\r\n')
  time.sleep(0.1)

p = io.open('/dev/ttyUSB1', 'w+b', 0)
tty.setraw(p)
writeToPort('AT+CPBS="SM"')
writeToPort('AT+CPMS="SM","SM",""')
writeToPort('AT+ZSNT=0,0,2')
writeToPort('AT+CUSD=1,*102#,15')

print 'Waiting answer...'
for ln in p:
  if ln.startswith('+CUSD'):
    print ln[10:ln.rfind('"')].decode('hex').decode('utf-16-be')
    break
p.close()


Сохранил это в файл /usr/bin/beelinehowmuch, проверил — работает.



Думаю, если похимичить с AT-командами — можно получить весь набор удобств, которые прилагаются к модему с виндовым софтом.