Яндекс.Метрика

    Песочница

    Transmission — настраиваем SMS уведомления

    image
    По воле случая мне понадобилось на продолжительное время уехать в провинциальный городок, однако имело место сильное желание быть в курсе состояния моих торрентов, поставленных на закачку. Так как в тех местах, куда мне предстояло отправиться, дела с доступом в интернет совсем уж плохие, было принято решение настроить мониторинг закачек на основе 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 и наделим его правами выполнения:
    image

    Для того, чтобы Transmission при завершении каждой загрузки выполнял этот скрипт, необходимо в его настройках указать путь к sh файлу:
    image

    Теперь осталось не забывать вовремя пополнять счет мобильного телефона, чтобы всегда быть в курсе состояния ваших торрентов.

    Для справки (AT-команды): http://en.wikipedia.org/wiki/Motorola_Phone_AT_Commands