О Gammu, Wammu, sms шлюзе и управление компьютером через смс. Часть 1.

gammu wammuВ данной статье речь пойдет об изменении данных в мобильном телефоне через программу Gammu и ее GUI фронтенд - Wammu. Gammu поддерживает большое количество телефонов, полный список поддерживаемого оборудования можно получить на сайте проекта. Программа может работать с любой версией unix, лишь бы ОС определила подключенный телефон.

Возможности программы

  • Работа программы с телефонами через USB, Bluetooth, IRDA, последовательный кабель
  • Отсылка/чтение смс с поддержкой русского языка
  • Редактирование контактов телефонной книги на SIM карте и памяти телефона
  • Просмотр/редактирование напоминаний, вызовов, календаря
  • Синхронизация времени с компьютером
  • Бэкап/восстановление данных телефона
  • Обмен файлов между телефоном и компьютером

И это еще не всё. Gammu умеет работать в качестве сервиса для автоматического приема и отправки смс сообщений. Умеет хранить эти сообщения в различных базах данных, отсылать смс в определенное время. Все эти возможности позволяют с помощью gammu организовать полноценный sms шлюз по рассылке смс сообщений.

Подключение телефона и установка программы

Я пошел простым путем :) Подключил свой старенький Sony Ericsson t68i через USB кабель. Для подключения телефона через последовательный порт (COM) тоже не должно возникнуть проблем, а вот при подключении через Bluetooth и IRDA придется сперва настроить эти подключения.
После подключения телефона смотрим в файле /var/log/messages название порта


usb 3-1: new full speed USB device using uhci_hcd and address 3
usb 3-1: New USB device found, idVendor=067b, idProduct=2303
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: USB-Serial Controller
usb 3-1: Manufacturer: Prolific Technology Inc.
usb 3-1: configuration #1 chosen from 1 choice
pl2303 3-1:1.0: pl2303 converter detected
usb 3-1: pl2303 converter now attached to ttyUSB0

В нашем случае порт телефона /dev/ttyUSB0. Если после подключения вы не увидите название порта, значит ваш телефон не поддерживается ядром системы или не подгрузился нужный модуль ядра. В linux попробуйте подгрузить модуль (название модуля придется искать самим в интернет) через команду modprobе, а затем заново переподключить телефон к компьютеру.
Телефон определился, значит можно устанавливать программу. Я бы посоветовал устанавливать самую последнюю версию Gammu, на сегодняшний день стабильная версия 1.28.
Из исходников программу ставить очень просто, у нее минимум зависимостей пакетов.


$./configure --prefix=/usr
$make
и от root или sudo
#make install

Конфигурация Gammu

После установки создадим файл /etc/gammurc или в своей домашней директории ~/.gammurc примерно с таким содержимым


[gammu]
port = /dev/ttyUSB0
connection = at115200
startinfo = no
name=Sony Ericsson
synchronizetime = no
use_locking = no
gammucoding = utf8
model=t68i

Полный список параметров файла можно посмотреть в руководстве man gammurc
Идентифицируем телефон от root или sudo. Можно и от обычного пользователя, но сначала убедитесь что пользователь имеет права на порт устройства, или можно включить пользователя в нужную группу, которая обладает этими правами.


# gammu --identify
Устройство           : /dev/ttyUSB0
Manufacturer         : Ericsson
Модель               : T68i (1130202-BVT68)
Firmware             : R8A015      CXC125377
IMEI                 : 354373457006056
Product code         : 1180202-BVT68
Номер SIM (IMSI)     : 259921010537901

Можно получить более детальную информацию по телефону командой gammu --monitor
показать

Все определяется и отлично работает, пора переходить к просмотру/редактированию данных телефона.

Wammu - фронтенд к Gammu

Если вы начнете читать man к программе Gammu, то вы явно не обрадуетесь запоминать и изучать эти команды :) К счастью у нас есть программа Wammu, которая позволяет управлять всеми возможности Gammu через приятный интерфейс.
Единственный недостаток Wammu это ее зависимость от очень многих пакетов. Программа написана на языке python и использует wxpython, который и тащит за собой много зависимостей. Зависимости пакетов для wxpython-2.8.10.1 показать


Для сборки из исходников wаmmu используем следующие команды


$python setup.py build
и от root или sudo
#python setup.py install

Wammu использует тот же конфигурационный файл /etc/gammurc или ~/.gammurc. Если программе при запуске не удалось обнаружить телефон или не найден файл конфигурации, то можно довериться программе по поиску телефона..

Первый запуск Wammu

У меня wammu нашла телефон в автоматическом режиме. В ручном режиме от вас потребуется вводить номер порта и тип подключения телефона.

Автоматический поиск телефона

Выбор типа подключения телефона

Сканирование портов и телефона длится довольно долго. У меня даже нашла якобы два типа телефона, но на самом деле это были просто разные скорости обмена с портом. Я выбрал максимальную 115200.

Выбор телефона и скорости обмена с портом

Тест подключения

После запуска программы телефон на самом деле не подключен. Требуется подключить его вручную.

Подключаем телефон к программе

И вот только теперь можно начинать оперировать с данными телефона. Все данные, которые хранятся в телефоне требуется сначала выгрузить в программу через меню "Получить".

Получение данных с телефона

Ну вот пожалуй и все про wammu. Скриншотить все опции смысла нет - сами разберетесь :) СМС-ки отсылает с небольшой задержкой, но это ерунда. Главное умеет отсылать русские буквы.
Во второй части статьи напишу про gammu-smsd демон, который можно использовать как смс шлюз, а также как с помощью простенького скрипта можно заставить компьютер реагировать на входящие смс.

Статья просмотрена 22 643 раз
Запись опубликована в рубрике Gateway, Linux, Программы с метками , , , . Добавьте в закладки постоянную ссылку.

6 комментариев: О Gammu, Wammu, sms шлюзе и управление компьютером через смс. Часть 1.

  1. Алина говорит:

    Что-то мало телефонов поддерживает gammu. Он же поддерживает только именно те модели, которые указаны в базе данных, то есть указано 6000, то только 6000, и не 6005?

    • mik говорит:

      с большой долей вероятности будет поддерживать и 6005. Косяки могут возникнуть если в 6005 используется какой-то совсем новый чипсет, который не поймет программа. Но обычно в одной серии только небольшие модификации.. Ну и еще возможно будет поддерживать но с глюками :)

  2. Антон говорит:

    Спасибо! Очень годная статья по настройке именно gammu, нужно было именно через консоль уметь отправлять смс, прtдварительно настроив gammu на сервере. А про wammu в инете и так много чего написано)

  3. Николай говорит:

    Debian 6 2.6.32-5-amd64
    Вот что выдает Wammu
    У вас нет прав доступа к устройству /dev/ttyUSB0! Возможно, вам нужно быть членом группы dialout.

    • mik говорит:

      Сначала посмотрите права на файлик /dev/ttyUSB0.
      Выдайте себе права на этот файл, или как советует система станьте членом группы dialout. Файл групп находится в /etc/group.

    • Vlad говорит:

      запускаете командой из терминала
      sudo wammi

      и будет вам счастье)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>