В Google Calendar есть очень интересная функция — уведомления. Благодаря ей можно получать бесплатные смс на телефон о событиях в календаре. Поддерживается очень много стран и операторов сотовой связи:
Россия
- Билайн
- МегаФон
- МТС
- Скай Линк
Беларусь
- JLLC Mobile TeleSystems
- VELCOM
Полный список стран здесь (у меня например смс также приходили к операторам которых нет в списке).
Умельцы с форума wl500g.info написали парочку скриптов которые шлют любые смс через Google Calendar. Задержка составляет всего 1 минуту, а ограничение 20 смс в сутки пока обойти не удалось.
Для начала нужно зарегистрироваться в gmail.
В настройках Google Календаря, в пункте "настройка для мобильных устройств", ввести и активировать свой мобильный телефон. Номер телефона можно ввести только один, но впоследствии его можно будет сменить.
Дальше устанавливаем python и bc:
1
2
|
sudo
apt
-
get
install
python
sudo
apt
-
get
install
bc
|
Качаем gdata-python-client питон клиент для календаря, и устанавливаем его:
1
2
3
4
5
|
wget
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
cd
gdata
-
2.0.13
python
setup
.py
install
|
Создаем папку /opt/etc/calendarSMS и кладем в нее питоновский скрипт, скачанный по ссылке (если папка другая — то нужно поправить пути в файле, я исправил все на /etc/calendarSMS).
В архиве по ссылке выше лежит конфиг файл для скрипта, его кладем рядом и правим.
1
2
3
4
5
6
7
8
9
|
[
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 - идентификатор календаря (например [email protected]. com). Можно посмотреть в настройках календаря — подробные сведения конкретного календаря, поле "адрес календаря" и там справа в скобках
- attempt - максимальное количество попыток установить новое напоминание в календарь
- delay - время ожидания между попытками
Дальше нужно скачать и положить файл sendsms в туже папку /opt/etc/calendarSMS (если меняли путь то не забудьте поправить его везде).
Для синхронизации времени перед каждой отправкой в примере используется ntpclient. Он используется только в предыдущем пункте. В Ubuntu я исправил его на ntpdate и все заработало.
Не забываем дать права на запуск:
1
|
chmod
777
/
opt
/
etc
/
calendarSMS
/
sendsms
|
Вот и все, теперь что бы отправить себе sms набираем:
1
|
sendsms
[
-
inet
]
[
-
?
]
[
-
sync
]
[сообщ]
|
- -inet позволяет перед отправкой проверить доступ к интернету(google.com), пока интернет не появится сообщение не отправится
- -? эта справка
- -sync перед отправкой синхронезировать время сообщ сообщение которое будет отправлено
Пример:
1
|
/
opt
/
etc
/
calendarSMS
/
sendsms
-
inet
-
sync
Привет Мир!
|
Область применения огромна:
- Смс о завершившийся закачке в торрент клиенте
- Смс о сработке датчика движения в системах видео наблюдения
- Смс о достижении определенного порога в наблюдаемой величине
- Смс о сбое канала связи/сервера/программы
И т.д. и т.п.
Единственное ограничение 20 смс в сутки на 1 номер. Но для каждого события можно завести свой гугл аккаунт, совпадения номеров он с разными аккаунтами не сверяет.