У меня получилось отправлять сообщения с роутера с помощью google calendar
по пунктам
1. зарегистрироваться на google.com
2. зайти в апплет "календарь" , там выбрать "настройки календаря"
3. в настройках выбрать "Настройка для мобильных устройств" там активируете свой телефон
4. заходите в свой роутер, и устанавливаете сначала питон
Code:
ipkg install python
ipkg install bc
5. Качайте gdata Google для питона, размер файла большой, поэтому в память роутера не распаковывайте
Code:
wget http://gdata-python-client.googlecode.com/files/gdata-2.0.13.tar.gz
tar xfv gdata-2.0.13.tar.gz
rm gdata-2.0.13.tar.gz
6. Устанавливайте gdata
Code:
cd gdata-2.0.13
python setup.py install
7. создайте папку /opt/etc/calendarSMS
Code:
md /opt/etc/calendarSMS
8. качайте скрипт calendarSMS.py из вложения и размещайте его на устройстве в папку /opt/etc/calendarSMS
9. В папке /opt/etc/calendarSMS создаем файл calendarSMS.config с таким содержанием:
Code:
[sendsms]
user: <username>
pw: *******
starttime: 120
endtime: 180
remindertime: 1
calendar:fafgttkq8ed2idfgfhdfidn6eok@group.calendar.google. com
attempt:11
delay:5
10. Установка ntpclient для синхронизации времени
Code:
ipkg install ntpclient
для синхронизации времени (Украина)
Code:
ntpclient -s -h 1.ua.pool.ntp.org
11. создайте файл sendsms в папке /opt/etc/calendarSMS с содержанием:
Code:
#!/bin/sh
PINGRESOURCE=google.com
message=""
case $# in 0)
echo " sendsms [-inet] [-?] [-sync] [сообщ]"
echo " "
echo " -inet позволяет перед отправкой проверить "
echo " доступ к интернету(google.com), "
echo " пока интернет не появится сообщение не отправится"
echo " "
echo " -? эта справка"
echo " -sync перед отправкой синхронезировать время"
echo " сообщ сообщение которое будет отправлено"
exit 3;
;;
esac
for p in $*;
do
case "$p" in -?)
echo " sendsms [-inet] [-?] [-sync] [Сообщение]"
echo " "
echo " -inet позволяет перед отправкой проверить "
echo " доступ к интернету(google.com), "
echo " пока интернет не появится сообщение не отправится"
echo " "
echo " -? эта справка"
echo " -sync перед отправкой синхронезировать время"
echo " сообщ сообщение которое будет отправлено"
exit 0
;;
-inet)
while (! ping -c 3 -w 3 -W 2 ${PINGRESOURCE} >/dev/null 2>&1) do
echo "calendarSMS: Сообщение не отправлено, подключение к интернету не обнаружено!!! "
logger "calendarSMS: Сообщение не отправлено, подключение к интернету не обнаружено!!! "
sleep 10s
done
;;
-sync)
logger "calendarSMS: Synchronizing time"
if (! ntpclient -s -h pool.ntp.org >/dev/null 2>&1) then
echo "calendarSMS: Не установлен ntpclient время не будет синхронезировано"
logger "calendarSMS: Не установлен ntpclient время не будет синхронезировано"
else
logger "calendarSMS: Synchronizing time"
fi
;;
*)
message="$message $p"
;;
esac
done
logger "calendarSMS: стартуем отправку SMS"
log=`/opt/etc/calendarSMS/calendarSMS.py --title "$message"`
echo "calendarSMS: $log"
logger "calendarSMS: $log"
даем права на запуск
Code:
chmod 777 /opt/etc/calendarSMS/sendsms
12. Сохранение изменений
Code:
flashfs save&&flashfs commit&&reboot
11. собственно сама отправка СМС
отправка sms с проверкой доступности интернет(пинг google.com)
Code:
sendsms -inet [text]
отправка sms с синхронизацией времени
Code:
sendsms -sync [text]
пример
Code:
/opt/etc/calendarSMS/sendsms hello world
Конфигурационный файл /opt/etc/calendarSMS/calendarSMS.config
пример содержимого файла
Code:
[sendsms]
user: vassio
pw: *******
starttime: 120
endtime: 180
remindertime: 1
calendar: fafgttkq8ed2idfgfhdfidn6eok@group.calendar.google. com
attempt:11
delay:5
user аккаунт google
pw пароль к аккаунту google
starttime указывает через какое время будет начато мероприятие(в секундах)
endtime указывает через какое время будет закончено мероприятие(в секундах)
remindertime время напоминания(в минутах)
calendar Идентификатор календаря (например fafgttkq8ed2idfgfhdfidn6eok@group.calendar.google. com) . Можно посмотреть в настройках на https://www.google.com/calendar/render?tab=wc
attempt Максимальное количество попыток установить новое напоминание в календарь
delay Время ожидания между попытками
Дополнительно
1. Что бы при включении роутера отправлялось СМС с текущим IP адреса сервера, в файле /usr/local/sbin/post-mount добавить строчки
Code:
logger "Synchronizing time"
ntpclient -s -h 1.ua.pool.ntp.org
logger "sendsms:Отправляем информацию об успешной загрузке"
sleep 5s
ipaddr=`nvram get wan0_ipaddr`
smslog=`/opt/etc/calendarSMS/sendsms -inet -sync "Your router $ipaddr is loaded"`
logger $smslog
2. Уведомление о закачке торрента в rtorrent
в /opt/etc/rtorrent.conf дописать
Code:
on_finished=send_finish_sms,"execute = /opt/etc/calendarSMS/sendsms,Торрент,$d.get_name=,успешно,скачан"
3. Уведомление о закачке торрента в Transmission
Обновление(30.11.2010) Версия 2.0:
- Добавил: при ошибке установлении оповещения на событие в календаре, событие удаляется и создается заново
- в описании установки добавил установку ntpclient, ntp клиента для синхронизации времени
- Переписал руководство по установке(для поддержки отправки сообщения не только под рутом)
- Добавил: описание отправки СМС с rtorrent при завершении закачки
Обновление(1.12.2010) Версия 2.1:
- Исправил: при добавление напоминания к событию к календарю по умолчанию ставится тип напоминания SMS
- переписал скрипт sendsms
-Добавил: отправка СМС с ожиданием пока не появится интернет
-Добавил: синхронизация времени
-Добавил: для отправки текста не обязательно его брать в кавычки
Обновление(10.12.2010) Версия 2.2:
- Исправил: отправка смс кириллицей
- Добавил: если добавить напоминание не удалось, то перед добавлением нового идет ожидание в течении 2 сек.
-Добавил: попыток пересоздания события в случае ошибки увеличено до 10
Обновление(22.05.2012) Версия 3.0:
-Добавил:Возможность выбрать Календарь, в который будут записываются события
-Добавил: Возможность указать кол-во попыток добавления в календарь и время ожидания между попытками
-Исправил: В случае ошибки добавления напоминания событию в календаре, это событие удаляется и создается новое