Вы можете использовать команды AT напрямую, чтобы запросить свой баланс через USSD. Для этого используйте любую программу последовательного терминала, которая позволяет напрямую связываться с вашим модемом (putty, minicom и т. Д.).
Я выбрал atinout, потому что он прекрасно сочетался с командной строкой. Сначала вы установите его:
sudo apt-get install ruby-ronn;
git clone git://git.code.sf.net/p/atinout/code atinout;
cd atinout;
make;
sudo checkinstall make install;
Затем, если вы используете ModemManager (по умолчанию в Ubuntu Linux), вам может потребоваться сначала отключить его, чтобы atinout мог получить доступ к вашему модему:
sudo stop modemmanager;
Теперь, чтобы отправить код USSD для запроса баланса в сеть (скажем, * 901 #) и отобразить результат, вы должны использовать эту команду:
atinout - /dev/ttyUSB1 - < <(echo "AT+CUSD=1,\"*901#\",15") && sleep 4 && \
atinout - /dev/ttyUSB1 - < <(echo "AT");
Это предполагает, что ваш модем находится в /dev/ttyUSB1. Команда AT во второй команде atinout предназначена для того, чтобы получить ответ на нежелательный ответ USSD как побочный эффект, который должен был появиться после sleep.
В случае запроса вашего баланса требует использования меню USSD: это также возможно с atinout, atinout .