
В 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: [email protected]. 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 и все заработало.
Не забываем дать права на запуск:
chmod 777 /opt/etc/calendarSMS/sendsms |
Вот и все, теперь что бы отправить себе sms набираем:
sendsms [-inet] [-?] [-sync] [сообщ] |
- -inet позволяет перед отправкой проверить доступ к интернету(google.com), пока интернет не появится сообщение не отправится
- -? эта справка
- -sync перед отправкой синхронезировать время сообщ сообщение которое будет отправлено
Пример:
/opt/etc/calendarSMS/sendsms -inet -sync Привет Мир! |
Область применения огромна:
- Смс о завершившийся закачке в торрент клиенте
- Смс о сработке датчика движения в системах видео наблюдения
- Смс о достижении определенного порога в наблюдаемой величине
- Смс о сбое канала связи/сервера/программы
И т.д. и т.п.
Единственное ограничение 20 смс в сутки на 1 номер. Но для каждого события можно завести свой гугл аккаунт, совпадения номеров он с разными аккаунтами не сверяет.