В данной статье речь пойдет об изменении данных в мобильном телефоне через программу 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 нашла телефон в автоматическом режиме. В ручном режиме от вас потребуется вводить номер порта и тип подключения телефона.
Сканирование портов и телефона длится довольно долго. У меня даже нашла якобы два типа телефона, но на самом деле это были просто разные скорости обмена с портом. Я выбрал максимальную 115200.
После запуска программы телефон на самом деле не подключен. Требуется подключить его вручную.
И вот только теперь можно начинать оперировать с данными телефона. Все данные, которые хранятся в телефоне требуется сначала выгрузить в программу через меню “Получить”.
Ну вот пожалуй и все про wammu. Скриншотить все опции смысла нет – сами разберетесь 🙂 СМС-ки отсылает с небольшой задержкой, но это ерунда. Главное умеет отсылать русские буквы.
Во второй части статьи напишу про gammu-smsd демон, который можно использовать как смс шлюз, а также как с помощью простенького скрипта можно заставить компьютер реагировать на входящие смс.
Что-то мало телефонов поддерживает gammu. Он же поддерживает только именно те модели, которые указаны в базе данных, то есть указано 6000, то только 6000, и не 6005?
с большой долей вероятности будет поддерживать и 6005. Косяки могут возникнуть если в 6005 используется какой-то совсем новый чипсет, который не поймет программа. Но обычно в одной серии только небольшие модификации.. Ну и еще возможно будет поддерживать но с глюками 🙂
Спасибо! Очень годная статья по настройке именно gammu, нужно было именно через консоль уметь отправлять смс, прtдварительно настроив gammu на сервере. А про wammu в инете и так много чего написано)
Debian 6 2.6.32-5-amd64
Вот что выдает Wammu
У вас нет прав доступа к устройству /dev/ttyUSB0! Возможно, вам нужно быть членом группы dialout.
Сначала посмотрите права на файлик /dev/ttyUSB0.
Выдайте себе права на этот файл, или как советует система станьте членом группы dialout. Файл групп находится в /etc/group.
запускаете командой из терминала
sudo wammi
и будет вам счастье)