Подивимося, як отримати баланс і вивести його стандартним повідомленням Убунту (а ще було б непогано зберігати історію витрат). Цей пост використовує інформацію з Хабра.
1. Поїхали!
Встановлюємо gnokii і засіб посилки повідомлень (якщо ще не встановлено):
sudo apt-get install gnokii libnotify-bin
Потім створюємо файл config по шляху:
/.config/gnokii (хоча на Хабре написано, що потрібно створити .gnokiirc в домашньому каталозі, у мене це не спрацювало).
Заповнюємо створений конфігураційний файл таким вмістом:
[Global]
port = / dev / ttyUSB1
model = AT-HW
initlength = default
connection = serial
use_locking = yes
serial_baudrate = 115200
handshake = hardware
Після цього створюємо основний файл скрипта, який будемо використовувати для отримання балансу (наприклад,
/balance.sh) з таким вмістом:
#! / Bin / bash
# PIN-код
PIN = 1234
notify-send "Модем" "Запит балансу."
echo "$ PIN" | gnokii --entersecuritycode PIN
gnokii --deletesms SM 0 end
echo "0" | gnokii --sendsms 000100
sleep 2
gnokii --getsms SM 0 5 -F
/.3g-balance.txt
sed -ie 's / ^ M / # 92; n / g'
# ^ M скопіювати не вийде, для краси повідомлень бажано її ввести за допомогою
notify-send "Модем" "` grep 'Баланс. * руб # 92 ;.' .3g-balance.txt` "
Замість змінної PIN необхідно вставити свій PIN-код. Важливо зауважити, що даний скрипт працює з модемами фірми "Мегафон". Для інших операторів потрібні свої дані: СМС з яким текстом і на який номер відсилати (в прикладі надсилається СМС з текстом "0" на номер 000100). Для мого яєчного оператора потрібно відсилати "11" на номер 111. Вся інформація повинна бути на сайті оператора.
Крім того, у кожного оператора своя рядок виведення балансу. У мого це "Ваш баланс:", тому замість grep 'Баланс. * Руб # 92 ;.' я встановив значення grep 'баланс:'
2. Зберігаємо значення балансу
Якщо нам важливо знати витрати, то можна додати кілька рядків у кінець скрипта, які будуть зберігати поточний баланс і час запиту:
date + ..% m.% Y-% H:% M >> balance-history
grep 'баланс:' .3g-balance.txt >> balance-history
echo >> balance-history
tail balance-history
Історія запитів буде зберігатися в файлі balance-history в форматі Дата-час, перенесення рядка, результат запиту, порожній рядок-роздільник.
3. Додаємо на панель
Не забудьте додати скрипту прав на виконання. Вже зараз все повинно працювати: після запуску файлу повинна з'явитися перше повідомлення про запит, ще через кілька секунд має з'явитися наступного повідомлення з самим балансом.
Щоб було зручно отримувати інформацію і без терміналу, можна додати невелику кнопку на панель: перетягуємо значок скрипта на панель, додаємо назву і іконку.