Отправка SMS утилитой gammu с модема Huawei E1550 на Ubuntu 16.04
Отправляем SMS (текстовые СМС сообщения) с модема Huawei E1550 на Ubuntu Linux 16.04.
Список девайсов поддерживаемых Gammu: http://wammu.eu/phones/
Проверим подключение USB модема к серверу/ноуту:
lsusb
Ищем запись похожую на эту:
Bus 003 Device 016: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Примечание
Попробуйте передернуть модем, если система определила модем как:
Bus 003 Device 016: ID 12d1:1446 Huawei Technologies Co., Ltd. Broadband stick (modem on)
Проверьте какие ttyUSB порты доступны:
ls /dev/ttyUSB*
dmesg | grep tty
Установка gammu
Ставим утилиту gammu (в репозитории Ubuntu 16.04 доступна версия: Gammu version 1.37.0):
sudo apt install gammu # [Gammu version 1.37.0]
* На RaspberryPi устанавливается версия 1.33.0.
Конфигурация gammo
Запустите мастер конфигурации для регистрации пути к основному файлу настроек (потом подправим этот файл вручную).
gammu-config
Мастер настройки утилиты gammu (шаг 1)
Установка дефолтного файла конфигурации (шаг 2)
Запускаем утилиту идентификации модема:
sudo gammu identify
Если все хорошо - видим модель нашего "хуавэя":
Устройство : /dev/ttyUSB0
Производитель : Huawei
Модель : E1550 (E1550)
Прошивка : 11.608.14.11.222
IMEI : 359124036500000
Номер SIM IMSI : 255061025200000
Можно подредактировать файл настроек ~/.gammurc:
touch ~/.gammurc
[gammu]
port = /dev/ttyUSB0
connection = at
name = Huawei E1550
logfile = /tmp/gammu.log
logformat = textall
Читаем сообщения с модема?
gammu getallsms
# 0 SMS parts in 0 SMS sequences
Пробуем отправить SMS:
gammu sendsms TEXT '+380670000000' -unicode -report -text 'СМС отправленно с модема :)'
Возможно вам нужно будет запустить gammu под root'ом, указать путь к файлу конфигурации и секцию настроек:
sudo gammu -c ~/.gammurc -s 0 getallsms
Примечание
Возможные ошибки:
- Warning: Не найден конфигурационный файл, используются настройки по умолчанию! - эта ошибка время от времени появляется, но это не всегда означает, что что-то не работает. Чтобы избавиться от этой ошибки - пройдите по мастеру-настроек до конца (gammu-config), чтобы зарегистрировать основной файл настроек. Можете не заморачиваться с самим настройками, после мастера мы отредактируем конфиг ~/.gammurc вручную.
- Ошибка открытия устройства: его не существует. - проверьте параметры настроек в файле ~/.gammurc (port, connection).
- Ошибка подключения к устройству: у вас нет прав доступа. - используйте sudo или см. статью Выполнение USSD запросов на модеме Huawei E1550.
Внимание!
Чтобы использовать gammo без sudo
- установите права на устройство, к которому подключен модем:
sudo chmod -R 777 /dev/ttyUSB*
При каждом подключении модема нужно задавать права!
Или установите пакет modemmanager и добавьте себя в группу dialout:
sudo apt-get remove modemmanager
sudo usermod -a -G dialout $USER
Расширенная настройка
Настройка БД для демона SMSD
См.: https://wammu.eu/docs/manual/quick/index.html#starting-with-smsd
device = com3:
connection = at115200
service = SQL
PIN = 1234
logfile = smsdlog
debuglevel = 255
user = root
password =
host = localhost
database = gammu
driver = native_mysql
Удаленное SSH подключение
[gammu1]
device = ssh root@my.router /myscript.sh /dev/ttyUSB0
connection = proxyat
Команды gammu
Опции конфигурации и отладки при запуске утилиты gammu:
-c, --config ~/.gammurc # путь к файлу настроек
-s <N> # задать номер секции конфигурации (профиль) из файла ~/.gammurc
Справка по командам
Получить справку по разделу:
gammu --help call
gammu --help sms
Важные справочные разделы:
call - Вызовы
sms - SMS и EMS
mms - Настройки MMS
memory - Память (записные книжки и вызовы)
network - Сеть
info - Информация о телефоне
settings - Настройки телефона
gammu - Gammu information
SMS
Справка по SMS командам: https://wammu.eu/docs/manual/gammu/index.html#sms-commands
Отправить SMS с отчетом о доставке:
gammu sendsms TEXT "+380670000000" -unicode -report -text 'sms text message'
Отправляется SMS 1/1...ожидается ответ сети..OK, ссылка на сообщение=3
Sending SMS 1/1....waiting for network answer..OK, message reference=3
Получить все СМС:
gammu getallsms
Размещение 1, каталог "Входящие", SIM memory, Inbox folder
SMS status report
Состояние : Прочитанные
Remote number : "+380670000000"
Reference number : 3
Отправленные : Пн 01 май 2017 16:41:14 +0300
SMSC number : "+380630000007"
SMSC response : Пн 01 май 2017 16:41:21 +0300
Delivery status : Delivered
Details : SM получено через SME
Размещение 2, каталог "Входящие", SIM memory, Inbox folder
SMS status report
Состояние : Не прочитано
Remote number : "+380670000000"
Reference number : 4
Отправленные : Вт 02 май 2017 00:06:05 +0300
SMSC number : "+380630000007"
SMSC response : Вт 02 май 2017 00:06:12 +0300
Delivery status : Delivered
Details : SM получено через SME
3 SMS parts in 3 SMS sequences
Получить папки с сообщениями:
gammu getsmsfolders
1. " Входящие", память SIM, папка Входящие
2. " Исходящие", память SIM, папка Исходящие
3. " Входящие", память телефона, папка Входящие
4. " Исходящие", память телефона, папка Исходящие
Другие значимые команды:
gammu getsmsfolder
gammu getallsms
gammu deleteallsms folder-number
USSD запросы
Проверить баланс:
gammu getussd *121#
Полные список команд (прием звонков, отправка смс, проверка баланса и прочее USSD запросы): https://wammu.eu/docs/manual/gammu/index.html#call-commands
Внимание!
Утилита gammu не умеет работать с USSD запросами на модеме Huawei E1550! См. статью Выполнение USSD запросов на модеме Huawei E1550.
Служебные команды
Получить информацию о состоянии модема/телефона (режим наблюдения):
gammu monitor 1
Включается режим наблюдения...
Включить информацию о входящих SMS : Нет ошибки.
Включить информацию о входящих CB : Нет ошибки.
Включить информацию о вызовах : Нет ошибки.
Включить информацию о USSD : Нет ошибки.
SIM phonebook : 4 used, 96 free
Own numbers : 0 used, 1 free
Уровень заряда аккумулятора : 0 процента(ов)
Состояние зарядки : аккумулятор подключён и заряжается
Уровень сигнала : -107 dBm
Уровень сигнала сети : 9 процента(ов)
Состояние SIM SMS : 1 использовано, 0 unread, 10 расположений
SMS статус : 0 использовано, 0 unread, 23 расположений
Сеть : 255 06 (life:), Ukraine), LAC 3140, CID 575
Состояние пакета сети : домашняя сеть
Пакетная сеть : 255 06 (life:), Ukraine), LAC 3140, CID 575
Имя в телефоне : "lifecell"
GPRS : attached
Выход из режима наблюдения...
Отправить AT команду и получить скриншот (пример команды):
printf 'AT*EKEY=7,":J",2,"*",2,"1",2,"0",2,"0",2,"#",2,":J",2\r' > /dev/ttyUSB2
gammu screenshot test
Логи и отладка
Формат и уровень детализации логов и ошибок: https://wammu.eu/docs/manual/config/index.html#option-LogFormat
Опции отладки при запуске gammu:
-d, --debug <level> debug level
-f, --debug-file <file> file for logging debug messages
#3g, #huawei E1550, #sms