Песочница →
Transmission — настраиваем SMS уведомления
По воле случая мне понадобилось на продолжительное время уехать в провинциальный городок, однако имело место сильное желание быть в курсе состояния моих торрентов, поставленных на закачку. Так как в тех местах, куда мне предстояло отправиться, дела с доступом в интернет совсем уж плохие, было принято решение настроить мониторинг закачек на основе GSM сети.
В качестве способа оповещения я выбрал СМС. Модемом послужил старенький мобильный телефон Motorola C350L, подключенный через USB кабель к компьютеру. Потратив немного времени на изучение AT команд я приступил к написанию несложного скрипта.
Отправка сообщений с помощью модема может производиться двумя способами: передачей закодированного PDU (Protocol Data Unit), либо простого текста, при условии, что этот режим поддерживается аппаратом. Мне повезло, так как мой мобильник умел работать с любым из двух режимов. Использовать же я собрался, естественно, второй.
Для корректной отправки СМС требуется всего две AT команды:
AT+CMGF=1
AT+CMGW="номер телефона"[CR]текст сообщения[CTRL+Z]
Объясню смысл каждой из них. Первая устанавливает режим передачи данных (0 — голосовой, 1- текстовый). Вторая собственно и отправляет короткое сообщение на указанный номер.
Полный код получившегося скрипта:
#!/bin/bash
# Адрес GSM модема
MODEM='/dev/ttyACM0'
# Номер получателя
NUMBLER='+71234567890'
# Переключаемся в текстовый режим
echo -e "AT+CMGF=1\r\n" > $MODEM
# Посылаем СМС
echo -e "AT+CMGW=\"$NUMBLER\"\r\nTransmission: torrent \"$TR_TORRENT_NAME\" completed.\032" > $MODEM
Сохраним это в файле send_sms.sh и наделим его правами выполнения:
Для того, чтобы Transmission при завершении каждой загрузки выполнял этот скрипт, необходимо в его настройках указать путь к sh файлу:
Теперь осталось не забывать вовремя пополнять счет мобильного телефона, чтобы всегда быть в курсе состояния ваших торрентов.
Для справки (AT-команды): http://en.wikipedia.org/wiki/Motorola_Phone_AT_Commands
09.09.2011 02:21+0400