- PVSM.RU - https://www.pvsm.ru -

Отправка бесплатного sms сообщения в linux

   В google calendar есть очень интересная функция — уведомления. Благодаря ей можно получать бесплатные смс на телефон о событиях в календаре. Поддерживается очень много стран и операторов сотовой связи:image

Беларусь

  • JLLC Mobile TeleSystems
  • VELCOM

Россия

  • Билайн
  • МегаФон
  • МТС
  • Скай Линк

Полный список стран здесь [1]. (у меня например смс также приходили к операторам которых нет в списке)

Умельцы с форума 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 [2]
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 и кладем в нее питоновский скрипт, скачанный по ссылке [3]. (если папка другая — то нужно поправить пути в файле) Я исправил все на /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 [4]в туже папку /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


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/11227

Ссылки в тексте:

[1] здесь: http://support.google.com/calendar/bin/answer.py?hl=ru&answer=37226&ctx=tltp

[2] gdata-python-client.googlecode.com/files/gdata-2.0.13.tar.gz: http://gdata-python-client.googlecode.com/files/gdata-2.0.13.tar.gz

[3] ссылке: http://wl500g.info/attachment.php?attachmentid=9013&d=1337678258

[4] sendsms : http://wl500g.info/attachment.php?attachmentid=7386&d=1291196746