Прикрутим отображение вашего баланса в conky через AT команды. В данном примере будет участвовать nokia N93. Для начала сопрягаем наш телефон с компом, чтобы каждый раз не подтверждать соединение. И устанавливаем python и нужные нам библиотеки:
sudo apt-get install python-serial python-bluetooth python-lightblue
Теперь нам нужно узнать на каком канале висит сервис Dial-Up Networking:
Скоро буду менять себе плинтус. Потихоньку прицениваюсь.
Searching for DUN on 00:0F:34:32:B3:B7 ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10039
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Второй канал.
Теперь сам скрипт:
#!/usr/bin/env python
import bluetooth
import serial
#def SendViaBluetooth():
sockfd = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sockfd.connect(('00:0F:34:32:B3:B7', 2)) # BT Адрес и номер канала
sockfd.send('AT+CUSD=1,"*105#"\r') #
print sockfd.recv(1024)
print sockfd.recv(1024)
sockfd.send(chr(26)) # CTRL+Z
sockfd.close()
Редактирем BT адрес, номер канала и запрос на проверку баланса в примере указан USSD номер для Теле2. Запускаем:
AT+CUSD=1,"*105#"
+CUSD: 0,"OCTATOK 60.51 p.",1
OK
Для вывода в конки вычленим необходимую информацию:
ATsend.py | grep OCTATOK | awk '{ print $3 }'
Недавно купил себе фотоаппарат кенон PowerShot SX210 IS - отличные технические характеристика за свою цену.
Осталось добавить такую строчку в .conkyrc:
${color #FFFFFF}Tele2: ${color #FF832D}${execi 3600 /home/username/bin/ATsend.py | grep OCTATOK | awk '{ print $3 }'} ${color #FFFFFF}руб.
Теперь каждый час информация о балансе будет обновляться.