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