Recently I have solve this problem. I have wrote a python code to get the balance of the sim card directly through USB 3G device. I have wrote a supporting shell script also to create GUI interface for that python code.
The only dependencies to run the code are Python and Zenity.
I have wrote the code for my BSNL 3G connection, and have to customise for other connection.
==mobile_balance.py==============================
import sys
import serial
try:
serial_device = serial.Serial(sys.argv[1],timeout=8)
except IndexError:
print "\nMobile Balance\n\nSyntax: mobile_balance.py /dev/ttyUSB[2..5]\n"
except serial.serialutil.SerialException:
print "\nUnable to open port",sys.argv[1],"\n"
else:
serial_device.write('AT+CUSD=1,*123#,15\r\n')
while (1):
text_output = serial_device.readline()
if text_output.find('+CUSD')==0:
text_output = text_output.lstrip('+CUSD: 0,"')
print text_output.rstrip('",15\r\n')
break
serial_device.close()
quit()
===================================================
==mobile_balance.sh================================
#!/bin/bash
PreviousBalance=`cat /tmp/mobile_balance.tmp`
python `echo $0 | sed 's/.sh/.py'/` `ls /dev/ttyUSB{2..5} 2>/dev/null` > /tmp/mobile_balance.tmp | zenity --info --text="Mobile balance calculation in progress\nClick 'OK' and\nWait for a while....."
echo -e "Current Balance\n"`cat /tmp/mobile_balance.tmp` "\n\nPrevious Balance..\n" $PreviousBalance | zenity --text-info --title="Mobile Balance" --width=250 --height=300
====================================================
No comments:
Post a Comment